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 576190 - [playbin2] Deadlock when reusing playbin2 after an error
[playbin2] Deadlock when reusing playbin2 after an error
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Linux
: Normal normal
: 0.10.23
Assigned To: Wim Taymans
GStreamer Maintainers
Depends on:
Blocks: 542663
 
 
Reported: 2009-03-21 14:02 UTC by Sebastian Dröge (slomo)
Modified: 2009-03-23 11:30 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Sebastian Dröge (slomo) 2009-03-21 14:02:04 UTC
Hi,

when reusing playbin2 after an error one gets a deadlock, even if playbin2 was set to NULL-state after the error.

This can be easily reproduced with the patch in bug #542663. Simply try to play a non-existing file and then select an existing one. All threads are waiting in some sinks it seems.
Comment 1 Sebastian Dröge (slomo) 2009-03-22 17:51:13 UTC
In this case the audio pipeline is waiting in:

  • #0 pthread_cond_wait
    from /lib/libpthread.so.0
  • #1 handle_pad_block
    at gstpad.c line 3866
  • #2 gst_pad_push_event
    at gstpad.c line 4570
  • #3 gst_selector_pad_event
    at gstinputselector.c line 431


The only other threads running are the main thread idling in the mainloop and the xvimagesink event thread.
Comment 2 Wim Taymans 2009-03-23 11:30:13 UTC
commit 779d6f886d57b804069e86f868a195ad8fffcae3
Author: Wim Taymans <wim.taymans@collabora.co.uk>
Date:   Mon Mar 23 12:26:05 2009 +0100

    uridecodebin: reset counter
    
    reset the number of pending dynamic operations back to 0 when we reuse
    uridecodebin.
    Fixes #576190