Description of problem: I happen to see a banshee-1 hang after it was accidentally left repeatedly playing two videos (big-buck-bunny.ogv and kittens.ogv) overnight. Any insight and suggestions to the hang will be very appreciated. Thanks, Luming ├─bash(2726)───banshee-1(2731)─┬─{banshee-1}(2732) │ ├─{banshee-1}(2733) │ ├─{banshee-1}(2734) │ ├─{banshee-1}(2735) │ ├─{banshee-1}(2736) │ ├─{banshee-1}(2737) │ ├─{banshee-1}(2739) │ ├─{banshee-1}(2740) │ ├─{banshee-1}(2741) │ ├─{banshee-1}(2743) │ ├─{banshee-1}(2747) │ ├─{banshee-1}(2748) │ ├─{banshee-1}(2764) │ ├─{banshee-1}(2765) │ ├─{banshee-1}(2766) │ ├─{banshee-1}(2806) │ ├─{banshee-1}(2812) │ └─{banshee-1}(2813) (gdb) attach 2806 .... (gdb) bt #0 0x00e27424 in __kernel_vsyscall () #1 0x004de85c in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S:169 #2 0x04b963d7 in gst_data_queue_push (queue=0xa771f18, item=0xa8886a0) at gstdataqueue.c:417 #3 0x03593ee5 in gst_multi_queue_chain (pad=0xa6ff648, buffer=0xaa4c690) at gstmultiqueue.c:1169 #4 0x054b4c45 in gst_pad_chain_data_unchecked (pad=0xa6ff648, is_buffer=1, data=0xaa4c690) at gstpad.c:4122 #5 0x054b568f in gst_pad_push_data (pad=0xa941b00, is_buffer=1, data=0xaa4c690) at gstpad.c:4351 #6 0x05be2238 in gst_ogg_demux_chain_peer (pad=0xa941b00, packet=0xb113eff0, push_headers=0) at gstoggdemux.c:649 #7 0x05be5287 in gst_ogg_pad_submit_packet (pad=0xa941b00, npackets=<value optimized out>) at gstoggdemux.c:860 #8 gst_ogg_pad_stream_out (pad=0xa941b00, npackets=<value optimized out>) at gstoggdemux.c:893 #9 0x05be6579 in gst_ogg_pad_submit_page (pad=0xa941b00, page=0xb113f110) at gstoggdemux.c:965 #10 0x05be9772 in gst_ogg_demux_chain (pad=0xaa15268, buffer=0xb75f16e0) at gstoggdemux.c:2878 #11 0x05bea0ac in gst_ogg_demux_loop_forward (pad=0xaa15268) at gstoggdemux.c:2968 #12 gst_ogg_demux_loop (pad=0xaa15268) at gstoggdemux.c:3112 #13 0x054e1143 in gst_task_func (task=0xa969160) at gsttask.c:238 #14 0x054e27e8 in default_func (tdata=0xaa5bfb0, pool=0xa3db1d8) at gsttaskpool.c:70 #15 0x005ac554 in ?? () from /lib/libglib-2.0.so.0 #16 0x005aa550 in ?? () from /lib/libglib-2.0.so.0 #17 0x004dab59 in start_thread (arg=0xb113fb70) at pthread_create.c:301 #18 0x0074ee8e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:133 (gdb) detach (gdb) attach 2812 (gdb) bt #0 0x00e27424 in __kernel_vsyscall () #1 0x004de85c in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S:169 #2 0x054afeeb in handle_pad_block (pad=0xaa484b8) at gstpad.c:3959 #3 0x054b2557 in gst_pad_push_event (pad=0xaa484b8, event=0xaa582f0) at gstpad.c:4876 #4 0x03906b8e in ?? () from /usr/lib/gstreamer-0.10/libgstflac.so #5 0x054b1ec3 in gst_pad_send_event (pad=0xa9f74c0, event=0xaa582f0) at gstpad.c:5043 #6 0x054b23ea in gst_pad_push_event (pad=0xaa304b0, event=0xaa582f0) at gstpad.c:4899 #7 0x03594b82 in gst_single_queue_push_one (pad=0xaa304b0) at gstmultiqueue.c:942 #8 gst_multi_queue_loop (pad=0xaa304b0) at gstmultiqueue.c:1101 #9 0x054e1143 in gst_task_func (task=0xaa42f40) at gsttask.c:238 #10 0x054e27e8 in default_func (tdata=0xaa64740, pool=0xa3db1d8) at gsttaskpool.c:70 #11 0x005ac554 in ?? () from /lib/libglib-2.0.so.0 #12 0x005aa550 in ?? () from /lib/libglib-2.0.so.0 #13 0x004dab59 in start_thread (arg=0xaa7fcb70) at pthread_create.c:301 #14 0x0074ee8e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:133 (gdb) detach (gdb) attach 2813 .... (gdb) bt #0 0x00e27424 in __kernel_vsyscall () #1 0x004e15c9 in __lll_lock_wait () at ../nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S:142 #2 0x004dc78b in _L_lock_800 () from /lib/libpthread.so.0 #3 0x004dc5b1 in __pthread_mutex_lock (mutex=0x9e18238) at pthread_mutex_lock.c:61 #4 0x03eab997 in ?? () from /usr/lib/banshee-1/libbanshee.so #5 0x00c10d0c in g_cclosure_marshal_VOID__OBJECT () from /lib/libgobject-2.0.so.0 #6 0x00c02713 in g_closure_invoke () from /lib/libgobject-2.0.so.0 #7 0x00c1a275 in ?? () from /lib/libgobject-2.0.so.0 #8 0x00c1b8dc in g_signal_emit_valist () from /lib/libgobject-2.0.so.0 #9 0x00c1c037 in g_signal_emit () from /lib/libgobject-2.0.so.0 #10 0x05486b2a in gst_bin_add_func (bin=0xa6451c0, element=0xa714320) at gstbin.c:1099 #11 0x05483254 in gst_bin_add (bin=0xa6451c0, element=0xa714320) at gstbin.c:1162 #12 0x02c6c20d in ?? () from /usr/lib/gstreamer-0.10/libgstgconfelements.so #13 0x02c6c835 in ?? () from /usr/lib/gstreamer-0.10/libgstgconfelements.so #14 0x05499e76 in gst_element_change_state (element=0xa6451c0, transition=GST_STATE_CHANGE_NULL_TO_READY) at gstelement.c:2548 #15 0x0549d4b7 in gst_element_set_state_func (element=0xa6451c0, state=GST_STATE_READY) at gstelement.c:2504 #16 0x05499210 in gst_element_set_state (element=0xa6451c0, state=GST_STATE_READY) at gstelement.c:2405 #17 0x03387c66 in setup_video_chain (playsink=0xa6d9030) at gstplaysink.c:1142 #18 gst_play_sink_reconfigure (playsink=0xa6d9030) at gstplaysink.c:1880 #19 0x0337bb6b in no_more_pads_cb (decodebin=0xaa04278, group=0x9d12dd4) at gstplaybin2.c:2830 #20 0x00c10b64 in g_cclosure_marshal_VOID__VOID () from /lib/libgobject-2.0.so.0 #21 0x00c02713 in g_closure_invoke () from /lib/libgobject-2.0.so.0 #22 0x00c1a275 in ?? () from /lib/libgobject-2.0.so.0 #23 0x00c1b8dc in g_signal_emit_valist () from /lib/libgobject-2.0.so.0 #24 0x00c1c037 in g_signal_emit () from /lib/libgobject-2.0.so.0 #25 0x0549b7fa in gst_element_no_more_pads (element=0xaa04278) at gstelement.c:923 #26 0x038745ea in no_more_pads_full (element=0xb75df050, subs=<value optimized out>, decoder=0xaa04278) at gsturidecodebin.c:732 #27 0x00c10b64 in g_cclosure_marshal_VOID__VOID () from /lib/libgobject-2.0.so.0 #28 0x00c02713 in g_closure_invoke () from /lib/libgobject-2.0.so.0 #29 0x00c1a275 in ?? () from /lib/libgobject-2.0.so.0 #30 0x00c1b8dc in g_signal_emit_valist () from /lib/libgobject-2.0.so.0 #31 0x00c1c037 in g_signal_emit () from /lib/libgobject-2.0.so.0 #32 0x0549b7fa in gst_element_no_more_pads (element=0xb75df050) at gstelement.c:923 #33 0x0386b188 in gst_decode_bin_expose (dbin=0xb75df050) at gstdecodebin2.c:3016 #34 0x0386c69f in source_pad_blocked_cb (pad=0xaa48580, blocked=1, dpad=0xaa77ed8) at gstdecodebin2.c:3135 #35 0x054afe21 in handle_pad_block (pad=0xaa48580) at gstpad.c:3932 #36 0x054b2557 in gst_pad_push_event (pad=0xaa48580, event=0xaa582f0) at gstpad.c:4876 #37 0x0785ce3f in theora_handle_type_packet (dec=0xaa8f5f0, buf=<value optimized out>) at gsttheoradec.c:844 #38 theora_handle_header_packet (dec=0xaa8f5f0, buf=<value optimized out>) at gsttheoradec.c:875 #39 theora_dec_decode_buffer (dec=0xaa8f5f0, buf=<value optimized out>) at gsttheoradec.c:1188 #40 0x0785dbd9 in theora_dec_chain_forward (pad=0xa714190, buf=0xa9fb910) at gsttheoradec.c:1354 #41 theora_dec_chain (pad=0xa714190, buf=0xa9fb910) at gsttheoradec.c:1382 #42 0x054b4c45 in gst_pad_chain_data_unchecked (pad=0xa714190, is_buffer=1, data=0xa9fb910) at gstpad.c:4122 #43 0x054b568f in gst_pad_push_data (pad=0xaa30578, is_buffer=1, data=0xa9fb910) at gstpad.c:4351 #44 0x03595032 in gst_single_queue_push_one (pad=0xaa30578) at gstmultiqueue.c:919 #45 gst_multi_queue_loop (pad=0xaa30578) at gstmultiqueue.c:1101 #46 0x054e1143 in gst_task_func (task=0xab476f0) at gsttask.c:238 #47 0x054e27e8 in default_func (tdata=0xafc31dc0, pool=0xa3db1d8) at gsttaskpool.c:70 #48 0x005ac554 in ?? () from /lib/libglib-2.0.so.0 ---Type <return> to continue, or q <return> to quit--- #49 0x005aa550 in ?? () from /lib/libglib-2.0.so.0 #50 0x004dab59 in start_thread (arg=0xa89f9b70) at pthread_create.c:301 #51 0x0074ee8e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:133
I am pretty sure this is an upstream issue, though I'm not sure if it is Banshee's or GStreamer's fault. Could you file it upstream against GStreamer and attach the output of "bt full" instead of "bt" there (if you still have the hanging processes around)? With the current backtrace at least there's not enough information available to investigate this further.
done ! https://bugzilla.gnome.org/show_bug.cgi?id=620202