After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 132468 - player segfaults at end of any avi play in colorspace convertion fct
player segfaults at end of any avi play in colorspace convertion fct
Status: VERIFIED INCOMPLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins
git master
Other Linux
: Normal normal
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2004-01-25 14:55 UTC by Stephane Loeuillet
Modified: 2009-08-15 18:40 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Stephane Loeuillet 2004-01-25 14:55:55 UTC
time tick 203945500000
 
Program received signal SIGSEGV, Segmentation fault.

Thread 32771 (LWP 32115)

  • #0 yuv420p_to_rgba32
    at imgconvert_template.h line 43
  • #1 img_convert
    at ffmpeg/libavcodec/imgconvert.c line 1682
  • #2 gst_ffmpegcsp_chain
    at gstffmpegcolorspace.c line 364
  • #3 gst_opt_scheduler_chain_wrapper
    at gstoptimalscheduler.c line 1158
  • #4 gst_pad_push
    at gstpad.c line 2851
  • #5 gst_videofilter_chain
    at gstvideofilter.c line 311
  • #6 gst_opt_scheduler_chain_wrapper
    at gstoptimalscheduler.c line 1158
  • #7 gst_pad_push
    at gstpad.c line 2851
  • #8 gst_ffmpegcsp_chain
    at gstffmpegcolorspace.c line 374
  • #9 gst_opt_scheduler_chain_wrapper
    at gstoptimalscheduler.c line 1158
  • #10 gst_pad_push
    at gstpad.c line 2851
  • #11 gst_switch_loop
    at gstswitch.c line 209
  • #12 loop_group_schedule_function
    at gstoptimalscheduler.c line 997
  • #13 schedule_group
    at gstoptimalscheduler.c line 842
  • #14 gst_opt_scheduler_schedule_run_queue
    at gstoptimalscheduler.c line 881
  • #15 schedule_chain
    at gstoptimalscheduler.c line 925
  • #16 gst_opt_scheduler_iterate
    at gstoptimalscheduler.c line 2068
  • #17 gst_scheduler_iterate
    at gstscheduler.c line 705
  • #18 gst_bin_iterate_func
    at gstbin.c line 1080
  • #19 gst_marshal_BOOLEAN__VOID
    at gstmarshal.c line 394
  • #20 g_type_class_meta_marshal
    from /usr/lib/libgobject-2.0.so.0
  • #21 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #22 signal_emit_unlocked_R
    from /usr/lib/libgobject-2.0.so.0
  • #23 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #24 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #25 gst_bin_iterate
    at gstbin.c line 1119
  • #26 gst_thread_main_loop
    at gstthread.c line 551
  • #27 g_thread_create_proxy
    from /usr/lib/libglib-2.0.so.0
  • #28 pthread_start_thread
    from /lib/libpthread.so.0
  • #29 pthread_start_thread_event
    from /lib/libpthread.so.0
  • #30 clone
    from /lib/libc.so.6

Comment 1 Stephane Loeuillet 2004-01-25 15:35:54 UTC
retried with basicgthread did the same crash even if the back-trace is
smaller :

(gdb) f 0
  • #0 yuv420p_to_rgba32
    at imgconvert_template.h line 43
$1 = {data = {0x43a98008 "", 0x0, 0x0, 0x0}, linesize = {2048, 0, 0, 0}}
(gdb) p *src
$2 = {data = {0x0, 0x30000 <Address 0x30000 out of bounds>, 0x3c000
<Address 0x3c000 out of bounds>, 0x0}, linesize = {512, 256, 256, 0}}

file uploaded there :
http://www.leroutier.net/Comme.des.connards.avi

