How to track down assertion failures

Tim-Philipp Müller t.i.m at zen.co.uk
Fri Mar 1 09:03:21 PST 2013


On Fri, 2013-03-01 at 09:47 -0700, Gary Thomas wrote:

> > On Fri, 2013-03-01 at 09:12 -0700, Gary Thomas wrote:
> >> I'm using 0.10 to display an RTSP video stream with a pipeline that looks like this:
> >>     rtspsrc name=src \
> >>       src. ! tee name=v-t \
> >>         v-t. ! queue ! rtph264depay ! h264parse ! ffdec_h264 ! videoscale ! video/x-raw-yuv,width=240,height=120 ! ffmpegcolorspace ! ximagesink  \
> >>       src. ! tee name=a-t \
> >>         a-t. ! queue ! rtpmpadepay ! mpegaudioparse ! fakesink
> >>
> >> Once it gets going, I get a slew of these errors:n
> >>     GStreamer-CRITICAL **: _gst_util_uint64_scale_int: assertion `num >= 0' failed
> >>
> >> How can I track down which of the NNNN uses of that function is
> >> throwing this assertion?
> >
> > You can run
> >
> >   $ G_DEBUG=fatal_warnings gdb --args /usr/bin/gst-launch-0.10 xyz...
> >
> > then it will abort at the warning and you can get a stack trace and
> > print the elements.
> 
> Will this work if I'm not using gst-launch?  I'm building the pipeline
> in my own Python code.

It should also work with

G_DEBUG=fatal_warnings gdb --args /usr/bin/python yourapp.py

Cheers
 -Tim




More information about the gstreamer-devel mailing list