gst_element_set_state blocked

Tim Müller tim at centricular.com
Mon Jun 9 05:23:04 PDT 2014


On Fri, 2014-06-06 at 21:16 +0800, hustxyj wrote:

Hi,

> With gdb,I found these two interesting stacks:
>  (snip)

Could you file a bug in bugzilla against gst-plugins-good /
directsoudnsink please ? That way it won't get lost. Thanks!

 Cheers
  -Tim

> (gdb) t 1
> 
> [Switching to thread 1 (Thread 3524.0xde8)]
> 
> #0  0x7c92e4f4 in ntdll!KiFastSystemCallRet () from C:\WINDOWS
> \system32\ntdll.dll
> 
> (gdb) bt
> 
> #0  0x7c92e4f4 in ntdll!KiFastSystemCallRet () from C:\WINDOWS
> \system32\ntdll.dll
> 
> #1  0x7c92df3c in ntdll!ZwWaitForSingleObject () from C:\WINDOWS
> \system32\ntdll.dll
> 
> #2  0x7c93b22b in ntdll!RtlpWaitForCriticalSection () from C:\WINDOWS
> \system32\ntdll.dll
> 
> #3  0x7c921046 in ntdll!RtlEnterCriticalSection () from C:\WINDOWS
> \system32\ntdll.dll
> 
> #4  0x0000eec8 in ?? ()
> 
> #5  0x686317ab in g_thread_xp_AcquireSRWLockExclusive
> (mutex=0xa2b3e50) at gthread-win32.c:635
> 
> #6  0x686318b0 in g_mutex_lock (mutex=0xa2b3e50) at
> gthread-win32.c:140
> 
> #7  0x67541baa in gst_directsound_sink_reset (asink=0xa2b3c08) at
> gstdirectsoundsink.c:673
> 
> #8  0x64bad0dc in _fu572___gst_debug_min () at gstaudiosink.c:534
> 
> #9  0x64b84900 in _fu25___gst_debug_min () at gstaudioringbuffer.c:998
> 
> #10 0x64b878d7 in _fu87___gst_debug_min () at
> gstaudioringbuffer.c:1041
> 
> #11 0x64ba7a7c in gst_audio_base_sink_change_state (element=0xa2b3c08,
> transition=GST_STATE_CHANGE_PLAYING_TO_PAUSED) at
> gstaudiobasesink.c:2232
> 
> #12 0x6146af97 in gst_element_change_state
> (element=element at entry=0xa2b3c08,
> transition=transition at entry=GST_STATE_CHANGE_PLAYING_TO_PAUSED) at
> gstelement.c:2599
> 
> #13 0x6146b5e0 in gst_element_set_state_func (element=0xa2b3c08,
> state=GST_STATE_PAUSED) at gstelement.c:2555
> 
> #14 0x6144decb in gst_bin_element_set_state (next=GST_STATE_PAUSED,
> current=GST_STATE_PLAYING, start_time=8934011725,
> base_time=32862639246, element=0xa2b3c08, bin=0x6026bf0) at
> gstbin.c:2323
> 
> #15 gst_bin_change_state_func (element=<optimized out>,
> transition=GST_STATE_CHANGE_PLAYING_TO_PAUSED) at gstbin.c:2660
> 
> #16 0x63f8254b in _fu10___gst_debug_min () at gstautodetect.c:416
> 
> #17 0x6146af97 in gst_element_change_state
> (element=element at entry=0x6026bf0,
> transition=transition at entry=GST_STATE_CHANGE_PLAYING_TO_PAUSED) at
> gstelement.c:2599
> 
> #18 0x6146b5e0 in gst_element_set_state_func (element=0x6026bf0,
> state=GST_STATE_PAUSED) at gstelement.c:2555
> 
> #19 0x6144decb in gst_bin_element_set_state (next=GST_STATE_PAUSED,
> current=GST_STATE_PLAYING, start_time=8934011725,
> base_time=32862639246, element=0x6026bf0, bin=0x1bb9458) at
> gstbin.c:2323
> 
> #20 gst_bin_change_state_func (element=<optimized out>,
> transition=GST_STATE_CHANGE_PLAYING_TO_PAUSED) at gstbin.c:2660
> 
> #21 0x6148b564 in gst_pipeline_change_state (element=0x1bb9458,
> transition=GST_STATE_CHANGE_PLAYING_TO_PAUSED) at gstpipeline.c:469
> 
> #22 0x6146af97 in gst_element_change_state
> (element=element at entry=0x1bb9458,
> transition=transition at entry=GST_STATE_CHANGE_PLAYING_TO_PAUSED) at
> gstelement.c:2599
> 
> #23 0x6146b5e0 in gst_element_set_state_func (element=0x1bb9458,
> state=GST_STATE_NULL) at gstelement.c:2555
> 
>  
> 
> (gdb) t 12
> 
> [Switching to thread 12 (Thread 3524.0x9a4)]
> 
> #0  0x7c92e4f4 in ntdll!KiFastSystemCallRet () from C:\WINDOWS
> \system32\ntdll.dll
> 
> (gdb) bt
> 
> #0  0x7c92e4f4 in ntdll!KiFastSystemCallRet () from C:\WINDOWS
> \system32\ntdll.dll
> 
> #1  0x7c92df3c in ntdll!ZwWaitForSingleObject () from C:\WINDOWS
> \system32\ntdll.dll
> 
> #2  0x7c93b22b in ntdll!RtlpWaitForCriticalSection () from C:\WINDOWS
> \system32\ntdll.dll
> 
> #3  0x7c921046 in ntdll!RtlEnterCriticalSection () from C:\WINDOWS
> \system32\ntdll.dll
> 
> #4  0x001e3ea0 in ?? ()
> 
> #5  0x686317ab in g_thread_xp_AcquireSRWLockExclusive
> (mutex=0x61e3b7c) at gthread-win32.c:635
> 
> #6  0x686318b0 in g_mutex_lock (mutex=mutex at entry=0x61e3b7c) at
> gthread-win32.c:140
> 
> #7  0x6863199b in g_thread_xp_SleepConditionVariableSRW
> (cond=0x61e3bb0, mutex=0x61e3b7c, timeout=4294967295, flags=0) at
> gthread-win32.c:856
> 
> #8  0x68631cc8 in g_cond_wait (cond=0x61e3bb0,
> entered_mutex=0x61e3b7c) at gthread-win32.c:302
> 
> #9  0x64b8666a in _fu70___gst_debug_min () at
> gstaudioringbuffer.c:1305
> 
> #10 0x64b868d1 in _fu72___gst_debug_min () at
> gstaudioringbuffer.c:1532
> 
> #11 0x64ba1b03 in _fu435___gst_debug_min () at gstaudiobasesink.c:1930
> 
> #12 0x6b5dfcae in _fu433___gst_debug_min () at gstbasesink.c:3424
> 
> #13 0x6b5e1a9b in _fu445___gst_debug_min () at gstbasesink.c:3532
> 
> #14 0x61480ca4 in gst_pad_chain_data_unchecked (data=0x602ca40,
> type=4112, pad=0x5fc82b8) at gstpad.c:3820
> 
> #15 gst_pad_push_data (pad=0x1bb8640, type=4112, data=<optimized out>)
> at gstpad.c:4053
> 
> #16 0x6147110e in gst_proxy_pad_chain_default (pad=0x60271a0,
> parent=0x6026bf0, buffer=0x602ca40) at gstghostpad.c:126
> 
> #17 0x61480ca4 in gst_pad_chain_data_unchecked (data=0x602ca40,
> type=4112, pad=0x60271a0) at gstpad.c:3820
> 
> #18 gst_pad_push_data (pad=0x6026d30, type=4112, data=<optimized out>)
> at gstpad.c:4053
> 
> #19 0x6b5f0dc2 in gst_base_transform_chain (pad=0x60266c8,
> parent=0x62407b0, buffer=0x602ca40) at gstbasetransform.c:2261
> 
> #20 0x61480ca4 in gst_pad_chain_data_unchecked (data=0x602ca40,
> type=4112, pad=0x60266c8) at gstpad.c:3820
> 
> #21 gst_pad_push_data (pad=0x60262f0, type=4112, data=<optimized out>)
> at gstpad.c:4053
> 
> #22 0x6b5f0dc2 in gst_base_transform_chain (pad=0x6026810,
> parent=0xaf2f830, buffer=0x602cae0) at gstbasetransform.c:2261
> 
> #23 0x61480ca4 in gst_pad_chain_data_unchecked (data=0x602cae0,
> type=4112, pad=0x6026810) at gstpad.c:3820
> 
> #24 gst_pad_push_data (pad=0x6026438, type=4112, data=<optimized out>)
> at gstpad.c:4053
> 
> #25 0x6e0a08e4 in gst_queue_push_one (queue=0x6011378) at
> gstqueue.c:1118
> 
> #26 _fu680___gst_buffer_type () at gstqueue.c:1247
> 
> #27 0x614af828 in gst_task_func (task=0x5fd0230) at gsttask.c:317
> 
> #28 0x68616bc7 in g_thread_pool_thread_proxy (data=0x1c0b370) at
> gthreadpool.c:309
> 
> #29 0x686162ad in g_thread_proxy (data=0x5ffb510) at gthread.c:798
> 
> #30 0x68631ecd in g_thread_win32_proxy (data=0x5ffb510) at
> gthread-win32.c:452
> 
> #31 0x77c0a3b0 in msvcrt!_endthreadex () from C:\WINDOWS\system32
> \msvcrt.dll
> 
> #32 0x7c80b713 in KERNEL32!GetModuleFileNameA () from C:\WINDOWS
> \system32\kernel32.dll
> 
> #33 0x00000000 in ?? ()
> 
> (gdb)
> 
>  
> 
> >What version of GStreamer is this with? I remember there being an
> issue
> 
> >with 0.10 when usb sound devices were disconnected, and I fixed some
> 
> >issues in 1.x.
> 
>  
> 
> I used 0.10 before. Following your advice, I upgraded gstreamer to
> 1.3.2. But the problem hadn’t been solved.
> 
> The gdb stack was captured with 1.3.2 version. 
> 
>  
> 
> Thanks!
> 
> --
> 
> Yongjian
> 
>  
> 
>  
> 
> 
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

-- 
Tim Müller, Centricular Ltd - http://www.centricular.com



More information about the gstreamer-devel mailing list