[gstreamer-bugs] [Bug 349180] New: gst_parse_launch is not reentrant (or recursively callable)
GStreamer (bugzilla.gnome.org)
bugzilla-daemon at bugzilla.gnome.org
Sat Jul 29 08:16:35 PDT 2006
Do not reply to this via email (we are currently unable to handle email
responses and they get discarded). You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=349180
GStreamer | gstreamer (core) | Ver: HEAD CVS
Summary: gst_parse_launch is not reentrant (or recursively
callable)
Product: GStreamer
Version: HEAD CVS
Platform: Other
OS/Version: All
Status: UNCONFIRMED
Severity: critical
Priority: Normal
Component: gstreamer (core)
AssignedTo: gstreamer-bugs at lists.sourceforge.net
ReportedBy: marcandre.lureau at gmail.com
QAContact: gstreamer-bugs at lists.sourceforge.net
GNOME version: 2.15/2.16
GNOME milestone: Unspecified
Steps to reproduce:
By calling gst_parse_launch recursively
Stack trace:
This is an excerpt of valgrind analysis
==22502== Invalid write of size 1
==22502== at 0x40BD49E: _gst_parse_yylex (lex._gst_parse_yy.c:1059)
==22502== by 0x40C4374: _gst_parse__yylex (grammar.y:797)
==22502== by 0x40C0F6E: _gst_parse__yyparse (grammar.tab.c:1629)
==22502== by 0x40C4478: _gst_parse_launch (grammar.y:838)
==22502== by 0x40B6D50: gst_parse_launch (gstparse.c:159)
==22502== by 0x40B6C7C: gst_parse_launchv (gstparse.c:121)
==22502== by 0x804B1F1: main (gst-launch.c:603)
==22502== Address 0x48AAC40 is 16 bytes inside a block of size 18 free'd
==22502== at 0x401CFCF: free (vg_replace_malloc.c:235)
==22502== by 0x40BF380: _gst_parse_yyfree (lex._gst_parse_yy.c:2138)
==22502== by 0x40BEB02: _gst_parse_yy_delete_buffer
(lex._gst_parse_yy.c:1726)
==22502== by 0x40C453A: _gst_parse_launch (grammar.y:845)
==22502== by 0x40B6D50: gst_parse_launch (gstparse.c:159)
==22502== by 0x40AD840: gst_parse_bin_from_description (gstutils.c:3151)
==22502== by 0x463C67E: gsmart_audio_sink_set_property
(gsmart-audiosink.c:369)
==22502== by 0x423267A: g_object_set_property (in
/usr/lib/libgobject-2.0.so.0.1000.3)
==22502== by 0x40BF5DF: gst_parse_element_set (grammar.y:289)
==22502== by 0x40C1579: _gst_parse__yyparse (grammar.y:581)
==22502== by 0x40C4478: _gst_parse_launch (grammar.y:838)
==22502== by 0x40B6D50: gst_parse_launch (gstparse.c:159)
Other information:
it seems that 2 functions should be used to push/pop the state of the lexer.
_gst_parse_yypush_buffer_state /pop
I will provide a patch ASAP if it's the right way to correct this behavior.
--
Configure bugmail: http://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