After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 746648 - deadlock when going to GST_STATE_NULL (download buffer?)
deadlock when going to GST_STATE_NULL (download buffer?)
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
1.4.5
Other Linux
: Normal normal
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-03-23 14:09 UTC by Dirk-Jan C. Binnema
Modified: 2018-05-15 09:09 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Dirk-Jan C. Binnema 2015-03-23 14:09:23 UTC
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 syscall
    from output/target/lib/libc.so.6
  • #1 g_mutex_lock_slowpath
    from output/target/usr/lib/libglib-2.0.so.0
  • #2 gst_play_bin_handle_message
    from output/target/usr/lib/gstreamer-1.0/libgstplayback.so
  • #3 bin_bus_handler
    from output/target/usr/lib/libgstreamer-1.0.so.0
  • #4 gst_bus_post
    from output/target/usr/lib/libgstreamer-1.0.so.0
  • #5 gst_element_post_message_default
    from output/target/usr/lib/libgstreamer-1.0.so.0
  • #6 gst_bin_post_message
    from output/target/usr/lib/libgstreamer-1.0.so.0
  • #7 gst_bin_handle_message_func
    from output/target/usr/lib/libgstreamer-1.0.so.0
  • #8 handle_message
    from output/target/usr/lib/gstreamer-1.0/libgstplayback.so
  • #9 bin_bus_handler
    from output/target/usr/lib/libgstreamer-1.0.so.0
  • #10 gst_bus_post
    from output/target/usr/lib/libgstreamer-1.0.so.0
  • #11 gst_element_post_message_default
    from output/target/usr/lib/libgstreamer-1.0.so.0
  • #12 update_buffering
    from output/target/usr/lib/gstreamer-1.0/libgstcoreelements.so
  • #13 ??
  • #14 ??

Thread 7 (Thread 688)

  • #0 syscall
    from output/target/lib/libc.so.6
  • #1 g_cond_wait
    from output/target/usr/lib/libglib-2.0.so.0
  • #2 ??
  • #3 ??

Thread 6 (Thread 687)

  • #0 syscall
    from output/target/lib/libc.so.6
  • #1 g_mutex_lock_slowpath
    from output/target/usr/lib/libglib-2.0.so.0
  • #2 gst_download_buffer_handle_src_event
    from output/target/usr/lib/gstreamer-1.0/libgstcoreelements.so
  • #3 gst_pad_send_event_unchecked
    from output/target/usr/lib/libgstreamer-1.0.so.0
  • #4 gst_pad_push_event_unchecked
    from output/target/usr/lib/libgstreamer-1.0.so.0
  • #5 gst_pad_push_event
    from output/target/usr/lib/libgstreamer-1.0.so.0
  • #6 event_forward_func
    from output/target/usr/lib/libgstreamer-1.0.so.0
  • #7 gst_pad_forward
    from output/target/usr/lib/libgstreamer-1.0.so.0
  • #8 gst_pad_event_default
    from output/target/usr/lib/libgstreamer-1.0.so.0
  • #9 gst_pad_send_event_unchecked
    from output/target/usr/lib/libgstreamer-1.0.so.0
  • #10 gst_pad_push_event_unchecked
    from output/target/usr/lib/libgstreamer-1.0.so.0
  • #11 gst_pad_push_event
    from output/target/usr/lib/libgstreamer-1.0.so.0
  • #12 gst_type_find_element_src_event
    from output/target/usr/lib/gstreamer-1.0/libgstcoreelements.so
  • #13 gst_pad_send_event_unchecked
    from output/target/usr/lib/libgstreamer-1.0.so.0
  • #14 gst_pad_push_event_unchecked
    from output/target/usr/lib/libgstreamer-1.0.so.0
  • #15 gst_pad_push_event
    from output/target/usr/lib/libgstreamer-1.0.so.0
  • #16 event_forward_func
    from output/target/usr/lib/libgstreamer-1.0.so.0
  • #17 gst_pad_forward
    from output/target/usr/lib/libgstreamer-1.0.so.0
  • #18 gst_pad_event_default
    from output/target/usr/lib/libgstreamer-1.0.so.0
  • #19 gst_qtdemux_handle_src_event
    from output/target/usr/lib/gstreamer-1.0/libgstisomp4.so
  • #20 gst_pad_send_event_unchecked
    from output/target/usr/lib/libgstreamer-1.0.so.0
  • #21 gst_pad_push_event_unchecked
    from output/target/usr/lib/libgstreamer-1.0.so.0
  • #22 gst_pad_push_event
  • #23 gst_pad_send_event_unchecked
    from output/target/usr/lib/libgstreamer-1.0.so.0
  • #24 gst_pad_push_event_unchecked
    from output/target/usr/lib/libgstreamer-1.0.so.0
  • #25 gst_pad_push_event
    from output/target/usr/lib/libgstreamer-1.0.so.0
  • #26 event_forward_func
    from output/target/usr/lib/libgstreamer-1.0.so.0
  • #27 gst_pad_forward
    from output/target/usr/lib/libgstreamer-1.0.so.0
  • #28 gst_pad_event_default
    from output/target/usr/lib/libgstreamer-1.0.so.0
  • #29 gst_base_parse_src_event_default
    from output/target/usr/lib/libgstbase-1.0.so.0
  • #30 ??
  • #31 ??

