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 771983 - Deadlock when closing session and backlog is full.
Deadlock when closing session and backlog is full.
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-rtsp-server
unspecified
Other Linux
: Normal normal
: 1.10.0
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2016-09-26 09:45 UTC by Göran Jönsson
Modified: 2016-10-31 14:33 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
gst-rtsp-server patch (1.88 KB, patch)
2016-09-26 09:45 UTC, Göran Jönsson
none Details | Review
gst-rtsp-server patch (1.88 KB, patch)
2016-09-26 09:47 UTC, Göran Jönsson
none Details | Review
gst-rtsp-server patch (1.88 KB, patch)
2016-09-26 09:51 UTC, Göran Jönsson
committed Details | Review

Description Göran Jönsson 2016-09-26 09:45:00 UTC
Created attachment 336252 [details] [review]
gst-rtsp-server patch

Basic: 
The fix for https://bugzilla.gnome.org/show_bug.cgi?id=736647
( rtsp-client: Allow backlog to grow while expiring session )
is not working after https://bugzilla.gnome.org/show_bug.cgi?id=737690.

How to reproduce: Set drop_backlog = FALSE and use rtp tunneled over TCP
or HTTP and stream. Then suspend client or remove connection to client.

What happens: When session times out the media state is not set null
when backlog is allowed to grow. This will cause deadlock.

Please not that cleanup_session never will  be called since this is 
called when watch is destroyed and in this case all block because it's 
not possible to write to watch:s backlog.
Comment 1 Göran Jönsson 2016-09-26 09:47:50 UTC
Created attachment 336253 [details] [review]
gst-rtsp-server patch
Comment 2 Göran Jönsson 2016-09-26 09:51:39 UTC
Created attachment 336254 [details] [review]
gst-rtsp-server patch
Comment 3 Sebastian Dröge (slomo) 2016-10-25 09:56:18 UTC
commit dbf91ab231ad793646c6de540f105b4b24db9f25
Author: Göran Jönsson <goranjn@axis.com>
Date:   Mon Sep 26 11:16:04 2016 +0200

    rtsp-client: Session filter in unwatch session
    
    Call session filter with filter_session_media as paramer in
    client_unwatch_session if using drop_backlog = FALSE.
    
    In client_unwatch_session its allowed to grow the watchs backlog.
    If using drop_backlog = FALSE and the backlog is full it will cause
    a deadlock when setting session media state to NULL
    if the backlog is not allowed to grow.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=771983