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 692323 - rtsp-client: "rollback" do not destroy the rtsp watch
rtsp-client: "rollback" do not destroy the rtsp watch
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-rtsp-server
0.10.x
Other Linux
: Normal normal
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2013-01-22 20:11 UTC by Aleix Conchillo Flaqué
Modified: 2013-06-06 08:11 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
rtsp client connection segfault (1.32 KB, text/x-log)
2013-01-22 20:11 UTC, Aleix Conchillo Flaqué
Details

Description Aleix Conchillo Flaqué 2013-01-22 20:11:08 UTC
Created attachment 234135 [details]
rtsp client connection segfault

Bug 685220 patch seems to do the right thing for destroying the client rtsp connection watch.

   commit 13e1b15da1fc0c04cf1816863febaeeb11ad5ea1

But under stress tests of the server (multiple clients connecting and disconnecting simultaneously) we have ran into segfaults multiple times (see attachment).

Before, after closing the connection the watch was not available anymore. However, with the new code, when we close the connection the watch is still running, so we might be using the connection when we should not.

I can think of two situations:

- Bad implemented client that after TEARDOWN immediately sends some data. In handle_teardown_request we close the connection but the watch still runs.

- A client session expires so we close the connection for that session but the watch still runs. If the client decides to send some data at that point we hit the problem again.

So, I think the previous implementation is safer. The new one only works if the client closes the connection properly, but does not take into account corner cases.
Comment 1 Andrzej Bieniek 2013-01-24 09:29:04 UTC
Do you use RTP/TCP transport in your clients?

I'm seeing crashes in "connection watch" area but triggered from streaming thread reported in bug 692433

It's not exactly the same although solution (which I don't know yet) may or really should fix both of them.
Comment 2 Aleix Conchillo Flaqué 2013-01-24 15:58:32 UTC
No we use RTP/UDP. But, the connection that I'm referring to is from the RTSP socket.
Comment 3 Wim Taymans 2013-01-28 10:42:07 UTC
I think the fix for #692433 might also fix this. Can you retest?
Comment 4 Tobias Mueller 2013-06-05 23:56:26 UTC
Aleix, ping
Comment 5 Aleix Conchillo Flaqué 2013-06-06 00:15:54 UTC
Hey! Just forgot about this one. We are in the process of switching to GStreamer 1.0, almost there. So, I am not sure if I will be able to retest again under 0.10, but I will do for 1.0.

So, may be you should just close this, considering 0.10 is not maintained anymore. I will reopen a bug if we still can reproduce this in 1.0.
Comment 6 Tim-Philipp Müller 2013-06-06 08:11:55 UTC
Alright, thanks. Let's close this for now then and you'll re-open or file a new bug if it's still an issue with 1.x.