[Bug 746648] New: deadlock in when going to GST_STATE_NULL

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Mon Mar 23 07:09:23 PDT 2015


https://bugzilla.gnome.org/show_bug.cgi?id=746648

            Bug ID: 746648
           Summary: deadlock in when going to GST_STATE_NULL
    Classification: Platform
           Product: GStreamer
           Version: 1.4.5
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: gstreamer (core)
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: djcb at djcbsoftware.nl
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

Most of the deadlocks in saw with 1.4.4 (due to bug #736969) seem to have gone
in 1.4.5, but I'm still seeing the below one. This is on ARM; 1.2.x does not
show this behavior.


gdb% thread apply all bt
[New Thread 603]
[New Thread 605]
[New Thread 628]
[New Thread 663]
[New Thread 687]
[New Thread 688]
[New Thread 689]

Thread 8 (Thread 689):
#0  0x76205440 in syscall () from output/target/lib/libc.so.6
#1  0x763757d4 in g_mutex_lock_slowpath ()
   from output/target/usr/lib/libglib-2.0.so.0
#2  0x73c658f4 in gst_play_bin_handle_message ()
   from output/target/usr/lib/gstreamer-1.0/libgstplayback.so
#3  0x76d4cd80 in bin_bus_handler ()
   from output/target/usr/lib/libgstreamer-1.0.so.0
#4  0x76d5e068 in gst_bus_post () from
output/target/usr/lib/libgstreamer-1.0.so.0
#5  0x76d72a7c in gst_element_post_message_default ()
   from output/target/usr/lib/libgstreamer-1.0.so.0
#6  0x76d50974 in gst_bin_post_message ()
   from output/target/usr/lib/libgstreamer-1.0.so.0
#7  0x76d50d24 in gst_bin_handle_message_func ()
   from output/target/usr/lib/libgstreamer-1.0.so.0
#8  0x73c5c960 in handle_message ()
   from output/target/usr/lib/gstreamer-1.0/libgstplayback.so
#9  0x76d4cd80 in bin_bus_handler ()
   from output/target/usr/lib/libgstreamer-1.0.so.0
#10 0x76d5e068 in gst_bus_post () from
output/target/usr/lib/libgstreamer-1.0.so.0
#11 0x76d72a7c in gst_element_post_message_default ()
   from output/target/usr/lib/libgstreamer-1.0.so.0
#12 0x73ab10a4 in update_buffering ()
   from output/target/usr/lib/gstreamer-1.0/libgstcoreelements.so
#13 0x0001fba8 in ?? ()
#14 0x0001fba8 in ?? ()
---Type <return> to continue, or q <return> to quit---
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 7 (Thread 688):
#0  0x76205440 in syscall () from output/target/lib/libc.so.6
#1  0x763763c0 in g_cond_wait () from output/target/usr/lib/libglib-2.0.so.0
#2  0x75816034 in ?? ()
#3  0x75816034 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 6 (Thread 687):
#0  0x76205440 in syscall () from output/target/lib/libc.so.6
#1  0x763757d4 in g_mutex_lock_slowpath ()
   from output/target/usr/lib/libglib-2.0.so.0
#2  0x73aaf2e0 in gst_download_buffer_handle_src_event ()
   from output/target/usr/lib/gstreamer-1.0/libgstcoreelements.so
#3  0x76d8e994 in gst_pad_send_event_unchecked ()
   from output/target/usr/lib/libgstreamer-1.0.so.0
#4  0x76d8f3ac in gst_pad_push_event_unchecked ()
   from output/target/usr/lib/libgstreamer-1.0.so.0
#5  0x76d99b38 in gst_pad_push_event ()
   from output/target/usr/lib/libgstreamer-1.0.so.0
#6  0x76d99f74 in event_forward_func ()
   from output/target/usr/lib/libgstreamer-1.0.so.0
#7  0x76d9645c in gst_pad_forward ()
   from output/target/usr/lib/libgstreamer-1.0.so.0
#8  0x76d9660c in gst_pad_event_default ()
   from output/target/usr/lib/libgstreamer-1.0.so.0
---Type <return> to continue, or q <return> to quit---
#9  0x76d8e994 in gst_pad_send_event_unchecked ()
   from output/target/usr/lib/libgstreamer-1.0.so.0
#10 0x76d8f3ac in gst_pad_push_event_unchecked ()
   from output/target/usr/lib/libgstreamer-1.0.so.0
#11 0x76d99b38 in gst_pad_push_event ()
   from output/target/usr/lib/libgstreamer-1.0.so.0
#12 0x73ae0d20 in gst_type_find_element_src_event ()
   from output/target/usr/lib/gstreamer-1.0/libgstcoreelements.so
#13 0x76d8e994 in gst_pad_send_event_unchecked ()
   from output/target/usr/lib/libgstreamer-1.0.so.0
#14 0x76d8f3ac in gst_pad_push_event_unchecked ()
   from output/target/usr/lib/libgstreamer-1.0.so.0
#15 0x76d99b38 in gst_pad_push_event ()
   from output/target/usr/lib/libgstreamer-1.0.so.0
#16 0x76d99f74 in event_forward_func ()
   from output/target/usr/lib/libgstreamer-1.0.so.0
#17 0x76d9645c in gst_pad_forward ()
   from output/target/usr/lib/libgstreamer-1.0.so.0
#18 0x76d9660c in gst_pad_event_default ()
   from output/target/usr/lib/libgstreamer-1.0.so.0
#19 0x7268f730 in gst_qtdemux_handle_src_event ()
   from output/target/usr/lib/gstreamer-1.0/libgstisomp4.so
#20 0x76d8e994 in gst_pad_send_event_unchecked ()
   from output/target/usr/lib/libgstreamer-1.0.so.0
#21 0x76d8f3ac in gst_pad_push_event_unchecked ()
   from output/target/usr/lib/libgstreamer-1.0.so.0
#22 0x76d99b38 in gst_pad_push_event ()
---Type <return> to continue, or q <return> to quit---
   from output/target/usr/lib/libgstreamer-1.0.so.0
#23 0x76d8e994 in gst_pad_send_event_unchecked ()
   from output/target/usr/lib/libgstreamer-1.0.so.0
#24 0x76d8f3ac in gst_pad_push_event_unchecked ()
   from output/target/usr/lib/libgstreamer-1.0.so.0
#25 0x76d99b38 in gst_pad_push_event ()
   from output/target/usr/lib/libgstreamer-1.0.so.0
#26 0x76d99f74 in event_forward_func ()
   from output/target/usr/lib/libgstreamer-1.0.so.0

#27 0x76d9645c in gst_pad_forward ()
   from output/target/usr/lib/libgstreamer-1.0.so.0
#28 0x76d9660c in gst_pad_event_default ()
   from output/target/usr/lib/libgstreamer-1.0.so.0
#29 0x76e3e7fc in gst_base_parse_src_event_default ()
   from output/target/usr/lib/libgstbase-1.0.so.0
#30 0x0131be30 in ?? ()
#31 0x0131be30 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 5 (Thread 663):
#0  0x76205440 in syscall () from output/target/lib/libc.so.6
#1  0x763757d4 in g_mutex_lock_slowpath ()
   from output/target/usr/lib/libglib-2.0.so.0
#2  0x73ab2cb8 in gst_download_buffer_chain ()
   from output/target/usr/lib/gstreamer-1.0/libgstcoreelements.so
#3  0x76d904f8 in gst_pad_push_data ()
   from output/target/usr/lib/libgstreamer-1.0.so.0
---Type <return> to continue, or q <return> to quit---
#4  0x76d904f8 in gst_pad_push_data ()
   from output/target/usr/lib/libgstreamer-1.0.so.0
#5  0x76e5ac0c in gst_base_src_loop ()
   from output/target/usr/lib/libgstbase-1.0.so.0
#6  0x76dc7934 in gst_task_func () from
output/target/usr/lib/libgstreamer-1.0.so.0
#7  0x76357688 in g_thread_pool_thread_proxy ()
   from output/target/usr/lib/libglib-2.0.so.0
#8  0x76356b5c in g_thread_proxy () from output/target/usr/lib/libglib-2.0.so.0
#9  0x7626845e in start_thread () from output/target/lib/libpthread.so.0
#10 0x76207d9c in ?? () from output/target/lib/libc.so.6
#11 0x76207d9c in ?? () from output/target/lib/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 4 (Thread 628):
#0  0x76205440 in syscall () from output/target/lib/libc.so.6
#1  0x76376530 in g_cond_wait_until () from
output/target/usr/lib/libglib-2.0.so.0
#2  0x76376530 in g_cond_wait_until () from
output/target/usr/lib/libglib-2.0.so.0
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 3 (Thread 605):
#0  0x761ff3b0 in poll () from output/target/lib/libc.so.6
#1  0x00000000 in ?? ()

Thread 2 (Thread 603):
#0  0x761ff3b0 in poll () from output/target/lib/libc.so.6
#1  0x00000000 in ?? ()

---Type <return> to continue, or q <return> to quit---
Thread 1 (Thread 601):
#0  0x76205440 in syscall () from output/target/lib/libc.so.6
#1  0x763757d4 in g_mutex_lock_slowpath ()
   from output/target/usr/lib/libglib-2.0.so.0
#2  0x73c673ac in gst_play_bin_change_state ()
   from output/target/usr/lib/gstreamer-1.0/libgstplayback.so
#3  0x76d770ec in gst_element_change_state ()
   from output/target/usr/lib/libgstreamer-1.0.so.0
#4  0x76d77728 in gst_element_set_state_func ()
   from output/target/usr/lib/libgstreamer-1.0.so.0
#5  0x00046b0c in tune_pipe_set_state (self=0x15a8500, state=GST_STATE_NULL)
    at tune-pipe.c:1332
#6  0x000476bc in tune_pipe_stop (self=0x15a8500, err=err at entry=0x0)
    at tune-pipe.c:1545
#7  0x0002ab38 in tune_player_stop (self=<optimized out>, err=err at entry=0x0)

-- 
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