[Bug 678220] New: [0.10] playbin2: deadlock in totem

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Sat Jun 16 11:25:20 PDT 2012


https://bugzilla.gnome.org/show_bug.cgi?id=678220
  GStreamer | gst-plugins-base | 0.10.x

           Summary: [0.10] playbin2: deadlock in totem
    Classification: Platform
           Product: GStreamer
           Version: 0.10.x
        OS/Version: Linux
            Status: NEW
          Severity: blocker
          Priority: Normal
         Component: gst-plugins-base
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: t.i.m at zen.co.uk
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


0.10 from git. Second time in half an hour that totem deadlocks on me. I think
it's on a song change. Stack trace is this:


(gdb) thread apply all bt

Thread 7 (Thread 0x7fd1fcfb0700 (LWP 3993)):
#0  0x00007fd20822ccc3 in *__GI___poll (fds=<optimized out>, nfds=<optimized
out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fd20874c606 in g_main_context_poll (n_fds=3, fds=0x1cd0820,
timeout=-1, context=0x1cd0890, priority=<optimized out>) at gmain.c:3417
#2  g_main_context_iterate (dispatch=1, block=<optimized out>,
context=0x1cd0890, self=<optimized out>) at gmain.c:3118
#3  g_main_context_iterate (context=0x1cd0890, block=<optimized out>,
dispatch=1, self=<optimized out>) at gmain.c:3060
#4  0x00007fd20874ca6a in g_main_loop_run (loop=0x1cd0840) at gmain.c:3317
#5  0x00007fd20af501f6 in gdbus_shared_thread_func (user_data=0x1cd0860) at
gdbusprivate.c:277
#6  0x00007fd20876dc95 in g_thread_proxy (data=0x1ccc8a0) at gthread.c:801
#7  0x00007fd2084ecb50 in start_thread (arg=<optimized out>) at
pthread_create.c:304
#8  0x00007fd20823790d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#9  0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7fd1e6f2c700 (LWP 4002)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at
../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fd20878781f in g_cond_wait (cond=0x2b9b370, mutex=<optimized out>)
at gthread-posix.c:746
#2  0x00007fd1f1e2aba5 in gst_queue_loop (pad=<optimized out>) at
gstqueue.c:1252
#3  0x00007fd20df50dcc in gst_task_func (task=0x2708e40) at gsttask.c:328
#4  0x00007fd20876e4f8 in g_thread_pool_thread_proxy (data=<optimized out>) at
gthreadpool.c:309
#5  0x00007fd20876dc95 in g_thread_proxy (data=0x2abd720) at gthread.c:801
#6  0x00007fd2084ecb50 in start_thread (arg=<optimized out>) at
pthread_create.c:304
#7  0x00007fd20823790d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#8  0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7fd1e62ba700 (LWP 4003)):
#0  __lll_lock_wait () at
../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:136
#1  0x00007fd2084ef354 in _L_lock_997 () from
/lib/x86_64-linux-gnu/libpthread.so.0
#2  0x00007fd2084ef1b7 in __pthread_mutex_lock (mutex=0x260fe00) at
pthread_mutex_lock.c:82
#3  0x00007fd208720d51 in g_static_rec_mutex_lock (mutex=0x25b16b8) at
deprecated/gthread-deprecated.c:712
#4  0x00007fd1f2063eaf in gst_play_bin_get_property (object=0x25b1530,
prop_id=<optimized out>, value=0x7fd1e62b8840, pspec=0x24b7d80) at
gstplaybin2.c:2238
#5  0x00007fd20925400e in object_get_property (value=0x7fd1e62b8840,
pspec=<optimized out>, object=0x25b1530) at gobject.c:1289
#6  g_object_get_valist (object=0x25b1530, first_property_name=<optimized out>,
var_args=0x7fd1e62b88a8) at gobject.c:2014
#7  0x00007fd209254467 in g_object_get (_object=0x25b1530,
first_property_name=0x7fd20e21babb "current-audio") at gobject.c:2104
#8  0x00007fd20e2045a2 in audio_tags_changed_cb (playbin2=<optimized out>,
stream_id=0, user_data=<optimized out>) at bacon-video-widget-gst-0.10.c:1754
#9  0x00007fd20924e759 in g_cclosure_marshal_VOID__INTv (closure=<optimized
out>, return_value=<optimized out>, instance=<optimized out>, args=<optimized
out>, marshal_data=<optimized out>, n_params=<optimized out>, 
    param_types=0x25af550) at gmarshal.c:410
