[gstreamer-bugs] [Bug 578494] decodebin being racy when decoding ogg/vorbis and flac files

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Sat Apr 11 04:45:51 PDT 2009


If you have any questions why you received this email, please see the text at
the end of this email. Replies to this email are NOT read, please see the text
at the end of this email. You can add comments to this bug at:
  http://bugzilla.gnome.org/show_bug.cgi?id=578494

  GStreamer | don't know | Ver: 0.10.22




------- Comment #3 from Philippe Normand  2009-04-11 11:47 UTC -------
gist-bisect pointed out
http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=a53866ddc1bec3ebccc13dedfaefb6a94b1d381f
as being the one triggering the bug, reverting it partially fixes the issue.

Now with both flac and ogg files I get a deadlock (this one is with flac):

Thread 3 (Thread 0xb743cb90 (LWP 6457)):
#0  0xb7f69430 in __kernel_vsyscall ()
#1  0xb7f3fcf9 in __lll_lock_wait () from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb7f3b129 in _L_lock_89 () from /lib/tls/i686/cmov/libpthread.so.0
#3  0xb7f3aa32 in pthread_mutex_lock () from /lib/tls/i686/cmov/libpthread.so.0
#4  0xb7bca701 in IA__g_static_rec_mutex_lock (mutex=0x9718ce8) at
/build/buildd/glib2.0-2.20.1/glib/gthread.c:313
#5  0xb76f0065 in gst_pad_get_range (pad=0x97181c0, offset=0, size=8192,
buffer=0xb743c158) at gstpad.c:4287
#6  0xb76f078d in gst_pad_pull_range (pad=0x9718040, offset=0, size=8192,
buffer=0xb743c158) at gstpad.c:4434
#7  0xb753cd39 in gst_type_find_element_getrange (srcpad=0x9718100, offset=0,
length=8192, buffer=0xb743c158) at gsttypefindelement.c:782
#8  0xb76f01a5 in gst_pad_get_range (pad=0x9718100, offset=0, size=8192,
buffer=0xb743c158) at gstpad.c:4304
#9  0xb76f078d in gst_pad_pull_range (pad=0x9834800, offset=0, size=8192,
buffer=0xb743c158) at gstpad.c:4434
#10 0xb76e02e2 in gst_proxy_pad_do_getrange (pad=0x9835070, offset=0,
size=8192, buffer=0xb743c158) at gstghostpad.c:205
#11 0xb76f01a5 in gst_pad_get_range (pad=0x9835070, offset=0, size=8192,
buffer=0xb743c158) at gstpad.c:4304
#12 0xb76f078d in gst_pad_pull_range (pad=0x9718280, offset=0, size=8192,
buffer=0xb743c158) at gstpad.c:4434
#13 0xb753cd39 in gst_type_find_element_getrange (srcpad=0x9718340, offset=0,
length=8192, buffer=0xb743c158) at gsttypefindelement.c:782
#14 0xb76f01a5 in gst_pad_get_range (pad=0x9718340, offset=0, size=8192,
buffer=0xb743c158) at gstpad.c:4304
#15 0xb76f078d in gst_pad_pull_range (pad=0x9718400, offset=0, size=8192,
buffer=0xb743c158) at gstpad.c:4434
#16 0xb74e84d2 in gst_flac_dec_read_seekable (decoder=0x9853090,
buffer=0x98556d8 "", bytes=0xb743c1c8, client_data=0x9852010) at
gstflacdec.c:777
#17 0xb7479bf6 in ?? () from /usr/lib/libFLAC.so.8
#18 0xb744cc69 in bitreader_read_from_client_ () from /usr/lib/libFLAC.so.8
#19 0xb744ceb5 in FLAC__bitreader_read_raw_uint32 () from /usr/lib/libFLAC.so.8
#20 0xb747bc28 in ?? () from /usr/lib/libFLAC.so.8
#21 0xb747eeef in FLAC__stream_decoder_process_single () from
/usr/lib/libFLAC.so.8
#22 0xb74e68f2 in gst_flac_dec_loop (sinkpad=0x9718400) at gstflacdec.c:1069
#23 0xb77142d3 in gst_task_func (task=0x9834070, tclass=0x96d1638) at
gsttask.c:172
#24 0xb7bcbe26 in g_thread_pool_thread_proxy (data=0x96d16c8) at
/build/buildd/glib2.0-2.20.1/glib/gthreadpool.c:265
#25 0xb7bca7bf in g_thread_create_proxy (data=0x9853140) at
/build/buildd/glib2.0-2.20.1/glib/gthread.c:635
#26 0xb7f394ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#27 0xb7e6f49e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 2 (Thread 0xb6c3bb90 (LWP 6458)):
#0  0xb7f69430 in __kernel_vsyscall ()
#1  0xb7f3fcf9 in __lll_lock_wait () from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb7f3b129 in _L_lock_89 () from /lib/tls/i686/cmov/libpthread.so.0
#3  0xb7f3aa32 in pthread_mutex_lock () from /lib/tls/i686/cmov/libpthread.so.0
#4  0xb7bca701 in IA__g_static_rec_mutex_lock (mutex=0x96f8f18) at
/build/buildd/glib2.0-2.20.1/glib/gthread.c:313
#5  0xb76f6933 in gst_pad_send_event (pad=0x9718400, event=0x96b3028) at
gstpad.c:4708
#6  0xb76f7005 in gst_pad_push_event (pad=0x9718340, event=0x96b3028) at
gstpad.c:4577
#7  0xb753d326 in gst_type_find_element_handle_event (pad=0x9718280,
event=0x96b3028) at gsttypefindelement.c:550
#8  0xb76f68ac in gst_pad_send_event (pad=0x9718280, event=0x96b3028) at
gstpad.c:4721
#9  0xb76f7005 in gst_pad_push_event (pad=0x9835070, event=0x96b3028) at
gstpad.c:4577
#10 0xb76e242d in gst_proxy_pad_do_event (pad=0x9834800, event=0x96b3028) at
gstghostpad.c:128
#11 0xb76f68ac in gst_pad_send_event (pad=0x9834800, event=0x96b3028) at
gstpad.c:4721
#12 0xb76f7005 in gst_pad_push_event (pad=0x9718100, event=0x96b3028) at
gstpad.c:4577
#13 0xb753d326 in gst_type_find_element_handle_event (pad=0x9718040,
event=0x96b3028) at gsttypefindelement.c:550
#14 0xb76f68ac in gst_pad_send_event (pad=0x9718040, event=0x96b3028) at
gstpad.c:4721
#15 0xb76f7005 in gst_pad_push_event (pad=0x97181c0, event=0x96b3028) at
gstpad.c:4577
#16 0xb7772e4f in gst_base_src_loop (pad=0x97181c0) at gstbasesrc.c:2203
#17 0xb77142d3 in gst_task_func (task=0x9834020, tclass=0x96d1638) at
gsttask.c:172
#18 0xb7bcbe26 in g_thread_pool_thread_proxy (data=0x96d16c8) at
/build/buildd/glib2.0-2.20.1/glib/gthreadpool.c:265
#19 0xb7bca7bf in g_thread_create_proxy (data=0x97d97f8) at
/build/buildd/glib2.0-2.20.1/glib/gthread.c:635
#20 0xb7f394ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#21 0xb7e6f49e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 1 (Thread 0xb7d896c0 (LWP 6455)):
#0  0xb7f69430 in __kernel_vsyscall ()
#1  0xb7e64ae7 in poll () from /lib/tls/i686/cmov/libc.so.6
#2  0xb7bb074b in IA__g_poll (fds=0x9853168, nfds=2, timeout=-1) at
/build/buildd/glib2.0-2.20.1/glib/gpoll.c:127
#3  0xb7ba2f82 in g_main_context_iterate (context=0x9814e60, block=1,
dispatch=1, self=0x96a1dd8) at /build/buildd/glib2.0-2.20.1/glib/gmain.c:2761
#4  0xb7ba35ba in IA__g_main_loop_run (loop=0x96d5378) at
/build/buildd/glib2.0-2.20.1/glib/gmain.c:2656
#5  0xb7f5ee44 in ?? () from
/var/lib/python-support/python2.6/gtk-2.0/glib/_glib.so
#6  0x080de7dc in PyEval_EvalFrameEx ()
#7  0x080e00b8 in PyEval_EvalCodeEx ()
---Type <return> to continue, or q <return> to quit---
#8  0x080e0217 in PyEval_EvalCode ()
#9  0x080fe0e1 in PyRun_FileExFlags ()
#10 0x080fe43a in PyRun_SimpleFileExFlags ()
#11 0x0805c882 in Py_Main ()
#12 0x0805b972 in main ()
#0  0xb7f69430 in __kernel_vsyscall ()


-- 
See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received
this email, why you can't respond via email, how to stop receiving
emails (or reduce the number you receive), and how to contact someone
if you are having problems with the system.

You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=578494.




More information about the Gstreamer-bugs mailing list