[Bug 737752] rtsp-client: crash when cleaning up session

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Wed Oct 1 15:20:07 PDT 2014


https://bugzilla.gnome.org/show_bug.cgi?id=737752
  GStreamer | gst-rtsp-server | git

--- Comment #1 from Aleix Conchillo Flaqué <aconchillo at gmail.com> 2014-10-01 22:20:03 UTC ---
Created an attachment (id=287546)
 View: https://bugzilla.gnome.org/attachment.cgi?id=287546
 Review: https://bugzilla.gnome.org/review?bug=737752&attachment=287546

rtspconnection: call notify before releasing watch resources

This is a first attempt to fix this. It is a patch for gstrtspconnection.c
(gst-plugins-base).

If we call the watch notify function before releasing the watch resources in
gst_rtsp_source_finalize, the notify callback can lock and set priv->watch to
NULL so other functions can finish properly.

In the particular case of this bug, this is what would happen (with this
patch): 

client_session_removed is called with or without priv->watch==NULL. If not
NULL, watch backlog will be set with watch being valid. It is valid because
client_watch_notify might have been executing at the same time but is blocked
in the client lock (notify hasn't finished, so watch resources are still
valid).

I have to say that I'm not fully sure about this one. It seems to me, someone
should keep a reference to the watch, but I don't see who or how.

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list