#10 0x00007fd20924c5ea in _g_closure_invoke_va (closure=0x25c9660,
return_value=0x0, instance=0x25b1530, args=0x7fd1e62b8c98, n_params=1,
param_types=<optimized out>) at gclosure.c:840
#11 0x00007fd209264d61 in g_signal_emit_valist (instance=0x25b1530,
signal_id=<optimized out>, detail=0, var_args=<optimized out>) at
gsignal.c:3207
#12 0x00007fd209265872 in g_signal_emit (instance=<optimized out>,
signal_id=<optimized out>, detail=<optimized out>) at gsignal.c:3352
#13 0x00007fd20924c3c2 in g_closure_invoke (closure=0x317e770,
return_value=0x0, n_param_values=2, param_values=0x7fd1e62b8f40,
invocation_hint=<optimized out>) at gclosure.c:777
#14 0x00007fd20925d411 in signal_emit_unlocked_R (node=<optimized out>,
detail=1475, instance=<optimized out>, emission_return=0x0,
instance_and_params=0x7fd1e62b8f40) at gsignal.c:3547
#15 0x00007fd2092656d2 in g_signal_emit_valist (instance=0x2c21680,
signal_id=<optimized out>, detail=1475, var_args=<optimized out>) at
gsignal.c:3296
#16 0x00007fd209265872 in g_signal_emit (instance=<optimized out>,
signal_id=<optimized out>, detail=<optimized out>) at gsignal.c:3352
#17 0x00007fd209251027 in g_object_dispatch_properties_changed
(object=0x2c21680, n_pspecs=1, pspecs=0x7fd1e62b9308) at gobject.c:1041
#18 0x00007fd20def3a23 in gst_object_dispatch_properties_changed
(object=0x2c21680, n_pspecs=1, pspecs=0x7fd1e62b9308) at gstobject.c:530
#19 0x00007fd209252903 in g_object_notify_by_spec_internal (pspec=0x2c93ad0,
object=0x2c21680) at gobject.c:1133
#20 g_object_notify (object=0x2c21680, property_name=<optimized out>) at
gobject.c:1175
#21 0x00007fd1f1e23440 in gst_selector_pad_event (pad=0x2c21680,
event=0x2a23c50) at gstinputselector.c:573
#22 0x00007fd20df2b2e2 in gst_pad_send_event (pad=0x2c21680, event=0x2a23c50)
at gstpad.c:5432
#23 0x00007fd20df2b912 in gst_pad_push_event (pad=0x7fd1f800b880,
event=0x2a23c50) at gstpad.c:5280
#24 0x00007fd20df1498e in gst_proxy_pad_event_default (pad=<optimized out>,
event=0x2a23c50) at gstghostpad.c:129
#25 0x00007fd20df2b2e2 in gst_pad_send_event (pad=0x2f06530, event=0x2a23c50)
at gstpad.c:5432
#26 0x00007fd20df2b912 in gst_pad_push_event (pad=0x2cd72e0, event=0x2a23c50)
at gstpad.c:5280
#27 0x00007fd20df1498e in gst_proxy_pad_event_default (pad=<optimized out>,
event=0x2a23c50) at gstghostpad.c:129
#28 0x00007fd20df2b2e2 in gst_pad_send_event (pad=0x2f06a10, event=0x2a23c50)
at gstpad.c:5432
#29 0x00007fd20df2b912 in gst_pad_push_event (pad=0x25c1c60, event=0x2a23c50)
at gstpad.c:5280
#30 0x00007fd206d3ce7f in gst_audio_decoder_finish_frame (dec=0x342e000,
buf=0x7fd1f80edb30, frames=1) at gstaudiodecoder.c:793
#31 0x00007fd1e79aa390 in gst_mad_handle_frame (dec=0x342e000,
buffer=<optimized out>) at gstmad.c:491
#32 0x00007fd206d38d05 in gst_audio_decoder_push_buffers (dec=0x342e000,
force=0) at gstaudiodecoder.c:1044
#33 0x00007fd206d39160 in gst_audio_decoder_chain_forward (dec=0x342e000,
buffer=0x0) at gstaudiodecoder.c:1146
#34 0x00007fd206d3b828 in gst_audio_decoder_chain (pad=<optimized out>,
buffer=0x7fd1f806cf00) at gstaudiodecoder.c:1394
#35 0x00007fd20df2a50a in gst_pad_push (pad=0x2cef210, buffer=0x7fd1f806cf00)
at gstpad.c:4710
#36 0x00007fd20763896d in gst_base_parse_push_frame (parse=0x319db00,
frame=0x7fd1e62b9ae0) at gstbaseparse.c:1967
#37 0x00007fd20763990e in gst_base_parse_handle_and_push_frame
(parse=0x319db00, frame=0x7fd1e62b9ae0, klass=<optimized out>) at
gstbaseparse.c:1773
#38 0x00007fd20763bf95 in gst_base_parse_loop (pad=<optimized out>) at
gstbaseparse.c:2805
#39 0x00007fd20df50dcc in gst_task_func (task=0x28ff600) at gsttask.c:328
#40 0x00007fd20876e4f8 in g_thread_pool_thread_proxy (data=<optimized out>) at
gthreadpool.c:309
#41 0x00007fd20876dc95 in g_thread_proxy (data=0x2cfded0) at gthread.c:801
#42 0x00007fd2084ecb50 in start_thread (arg=<optimized out>) at
pthread_create.c:304
#43 0x00007fd20823790d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#44 0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7fd1ed3d4700 (LWP 5955)):
#0  0x00007fd20822ccc3 in *__GI___poll (fds=<optimized out>, nfds=<optimized
out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fd1f159819f in ?? () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#2  0x00007fd1f15895bc in pa_mainloop_poll () from
/usr/lib/x86_64-linux-gnu/libpulse.so.0
#3  0x00007fd1f1589c29 in pa_mainloop_iterate () from
/usr/lib/x86_64-linux-gnu/libpulse.so.0
#4  0x00007fd1f1589ce0 in pa_mainloop_run () from
/usr/lib/x86_64-linux-gnu/libpulse.so.0
#5  0x00007fd1f159814f in ?? () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#6  0x00007fd1f1140978 in ?? () from
/usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-1.1.so
#7  0x00007fd2084ecb50 in start_thread (arg=<optimized out>) at
pthread_create.c:304
#8  0x00007fd20823790d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#9  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7fd1e83ac700 (LWP 5958)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at
../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fd20878781f in g_cond_wait (cond=0x2a7fd40, mutex=<optimized out>)
at gthread-posix.c:746
#2  0x00007fd1f1e2aba5 in gst_queue_loop (pad=<optimized out>) at
gstqueue.c:1252
#3  0x00007fd20df50dcc in gst_task_func (task=0x29224c0) at gsttask.c:328
#4  0x00007fd20876e4f8 in g_thread_pool_thread_proxy (data=<optimized out>) at
gthreadpool.c:309
#5  0x00007fd20876dc95 in g_thread_proxy (data=0x1e62a30) at gthread.c:801
#6  0x00007fd2084ecb50 in start_thread (arg=<optimized out>) at
pthread_create.c:304
#7  0x00007fd20823790d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#8  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fd1df11c700 (LWP 5959)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at
../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fd20878781f in g_cond_wait (cond=0x2a96780, mutex=<optimized out>)
at gthread-posix.c:746
#2  0x00007fd1f1e2aba5 in gst_queue_loop (pad=<optimized out>) at
gstqueue.c:1252
#3  0x00007fd20df50dcc in gst_task_func (task=0x2922ac0) at gsttask.c:328
#4  0x00007fd20876e4f8 in g_thread_pool_thread_proxy (data=<optimized out>) at
gthreadpool.c:309
#5  0x00007fd20876dc95 in g_thread_proxy (data=0x7fd1e011ee30) at gthread.c:801
#6  0x00007fd2084ecb50 in start_thread (arg=<optimized out>) at
pthread_create.c:304
#7  0x00007fd20823790d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#8  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fd20e5f59c0 (LWP 3979)):
#0  __lll_lock_wait () at
../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:136
#1  0x00007fd2084ef36f in _L_lock_1145 () from
/lib/x86_64-linux-gnu/libpthread.so.0
#2  0x00007fd2084ef2ba in __pthread_mutex_lock (mutex=0x32575b0) at
pthread_mutex_lock.c:101
#3  0x00007fd208787591 in g_mutex_lock (mutex=<optimized out>) at
gthread-posix.c:208
#4  0x00007fd1f1e1f01d in gst_input_selector_get_linked_pad
(sel=0x7fd1f8005b90, pad=0x7fd1e08993b0, strict=1) at gstinputselector.c:1760
#5  0x00007fd1f1e20591 in gst_input_selector_query (pad=0x7fd1e08993b0,
query=0x7fd1e0807dc0) at gstinputselector.c:1810
#6  0x00007fd20df1421e in gst_proxy_pad_query_default (pad=<optimized out>,
query=0x7fd1e0807dc0) at gstghostpad.c:158
#7  0x00007fd20df27853 in gst_pad_dispatcher (pad=0x27e7990,
dispatch=0x7fd20df21ef0 <gst_pad_query>, data=0x7fd1e0807dc0) at gstpad.c:3706
#8  0x00007fd20df1421e in gst_proxy_pad_query_default (pad=<optimized out>,
query=0x7fd1e0807dc0) at gstghostpad.c:158
#9  0x00007fd1f1e2c41b in gst_queue_handle_src_query (pad=<optimized out>,
query=0x7fd1e0807dc0) at gstqueue.c:1334
#10 0x00007fd20df27a97 in gst_pad_peer_query (pad=0x2e6e210,
query=0x7fd1e0807dc0) at gstpad.c:3810
#11 0x00007fd207651b42 in gst_base_transform_default_query (trans=0x2b7b040,
direction=GST_PAD_SRC, query=0x7fd1e0807dc0) at gstbasetransform.c:1351
#12 0x00007fd2076527de in gst_base_transform_query (pad=0x2e6e390,
query=0x7fd1e0807dc0) at gstbasetransform.c:1372
#13 0x00007fd20df27853 in gst_pad_dispatcher (pad=0x2e6e690,
dispatch=0x7fd20df21ef0 <gst_pad_query>, data=0x7fd1e0807dc0) at gstpad.c:3706
#14 0x00007fd1e715cae6 in gst_audio_resample_query (pad=0x2e6e690,
query=0x7fd1e0807dc0) at gstaudioresample.c:1322
#15 0x00007fd20df27a97 in gst_pad_peer_query (pad=0x7fd1e0899b30,
query=0x7fd1e0807dc0) at gstpad.c:3810
#16 0x00007fd1ef1109ee in gst_goom_src_query (pad=0x27e7690,
query=0x7fd1e0807dc0) at gstgoom.c:450
#17 0x00007fd20df1421e in gst_proxy_pad_query_default (pad=<optimized out>,
query=0x7fd1e0807dc0) at gstghostpad.c:158
#18 0x00007fd20df27a97 in gst_pad_peer_query (pad=0x2e6eb10,
query=0x7fd1e0807dc0) at gstpad.c:3810
#19 0x00007fd1f2087895 in gst_stream_synchronizer_query (pad=<optimized out>,
query=0x7fd1e0807dc0) at gststreamsynchronizer.c:152
#20 0x00007fd20df1421e in gst_proxy_pad_query_default (pad=<optimized out>,
query=0x7fd1e0807dc0) at gstghostpad.c:158
#21 0x00007fd1f1e2c41b in gst_queue_handle_src_query (pad=<optimized out>,
query=0x7fd1e0807dc0) at gstqueue.c:1334
#22 0x00007fd20df1421e in gst_proxy_pad_query_default (pad=<optimized out>,
query=0x7fd1e0807dc0) at gstghostpad.c:158
#23 0x00007fd20df27a97 in gst_pad_peer_query (pad=0x27e7e10,
query=0x7fd1e0807dc0) at gstpad.c:3810
#24 0x00007fd207651b42 in gst_base_transform_default_query (trans=0x2b92eb0,
direction=GST_PAD_SRC, query=0x7fd1e0807dc0) at gstbasetransform.c:1351
#25 0x00007fd2076527de in gst_base_transform_query (pad=0x2a590c0,
query=0x7fd1e0807dc0) at gstbasetransform.c:1372
#26 0x00007fd20df1421e in gst_proxy_pad_query_default (pad=<optimized out>,
query=0x7fd1e0807dc0) at gstghostpad.c:158
#27 0x00007fd20df1421e in gst_proxy_pad_query_default (pad=<optimized out>,
query=0x7fd1e0807dc0) at gstghostpad.c:158
#28 0x00007fd20df27a97 in gst_pad_peer_query (pad=0x25c1360,
query=0x7fd1e0807dc0) at gstpad.c:3810
#29 0x00007fd207651b42 in gst_base_transform_default_query (trans=0x25ea750,
direction=GST_PAD_SRC, query=0x7fd1e0807dc0) at gstbasetransform.c:1351
#30 0x00007fd2076527de in gst_base_transform_query (pad=0x25c14e0,
query=0x7fd1e0807dc0) at gstbasetransform.c:1372
#31 0x00007fd20df27a97 in gst_pad_peer_query (pad=0x25c11e0,
query=0x7fd1e0807dc0) at gstpad.c:3810
#32 0x00007fd207642d3f in default_element_query (element=<optimized out>,
query=0x7fd1e0807dc0) at gstbasesink.c:4899
#33 0x00007fd20def5944 in bin_query_duration_fold (item=0x25c3190,
ret=0x7fff039fd9d0, fold=0x7fff039fd9b0) at gstbin.c:3528
#34 0x00007fd20df1b98e in gst_iterator_fold (it=0x7fd1e07f7c00,
func=0x7fd20def5920 <bin_query_duration_fold>, ret=0x7fff039fd9d0,
user_data=0x7fff039fd9b0) at gstiterator.c:549
#35 0x00007fd20defa3f4 in gst_bin_query (element=0x1cde2e0,
query=0x7fd1e0807dc0) at gstbin.c:3749
#36 0x00007fd20def5944 in bin_query_duration_fold (item=0x1cde2e0,
ret=0x7fff039fdb00, fold=0x7fff039fdae0) at gstbin.c:3528
#37 0x00007fd20df1b98e in gst_iterator_fold (it=0x7fd1e0571c10,
func=0x7fd20def5920 <bin_query_duration_fold>, ret=0x7fff039fdb00,
user_data=0x7fff039fdae0) at gstiterator.c:549
#38 0x00007fd20defa3f4 in gst_bin_query (element=0x1cdea10,
query=0x7fd1e0807dc0) at gstbin.c:3749
#39 0x00007fd20def5944 in bin_query_duration_fold (item=0x1cdea10,
ret=0x7fff039fdc30, fold=0x7fff039fdc10) at gstbin.c:3528
#40 0x00007fd20df1b98e in gst_iterator_fold (it=0x7fd1e06b9340,
func=0x7fd20def5920 <bin_query_duration_fold>, ret=0x7fff039fdc30,
user_data=0x7fff039fdc10) at gstiterator.c:549
#41 0x00007fd20defa3f4 in gst_bin_query (element=0x25b8240,
query=0x7fd1e0807dc0) at gstbin.c:3749
#42 0x00007fd20def5944 in bin_query_duration_fold (item=0x25b8240,
ret=0x7fff039fdd60, fold=0x7fff039fdd40) at gstbin.c:3528
#43 0x00007fd20df1b98e in gst_iterator_fold (it=0x7fd1e0762f10,
func=0x7fd20def5920 <bin_query_duration_fold>, ret=0x7fff039fdd60,
user_data=0x7fff039fdd40) at gstiterator.c:549
#44 0x00007fd20defa3f4 in gst_bin_query (element=0x25b1530,
query=0x7fd1e0807dc0) at gstbin.c:3749
#45 0x00007fd1f205fa21 in gst_play_bin_query (element=0x25b1530,
query=0x7fd1e0807dc0) at gstplaybin2.c:2430
#46 0x00007fd20df5aadc in gst_element_query_duration (element=0x25b1530,
format=0x7fff039fde5c, duration=0x7fff039fde50) at gstutils.c:2336
#47 0x00007fd20e20a5db in bacon_video_widget_get_stream_length (bvw=0x259e180)
at bacon-video-widget-gst-0.10.c:5171
#48 0x00007fd20e20ca98 in bacon_video_widget_get_metadata_int
(value=0x7fff039fdee0, type=BVW_INFO_DURATION, bvw=0x259e180) at
bacon-video-widget-gst-0.10.c:5608
#49 bacon_video_widget_get_metadata (bvw=0x259e180, type=BVW_INFO_DURATION,
value=0x7fff039fdee0) at bacon-video-widget-gst-0.10.c:5784
#50 0x00007fd1eea3236a in ?? ()
#51 0x0000000000000018 in ?? ()
#52 0x0000000000000000 in ?? ()

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list