Thread 5 (Thread 663)

  • #0 syscall
    from output/target/lib/libc.so.6
  • #1 g_mutex_lock_slowpath
    from output/target/usr/lib/libglib-2.0.so.0
  • #2 gst_download_buffer_chain
    from output/target/usr/lib/gstreamer-1.0/libgstcoreelements.so
  • #3 gst_pad_push_data
    from output/target/usr/lib/libgstreamer-1.0.so.0
  • #4 gst_pad_push_data
    from output/target/usr/lib/libgstreamer-1.0.so.0
  • #5 gst_base_src_loop
    from output/target/usr/lib/libgstbase-1.0.so.0
  • #6 gst_task_func
    from output/target/usr/lib/libgstreamer-1.0.so.0
  • #7 g_thread_pool_thread_proxy
    from output/target/usr/lib/libglib-2.0.so.0
  • #8 g_thread_proxy
    from output/target/usr/lib/libglib-2.0.so.0
  • #9 start_thread
    from output/target/lib/libpthread.so.0
  • #10 ??
    from output/target/lib/libc.so.6
  • #11 ??
    from output/target/lib/libc.so.6

Thread 4 (Thread 628)

  • #0 syscall
    from output/target/lib/libc.so.6
  • #1 g_cond_wait_until
    from output/target/usr/lib/libglib-2.0.so.0
  • #2 g_cond_wait_until
    from output/target/usr/lib/libglib-2.0.so.0

Thread 1 (Thread 601)

  • #0 syscall
    from output/target/lib/libc.so.6
  • #1 g_mutex_lock_slowpath
    from output/target/usr/lib/libglib-2.0.so.0
  • #2 gst_play_bin_change_state
    from output/target/usr/lib/gstreamer-1.0/libgstplayback.so
  • #3 gst_element_change_state
    from output/target/usr/lib/libgstreamer-1.0.so.0
  • #4 gst_element_set_state_func
    from output/target/usr/lib/libgstreamer-1.0.so.0
  • #5 tune_pipe_set_state
    at tune-pipe.c line 1332
  • #6 tune_pipe_stop
    at tune-pipe.c line 1545
  • #7 tune_player_stop

Comment 1 Edward Hervey 2018-05-11 12:52:17 UTC
Hi, do you still get this deadlock with current gstreamer ?
Comment 2 Dirk-Jan C. Binnema 2018-05-15 08:56:30 UTC
Haven't seen this in a long time. Feel free to close.
Comment 3 Tim-Philipp Müller 2018-05-15 09:09:06 UTC
Thanks.