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 723127 - hlsdemux: Seeks sometimes deadlock
hlsdemux: Seeks sometimes deadlock
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal major
: 1.2.3
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2014-01-27 22:16 UTC by Duncan Palmer
Modified: 2014-02-04 16:26 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Log showing deadlock on cancel (7.16 KB, application/octet-stream)
2014-01-27 22:16 UTC, Duncan Palmer
  Details
Fix for the problem; release the object lock if downloader->priv->urisrc is not set. (909 bytes, patch)
2014-01-27 22:17 UTC, Duncan Palmer
committed Details | Review

Description Duncan Palmer 2014-01-27 22:16:00 UTC
Created attachment 267353 [details]
Log showing deadlock on cancel

Occasionally, a seek using the hlsdemux will deadlock, resulting in gst_element_seek_simple() blocking. This happens because gst_uri_downloader_fetch_uri_with_range() doesn't release the object lock if downloader->priv->urisrc is not set. See the attachment 'cancel_deadlock' for a log showing the problem.
Comment 1 Duncan Palmer 2014-01-27 22:17:06 UTC
Created attachment 267354 [details] [review]
Fix for the problem; release the object lock if downloader->priv->urisrc is not set.
Comment 2 Sebastian Dröge (slomo) 2014-01-29 19:40:27 UTC
commit 06fec6709d7810c7dd377efc0820cde28e96a864
Author: Duncan Palmer <dpalmer@digisoft.tv>
Date:   Wed Jan 29 20:38:57 2014 +0100

    uridownloader: Always release the object lock in gst_uri_downloader_fetch_uri_with_range(
    
    even if downloader->priv->urisrc is not set. This avoids deadlock under some
    some conditions on cancel.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=723127