[Bug 705760] New: rtspsrc produces GLib error
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Sat Aug 10 09:43:12 PDT 2013
https://bugzilla.gnome.org/show_bug.cgi?id=705760
GStreamer | gst-plugins-good | 1.1.3
Summary: rtspsrc produces GLib error
Classification: Platform
Product: GStreamer
Version: 1.1.3
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: gst-plugins-good
AssignedTo: gstreamer-bugs at lists.freedesktop.org
ReportedBy: awkravchuk at gmail.com
QAContact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
Hi.
I've stumbled upon a bug introduced between GStreamer 1.1.2 and 1.1.3. Symptom
is rtspsrc element isn't working, aborting any application with message
GLib:ERROR:/tmp/buildd/glib2.0-2.33.12+really2.32.4/./glib/gchecksum.c:1321:g_checksum_get_string:code
should not be reached
and backtrace looking like
#1 0x00007f2d386266f0 in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2 0x00007f2d37f10477 in g_assertion_message ()
from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007f2d37ed25f7 in g_checksum_get_string ()
from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4 0x00007f2d35d6b67f in gst_rtspsrc_handle_data (src=src at entry=0x1b4a000,
message=message at entry=0x7f2d3282cd10) at gstrtspsrc.c:3908
#5 0x00007f2d35d756a1 in gst_rtspsrc_loop_interleaved (src=0x1b4a000)
at gstrtspsrc.c:4060
#6 gst_rtspsrc_loop (src=0x1b4a000) at gstrtspsrc.c:4484
#7 gst_rtspsrc_thread (src=0x1b4a000) at gstrtspsrc.c:6971
#8 0x00007f2d39687be1 in gst_task_func (task=0x1bb8000) at gsttask.c:316
#9 0x00007f2d37f12742 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#10 0x00007f2d37f11f45 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#11 0x00007f2d38981b50 in start_thread ()
from /lib/x86_64-linux-gnu/libpthread.so.0
#12 0x00007f2d386cba7d in clone () from /lib/x86_64-linux-gnu/libc.so.6
#13 0x0000000000000000 in ?? ()
I've digged in sources of gst_rtspsrc_handle_data() and found the bug: prior
1.1.2, there were some manipulations with GChecksum:
http://cgit.freedesktop.org/gstreamer/gst-plugins-good/tree/gst/rtsp/gstrtspsrc.c?id=1.1.2#n3898
with the following call of g_checksum_free(), in 1.1.3 this manipulations were
put in for loop (line 3904) for all streams:
http://cgit.freedesktop.org/gstreamer/gst-plugins-good/tree/gst/rtsp/gstrtspsrc.c?id=1.1.3#n3900
, but the call of g_checksum_free() got into the loop body, so checksum gets
invalid after first loop iteration.
The fix would be simple - just move g_checksum_free() out of streams loop body.
--
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