it is an xvid avi
got the crash with another xvid avi too
Comment 2 Ronald Bultje 2004-01-25 15:41:58 UTC
(gdb) p *src
$2 = {data = {0x0,

That tells me input data is NULL, which should never happen. So
probably a decoder bug.
Comment 3 Stephane Loeuillet 2004-01-25 15:52:21 UTC
problem traced back to divxdec

ffdec_mpeg4 & xviddec do not segfault. divxdec does

gst-launch-0.7 filesrc
location=/mnt/windows/D/Zarbi/gstreamer/supported/riff-avi/xvid/Les.conards.-.Comme.des.connards.avi
 ! avidemux ! divxdec ! fakesink avidemux0. ! mad ! fakesink
RUNNING pipeline ...
Execution ended after 10198 iterations (sum 3975717000 ns, average
389852 ns, min 14000 ns, max 201575000 ns).
 
** (process:867): WARNING **: opt: unlink elements in same group:
implement me
 
(process:867): GLib-GObject-WARNING **: invalid uninstantiatable type
`<invalid>' in cast to `GstObject'
 
(process:867): GLib-GObject-WARNING **: invalid uninstantiatable type
`<invalid>' in cast to `GstElement'
Erreur de segmentation

== Seg-fault
Comment 4 Ronald Bultje 2004-01-25 16:02:58 UTC
Afaik, that's an opt bug. Please try --gst-scheduler=basicgthread or
basicgthreads (forgot which one).
Comment 5 Stephane Loeuillet 2004-01-25 16:52:13 UTC
gst-launch-0.7 --gst-scheduler=basicgthread   filesrc
location=/mnt/windows/D/Zarbi/gstreamer/supported/riff-avi/xvid/Les.conards.-.Comme.des.connards.avi
! avidemux ! divxdec ! fakesink avidemux0. ! mad ! fakesink
RUNNING pipeline ...
Execution ended after 8491 iterations (sum 4309942000 ns, average
507589 ns, min 5000 ns, max 181407000 ns).
 
(process:1986): GLib-GObject-WARNING **: invalid uninstantiatable type
`<invalid>' in cast to `GstObject'
 
(process:1986): GStreamer-CRITICAL **: file gstelement.c: line 3149
(gst_element_get_scheduler): assertion `GST_IS_ELEMENT (element)' failed
 
(process:1986): GLib-GObject-WARNING **: invalid cast from `(null)' to
`GstObject'
 
(process:1986): GStreamer-CRITICAL **: file gstelement.c: line 3149
(gst_element_get_scheduler): assertion `GST_IS_ELEMENT (element)' failed
Comment 6 Ronald Bultje 2004-03-09 04:32:05 UTC
Stephane, can you still reproduce this?
Comment 7 Stephane Loeuillet 2004-03-09 13:54:34 UTC
i retried gst-player with the video i uploaded before and it does not
crash anymore at the end of the video.

optsched fixed ?

only warnings i had were at the start :
 
(gst-player:16882): GStreamer-CRITICAL **: file gsttag.c: line 813
(gst_tag_list_foreach): assertion `GST_IS_TAG_LIST (list)' failed
 
(gst-player:16882): GStreamer-CRITICAL **: file gsttag.c: line 631
(gst_tag_list_free): assertion `GST_IS_TAG_LIST (list)' failed
 
(gst-player:16882): GStreamer-CRITICAL **: file gsttag.c: line 813
(gst_tag_list_foreach): assertion `GST_IS_TAG_LIST (list)' failed
 
(gst-player:16882): GStreamer-CRITICAL **: file gsttag.c: line 631
(gst_tag_list_free): assertion `GST_IS_TAG_LIST (list)' failed
 
(gst-player:16882): GStreamer-CRITICAL **: file gsttag.c: line 813
(gst_tag_list_foreach): assertion `GST_IS_TAG_LIST (list)' failed
 
(gst-player:16882): GStreamer-CRITICAL **: file gsttag.c: line 631
(gst_tag_list_free): assertion `GST_IS_TAG_LIST (list)' failed


but it is not related. so, closing this bug

thx
Comment 8 Stephane Loeuillet 2004-03-09 13:59:04 UTC
argh, what the fuck !!!

well, technically, it did not crash (no segfault, still running)
but the window is now no more updated and no more redrawn, so it is
stalled.

Comment 9 Stephane Loeuillet 2004-03-09 14:02:30 UTC
trying with gst-launch and 2 != schedulers :

root@leroutier58 leroutier # gst-launch-0.7
--gst-scheduler=basicgthread   filesrc
location=/mnt/windows/M2/Audio/Musique/Michael\ Youn/Les\
Connards/Les.conards.-.Comme.des.connards.avi ! avidemux ! divxdec !
fakesink avidemux0. ! mad ! fakesink
EXECUTION du tube en cours ...
Execution ended after 8492 iterations (sum 4821180000 ns, average
567731 ns, min 4000 ns, max 111883000 ns).
 
(process:17523): GLib-GObject-WARNING **: invalid uninstantiatable
type `<invalid>' in cast to `GstObject'
 
(process:17523): GStreamer-CRITICAL **: file gstelement.c: line 3167
(gst_element_get_scheduler): assertion `GST_IS_ELEMENT (element)' failed
 
(process:17523): GLib-GObject-WARNING **: invalid cast from `(null)'
to `GstObject'
 
(process:17523): GStreamer-CRITICAL **: file gstelement.c: line 3167
(gst_element_get_scheduler): assertion `GST_IS_ELEMENT (element)' failed
root@leroutier58 leroutier #
root@leroutier58 leroutier #
root@leroutier58 leroutier # gst-launch-0.7  filesrc
location=/mnt/windows/M2/Audio/Musique/Michael\ Youn/Les\
Connards/Les.conards.-.Comme.des.connards.avi ! avidemux ! divxdec !
fakesink avidemux0. ! mad ! fakesink
EXECUTION du tube en cours ...
Execution ended after 10198 iterations (sum 3408580000 ns, average
334240 ns, min 13000 ns, max 94694000 ns).
 
** (process:17531): WARNING **: opt: unlink elements in same group:
implement me
 
(process:17531): GLib-GObject-WARNING **: invalid uninstantiatable
type `<invalid>' in cast to `GstObject'
 
(process:17531): GStreamer-CRITICAL **: file gstelement.c: line 3167
(gst_element_get_scheduler): assertion `GST_IS_ELEMENT (element)' failed
 
(process:17531): GLib-GObject-WARNING **: invalid uninstantiatable
type `<invalid>' in cast to `GstObject'
 
(process:17531): GStreamer-CRITICAL **: file gstelement.c: line 3167
(gst_element_get_scheduler): assertion `GST_IS_ELEMENT (element)' failed
Comment 10 Ronald Bultje 2004-04-29 01:27:50 UTC
Is this still reproduceable?
Comment 11 Ronald Bultje 2004-10-01 12:42:01 UTC
The file gives me a 404. I still don't know if I can mark this fixed. ;).
Comment 12 Christian Fredrik Kalager Schaller 2004-12-07 23:48:04 UTC
Nothing heard so marking as fixed.