[gstreamer-bugs] [Bug 506643] New: crash in fixate_value/gst_value_init_and_copy on empty list GValues

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Mon Dec 31 17:01:26 PST 2007


If you have any questions why you received this email, please see the text at
the end of this email. Replies to this email are NOT read, please see the text
at the end of this email. You can add comments to this bug at:
  http://bugzilla.gnome.org/show_bug.cgi?id=506643

  GStreamer | gstreamer (core) | Ver: 0.10.16
           Summary: crash in fixate_value/gst_value_init_and_copy on empty
                    list GValues
           Product: GStreamer
           Version: 0.10.16
          Platform: Other
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: critical
          Priority: Normal
         Component: gstreamer (core)
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: qq at kuku.eu.org
         QAContact: gstreamer-bugs at lists.sourceforge.net
                CC: qq at kuku.eu.org
     GNOME version: Unspecified
   GNOME milestone: Unspecified


GStreamer fails an assertion and then crashes on the following pipeline:
v4l2src ! fakesink

A relevant fragment of the stack-trace (gstreamer 0.10.16) :
#0  gst_value_init_and_copy (dest=0x7fffd7cc3b90, src=0x0) at gstvalue.c:3216
#1  0x00002ae1d2f4c2e5 in fixate_value (dest=0x7fffd7cc3bf0, src=0x5ba328) at
gstpad.c:2113
#2  0x00002ae1d2f4c36b in gst_pad_default_fixate (field_id=489, value=0x0,
data=0x0) at gstpad.c:2151
#3  0x00002ae1d2f5f7b0 in gst_structure_foreach (structure=0x5bb770,
func=0x2ae1d2f4c330 <gst_pad_default_fixate>, 
    user_data=0x5bb770) at gststructure.c:914
#4  0x00002ae1d2f4fa0d in gst_pad_fixate_caps (pad=<value optimized out>,
caps=0x54de00) at gstpad.c:2188

And the assertion: gst_value_list_get_value: assertion `index <
gst_value_list_get_size (value)'.

When fixate_value finds a list, it attempts to read its first element, which
doesn't exist. This triggers the assertion failed. Then the NULL value is
passed to gst_value_init_and_copy, which crashes gstreamer. It's quite possible
that the empty list itself is a sign of a problem with the v4l2src, but
gstreamer should survive such problems. Unfortunately I don't really understand
what fixate_value is supposed to do, so I can't fix it myself.
The last line of the debug output confirms that an empty list triggers the bug: 
gstv4l2src.c:384:gst_v4l2src_fixate:<v4l2src0> fixating caps video/x-raw-yuv,
format=(fourcc)UYVY, width=(int)640, height=(int)480, framerate=(int){  }

This seems related to the 505799 bug, although I'm not sure if it's the same
problem.


-- 
See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received
this email, why you can't respond via email, how to stop receiving
emails (or reduce the number you receive), and how to contact someone
if you are having problems with the system.

You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=506643.




More information about the Gstreamer-bugs mailing list