Can anyone explain whats happening here ?
Marc Murphy
marcmltd at marcm.co.uk
Mon Oct 8 12:56:19 PDT 2012
I have tried filtering on the element type and setting the different levels and it always seems to be when the first element is above level 2 it borks. So I built gdb for the target and ran gst-launch and setting the debug level to 3. It caught the SIGABRT and I looked at the backtrace;
Program received signal SIGABRT, Aborted.
0xb6c40898 in raise () from /lib/libc.so.6
(gdb) bt
#0 0xb6c40898 in raise () from /lib/libc.so.6
#1 0xb6c45c0c in abort () from /lib/libc.so.6
#2 0xb6e4334c in _g_gnulib_vasnprintf (resultbuf=0x0, lengthp=0xbeffeee4,
format=<optimized out>, args=...) at vasnprintf.c:1026
#3 0xb6e43790 in _g_gnulib_vasprintf (result=0xbeffeefc,
format=<optimized out>, args=...) at printf.c:144
#4 0xb6e3ec98 in g_vasprintf (string=0xbeffeefc, format=<optimized out>,
args=...) at gprintf.c:308
#5 0xb6e200e8 in g_strdup_vprintf (format=<optimized out>, args=...)
at gstrfuncs.c:509
#6 0xb6e20108 in g_strdup_printf (format=0xb6fb2ef1 "<%s@%p>")
at gstrfuncs.c:535
#7 0xb6f4faa4 in gst_debug_log_default (category=0x18400,
level=GST_LEVEL_INFO, file=0x0,
function=0x31b <Address 0x31b out of bounds>, line=728, object=0xc2010,
message=0xbeffefe4, unused=0x0) at gstinfo.c:954
#8 0xb6f4e748 in gst_debug_log_valist (category=0x18400,
level=GST_LEVEL_INFO, file=0xb6faf6b8 "gstelement.c",
function=0xb6faf21f "gst_element_add_pad", line=728, object=0xc2010,
format=0xb6fafa19 "adding pad '%s'", args=...) at gstinfo.c:533
#9 0xb6f4e82c in gst_debug_log (category=<optimized out>,
level=<optimized out>, file=<optimized out>, function=<optimized out>,
line=728, object=0xc2010, format=0xb6fafa19 "adding pad '%s'")
Looks like its;
#7 0xb6f4faa4 in gst_debug_log_default (category=0x18400,
level=GST_LEVEL_INFO, file=0x0,
function=0x31b <Address 0x31b out of bounds>, line=728, object=0xc2010,
message=0xbeffefe4, unused=0x0) at gstinfo.c:954
That’s causing the issue.. problem is that what is function 0x31b and what source file is it in ???
I am going to try and build with all optimisation turned off and see if that helps in any way.
Just from scanning the backtrace I think it has something to do with the printf or gprintf and possibly formatting. I could be completely wrong though.
Any insight or advice would be appreciated.
Regards
Marc
-----Original Message-----
From: gstreamer-devel-bounces+marcmltd=marcm.co.uk at lists.freedesktop.org [mailto:gstreamer-devel-bounces+marcmltd=marcm.co.uk at lists.freedesktop.org] On Behalf Of Jan Schmidt
Sent: 06 October 2012 11:49
To: Discussion of the development of and with GStreamer
Subject: Re: Can anyone explain whats happening here ?
On Thu, 2012-10-04 at 19:46 +0000, Marc Murphy wrote:
> Hi All,
>
> I have recently cross compiled gstreamer for my Ti Omap platform using
> buildroot and having a little trouble getting debug out. I have a
> pipeline that I need to debug and thought switching on level 5 would
> help… gives a lot of data but I can live with that to try and see
> whats going on.
>
>
>
> So I set env GST_DEBUG=5 and started the pipeline and it Aborts. ???
This may be a bug in a particular plugin - illegal access in a debug statement - or it may be a general problem with the way you've compiled things.
I'd try turning on individual debug categories and see if it's a particular thing that makes it crash, or (better) run it in a debugger and catch the crash backtrace.
To turn on individual debug categories, use GST_DEBUG as a mask:
GST_DEBUG=*sink:5,identity:3 gst-launch videotestsrc ! identity !
fakesink
for example.
J.
>
>
>
> I then thought let’s try a known working test pipeline
>
> # gst-launch -v v4l2src device=/dev/video1 ! video/x-raw-yuv,
> width=320,height=240,framerate=30/1 ! ffmpegcolorspace ! omapfbsink
>
> That also borked…..
>
>
>
> If I don’t request debug and only use verbose (-v) on the gst-launch
> command the pipeline works;
>
> # gst-launch -v v4l2src device=/dev/video1 ! video/x-raw-yuv,
> width=320,height=240,framerate=30/1 ! ffmpegcolorspace ! omapfbsink
>
> Setting pipeline to PAUSED ...
>
> /GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps =
> video/x-raw-yuv, format=(fourcc)YUY2, width=(int)320, height=(int)240,
> interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1,
> framerate=(fraction)30/1
>
> Pipeline is live and does not need PREROLL ...
>
> Setting pipeline to PLAYING ...
>
> New clock: GstSystemClock
>
> /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps =
> video/x-raw-yuv, format=(fourcc)YUY2, width=(int)320, height=(int)240,
> interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1,
> framerate=(fraction)30/1
>
> /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps =
> video/x-raw-yuv, format=(fourcc)YUY2, width=(int)320, height=(int)240,
> interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1,
> framerate=(fraction)30/1
>
> /GstPipeline:pipeline0/GstFFMpegCsp:ffmpegcsp0.GstPad:src: caps =
> video/x-raw-yuv, width=(int)320, height=(int)240,
> framerate=(fraction)30/1, format=(fourcc)UYVY,
> interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1
>
> /GstPipeline:pipeline0/GstFFMpegCsp:ffmpegcsp0.GstPad:sink: caps =
> video/x-raw-yuv, format=(fourcc)YUY2, width=(int)320, height=(int)240,
> interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1,
> framerate=(fraction)30/1
>
> /GstPipeline:pipeline0/GstOmapFbSink:omapfbsink0.GstPad:sink: caps =
> video/x-raw-yuv, width=(int)320, height=(int)240,
> framerate=(fraction)30/1, format=(fourcc)UYVY,
> interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1
>
> Caught interrupt -- handling interrupt.
>
> Interrupt: Stopping pipeline ...
>
> Execution ended after 3512604141 ns.
>
> Setting pipeline to PAUSED ...
>
> Setting pipeline to READY ...
>
> /GstPipeline:pipeline0/GstOmapFbSink:omapfbsink0.GstPad:sink: caps =
> NULL
>
> /GstPipeline:pipeline0/GstFFMpegCsp:ffmpegcsp0.GstPad:src: caps = NULL
>
> /GstPipeline:pipeline0/GstFFMpegCsp:ffmpegcsp0.GstPad:sink: caps =
> NULL
>
> /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps =
> NULL
>
> /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps =
> NULL
>
> /GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = NULL
>
> Setting pipeline to NULL ...
>
> Freeing pipeline ...
>
> #
>
>
>
> So I thought let’s try it with debug level 5 and it fails;
>
>
>
> # gst-launch -v v4l2src device=/dev/video1 ! video/x-raw-yuv,
> width=320,height=240,framerate=30/1 ! ffmpegcolorspace ! omapfbsink
>
>
>
> 0:00:00.000762939 768 UNDEFINED segment INFO GST_INIT
> gst.c:613:init_pre: Initializing GStreamer Core Library version
> 0.10.36
>
> 0:00:00.001525878 768 UNDEFINED segment INFO GST_INIT
> gst.c:614:init_pre: Using library installed in /usr/lib
>
> 0:00:00.001770019 768 UNDEFINED segment INFO GST_INIT
> gst.c:624:init_pre: Linux buildroot 3.6.0-rc6 #9 Wed Sep 26 20:40:59
> BST 2012 armv7l
>
> 0:00:00.003082275 768 UNDEFINED segment INFO GST_INIT
> gstquery.c:107:_gst_query_initialize: init queries
>
> 0:00:00.012725831 768 UNDEFINED segment INFO GST_INIT
> gstmessage.c:73:_gst_message_initialize: init messages
>
> 0:00:00.015136720 768 UNDEFINED segment INFO GST_PLUGIN_LOADING
> gstplugin.c:350:_gst_plugin_initialize: registering 0 static plugins
>
> 0:00:00.017333986 768 UNDEFINED segment INFO GST_PLUGIN_LOADING
> gstplugin.c:255:gst_plugin_register_static: registered static plugin
> "staticelements"
>
> 0:00:00.017578127 768 UNDEFINED segment INFO GST_PLUGIN_LOADING
> gstplugin.c:257:gst_plugin_register_static: added static plugin
> "staticelements", result: 1
>
> 0:00:00.023651126 768 UNDEFINED segment INFO GST_REGISTRY
> gstregistry.c:1648:ensure_current_registry: reading registry
> cache: /root/.gstreamer-0.10/registry.arm.bin
>
> 0:00:00.225189237 768 UNDEFINED segment INFO GST_REGISTRY
> gstregistrybinary.c:614:gst_registry_binary_read_cache:
> loaded /root/.gstreamer-0.10/registry.arm.bin in 0.201080 seconds
>
> 0:00:00.225952177 768 UNDEFINED segment INFO GST_REGISTRY
> gstregistry.c:1518:scan_and_update_registry: Validating plugins from
> registry cache: /root/.gstreamer-0.10/registry.arm.bin
>
> 0:00:00.247680696 768 UNDEFINED segment INFO GST_REGISTRY
> gstregistry.c:1610:scan_and_update_registry: Registry cache has not
> changed
>
> 0:00:00.247985871 768 UNDEFINED segment INFO GST_REGISTRY
> gstregistry.c:1683:ensure_current_registry: registry reading and
> updating done, result = 1
>
> 0:00:00.248230012 768 UNDEFINED segment INFO GST_INIT
> gst.c:805:init_post: GLib runtime version: 2.30.2
>
> 0:00:00.248413117 768 UNDEFINED segment INFO GST_INIT
> gst.c:807:init_post: GLib headers version: 2.30.2
>
> 0:00:00.248840364 768 UNDEFINED segment INFO GST_PIPELINE
> gstparse.c:334:gst_parse_launch_full: parsing pipeline description
> 'v4l2src device=/dev/video1 ! video/x-raw-yuv,
> width=320,height=240,framerate=30/1 ! ffmpegcolorspace ! omapfbsink '
>
> 0:00:00.278472935 768 UNDEFINED segment INFO GST_PLUGIN_LOADING
> gstplugin.c:859:gst_plugin_load_file: plugin
> "/usr/lib/gstreamer-0.10/libgstvideo4linux2.so" loaded
>
> 0:00:00.278961217 768 UNDEFINED segment INFO GST_ELEMENT_FACTORY
> gstelementfactory.c:376:gst_element_factory_create: creating element
> "v4l2src"
>
> Aborted
>
>
>
> The only way I can get some info out is with level 2;
>
> # export GST_DEBUG=2
>
> #
>
> # gst-launch -v v4l2src device=/dev/video1 ! video/x-raw-yuv,
> width=320,height=240,framerate=30/1 ! ffmpegcolorspace ! omapfbsink
>
> Setting pipeline to PAUSED ...
>
> /GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps =
> video/x-raw-yuv, format=(fourcc)YUY2, width=(int)320, height=(int)240,
> interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1,
> framerate=(fraction)30/1
>
> Pipeline is live and does not need PREROLL ...
>
> Setting pipeline to PLAYING ...
>
> 0:00:00.725891187 772 UNDEFINED segment WARN bin
> gstbin.c:2399:gst_bin_do_latency_func:<pipeline0> failed to query
> latency
>
> New clock: GstSystemClock
>
> /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps =
> video/x-raw-yuv, format=(fourcc)YUY2, width=(int)320, height=(int)240,
> interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1,
> framerate=(fraction)30/1
>
> /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps =
> video/x-raw-yuv, format=(fourcc)YUY2, width=(int)320, height=(int)240,
> interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1,
> framerate=(fraction)30/1
>
> /GstPipeline:pipeline0/GstFFMpegCsp:ffmpegcsp0.GstPad:src: caps =
> video/x-raw-yuv, width=(int)320, height=(int)240,
> framerate=(fraction)30/1, format=(fourcc)UYVY,
> interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1
>
> /GstPipeline:pipeline0/GstFFMpegCsp:ffmpegcsp0.GstPad:sink: caps =
> video/x-raw-yuv, format=(fourcc)YUY2, width=(int)320, height=(int)240,
> interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1,
> framerate=(fraction)30/1
>
> /GstPipeline:pipeline0/GstOmapFbSink:omapfbsink0.GstPad:sink: caps =
> video/x-raw-yuv, width=(int)320, height=(int)240,
> framerate=(fraction)30/1, format=(fourcc)UYVY,
> interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1
>
> 0:00:00.955627541 772 UNDEFINED segment WARN bin
> gstbin.c:2395:gst_bin_do_latency_func:<pipeline0> did not really
> configure latency of 0:00:00.033333333
>
> Caught interrupt -- handling interrupt.
>
> Interrupt: Stopping pipeline ...
>
> Execution ended after 10530976495 ns.
>
> Setting pipeline to PAUSED ...
>
> Setting pipeline to READY ...
>
> /GstPipeline:pipeline0/GstOmapFbSink:omapfbsink0.GstPad:sink: caps =
> NULL
>
> /GstPipeline:pipeline0/GstFFMpegCsp:ffmpegcsp0.GstPad:src: caps = NULL
>
> /GstPipeline:pipeline0/GstFFMpegCsp:ffmpegcsp0.GstPad:sink: caps =
> NULL
>
> /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps =
> NULL
>
> /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps =
> NULL
>
> /GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = NULL
>
> Setting pipeline to NULL ...
>
> Freeing pipeline ...
>
> #
>
>
>
> The problem is that level 2 isnt enough to see whats going on in the
> setup stage that is causing the pipeline to bork…
>
>
>
> I have checked the build options for the gstreamer components and I
> have;
>
>
>
> /*********************************************************************
> **/
>
>
>
> It was created by GStreamer configure 0.10.36, which was
>
> generated by GNU Autoconf 2.68. Invocation command line was
>
>
>
> $ ./configure --target=arm-unknown-linux-gnueabi
> --host=arm-unknown-linux-gnueabi --build=i686-pc-linux-gnu
> --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --program-prefix=
> --disable-gtk-doc --enable-ipv6 --enable-static --enable-shared
> --disable-examples --disable-tests --disable-failing-tests
> --disable-loadsave
>
>
>
> /*********************************************************************
> **/
>
>
>
> It was created by GStreamer Good Plug-ins configure 0.10.31, which was
>
> generated by GNU Autoconf 2.68. Invocation command line was
>
>
>
> $ ./configure --target=arm-unknown-linux-gnueabi
> --host=arm-unknown-linux-gnueabi --build=i686-pc-linux-gnu
> --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --program-prefix=
> --disable-gtk-doc --enable-ipv6 --enable-static --enable-shared
> --disable-examples --disable-directsound --disable-sunaudio
> --disable-osx_audio --disable-osx_video --disable-aalib
> --disable-aalibtest --disable-esd --disable-esdtest --disable-shout2
> --disable-x --disable-xshm --disable-xvideo --enable-jpeg
> --enable-libpng --disable-bz2 --disable-zlib --disable-alpha
> --disable-apetag --disable-audiofx --enable-audioparsers
> --disable-auparse --disable-autodetect --enable-avi --disable-cutter
> --disable-debugutils --disable-deinterlace --disable-effectv
> --disable-equalizer --disable-flv --disable-flx --disable-goom
> --disable-goom2k1 --disable-id3demux --disable-icydemux
> --disable-imagefreeze --disable-interleave --disable-isomp4
> --disable-law --disable-level --disable-matroska --disable-monoscope
> --disable-multifile --disable-multipart --disable-replaygain
> --disable-rtp --disable-rtpmanager --disable-rtsp --disable-shapewipe
> --disable-smpte --disable-spectrum --disable-udp --enable-videobox
> --enable-videocrop --enable-videofilter --enable-videomixer
> --disable-wavenc --enable-wavparse --disable-y4m --enable-gst_v4l2
> --disable-annodex --disable-cairo --disable-flac --disable-oss
> --disable-oss4 --disable-pulse --disable-soup --disable-speex
>
>
>
> /*********************************************************************
> **/
>
>
>
> It was created by GStreamer Base Plug-ins configure 0.10.36, which was
>
> generated by GNU Autoconf 2.68. Invocation command line was
>
>
>
> $ ./configure --target=arm-unknown-linux-gnueabi
> --host=arm-unknown-linux-gnueabi --build=i686-pc-linux-gnu
> --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --program-prefix=
> --disable-gtk-doc --enable-ipv6 --enable-static --enable-shared
> --disable-examples --disable-oggtest --disable-vorbistest
> --disable-freetypetest --disable-x --disable-xshm --disable-xvideo
> --enable-adder --disable-app --enable-audioconvert --enable-audiorate
> --enable-audioresample --enable-audiotestsrc --enable-encoding
> --enable-ffmpegcolorspace --disable-gdp --enable-playback
> --disable-subparse --enable-tcp --enable-typefind
> --enable-videotestsrc --enable-videorate --enable-videoscale
> --enable-volume --disable-ogg --disable-pango --disable-theora
> --disable-ivorbis --disable-vorbis
>
> /*********************************************************************
> **/
>
>
>
> It was created by GStreamer Bad Plug-ins configure 0.10.23.1, which
> was
>
> generated by GNU Autoconf 2.68. Invocation command line was
>
>
>
> $ ./configure --target=arm-unknown-linux-gnueabi
> --host=arm-unknown-linux-gnueabi --build=i686-pc-linux-gnu
> --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --program-prefix=
> --disable-gtk-doc --enable-ipv6 --enable-static --enable-shared
> --disable-examples --disable-fatal-warnings --disable-adpcmdec
> --disable-adpcmenc --disable-aiff --enable-asfmux
> --disable-audiovisualizers --disable-autoconvert --disable-bayer
> --enable-camerabin --enable-camerabin2 --disable-cdxaparse
> --disable-coloreffects --enable-colorspace --disable-dataurisrc
> --disable-dccp --disable-debugutils --disable-decklink --disable-dtmf
> --disable-dvbsuboverlay --disable-dvdspu --enable-faceoverlay
> --disable-festival --disable-fieldanalysis --enable-freeze
> --enable-freeverb --disable-frei0r --disable-gaudieffects
> --disable-geometrictransform --disable-gsettings --enable-h264parse
> --enable-hdvparse --disable-hls --disable-id3tag --disable-inter
> --disable-interlace --disable-ivfparse --disable-jp2kdecimator
> --enable-jpegformat --disable-legacyresample --disable-librfb
> --disable-linsys --disable-liveadder --enable-mpegdemux
> --disable-mpegpsmux --disable-mpegtsdemux --enable-mpegtsmux
> --enable-mpegvideoparse --disable-mve --disable-mxf --disable-nsf
> --disable-nuvdemux --disable-patchdetect --disable-pcapparse
> --disable-pnm --disable-rawparse --disable-real
> --disable-removesilence --disable-rtpmux --disable-rtpvp8
> --disable-scaletempo --disable-sdi --disable-sdp --disable-segmentclip
> --disable-siren --disable-smooth --disable-speed --disable-subenc
> --disable-stereo --disable-tta --enable-videofilters
> --enable-videomaxrate --enable-videomeasure --enable-videoparsers
> --enable-videosignal --disable-vmnc --disable-y4m --disable-apexsink
> --disable-bz2 --disable-cdaudio --disable-curl --enable-directfb
> --disable-dvb --enable-fbdev --disable-libmms --disable-neon
> --disable-rsvg --disable-sdl --disable-sndfile --disable-vcd
> --enable-uvch264
>
>
>
> /*********************************************************************
> **/
>
>
>
>
>
> Has this been seen before ?
>
>
>
> Hopefully someone knows what I have configured incorrectly.
>
>
>
> Regards
>
> Marc
>
>
>
>
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
--
Jan Schmidt <thaytan at noraisin.net>
_______________________________________________
gstreamer-devel mailing list
gstreamer-devel at lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
More information about the gstreamer-devel
mailing list