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 579416 - Nasty gst-python deadlock
Nasty gst-python deadlock
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-python
git master
Other Linux
: Normal blocker
: 0.10.15
Assigned To: Jan Schmidt
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2009-04-18 14:35 UTC by Jan Schmidt
Modified: 2009-04-18 16:17 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
drop the python lock in a few places (2.63 KB, patch)
2009-04-18 15:52 UTC, Jan Schmidt
committed Details | Review

Description Jan Schmidt 2009-04-18 14:35:27 UTC
Just encountered this nasty deadlock with gst-python and Thomas' jukebox code. It looks like one thread is calling gst_object_get_parent (holding the object lock), which triggers a toggle_refs_notify into Python code. In another thread, Python is trying to call gst_object_get_name() on the same object, while holding the Python lock.

Patch coming...


Comment 1 Jan Schmidt 2009-04-18 15:52:22 UTC
Created attachment 132870 [details] [review]
drop the python lock in a few places
Comment 2 Jan Schmidt 2009-04-18 16:17:57 UTC
Fixed in git:

commit cb2e4ca08408ffef7d31ad613480852286cf5ae1
Author: Jan Schmidt <thaytan@noraisin.net>
Date:   Sat Apr 18 16:39:42 2009 +0100

    python: Fix some locking problems

    Add some python pyg_begin_allow_threads/end_allow_threads when calling into
some gstreamer functions that might
    call into python.

    Fixes #579416