[Bug 696885] New: gst printf specifier extensions can conflict with other libraries 'Q' modifier
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Fri Mar 29 18:34:45 PDT 2013
https://bugzilla.gnome.org/show_bug.cgi?id=696885
GStreamer | gstreamer (core) | 1.x
Summary: gst printf specifier extensions can conflict with
other libraries 'Q' modifier
Classification: Platform
Product: GStreamer
Version: 1.x
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: gstreamer (core)
AssignedTo: gstreamer-bugs at lists.freedesktop.org
ReportedBy: prahal at yahoo.com
QAContact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
Created an attachment (id=240147)
--> (https://bugzilla.gnome.org/attachment.cgi?id=240147)
testcase that reproduce pitivi use case with gst debug on - segfault
eglibc was segfaulting when gst debug printing segments in pitivi ... turns out
pitivi import numpy which register a printf modifier 'Q' .. As libc6 treats
modifiers first, with 'send segment %Q to pad %P", "%Q " becomes '% ' after
modifier processing and as there are not '% ' registered printf extension, the
segment is sent to next qualifier '%P'
segfault happens when the gst extension to handle '%P' attempt to make a gst
object from the gst segment.
one hack to fix the issue:
to avoid the (numpy/quadmath) 'Q' modifier from breaking gst 'Q' specifier ...
using "send segment %hQ to pad %P" fixes the issue (note the spurious valid 'h'
modifier which prevent 'Q' from possible processing as a modifier
as we do not handle 'h' in our specifier handler it has no effect.
The eglibc 2.17 treats modifiers first, with 'send segment %Q to pad %P", "%Q
" becomes '% ' after modifier processing and as there are not '% ' registered
printf extension, the segment is sent to next qualifier '%P'
segfault happens when the gst extension to handle '%P' attempt to make a gst
object from the gst segment.
... turns out pitivi import numpy which register a printf modifier 'Q' .
--
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