GNOME Bugzilla – Bug 650786
Crash in libavcodec
Last modified: 2011-05-23 10:25:34 UTC
Ubuntu 10.04 Gnome 2.30.2 GStreamer version 0.10.28 This is a simple console program using GStreamer to decode 2 files to an appsink. Pipeline: filesrc -> decode2bin -> audioconvertor -> appsink It crashes every time - Segmentation fault. Either file can be decoded on its own, and they can both be decoded if we do the mov first then the mp3. If we switch the appsink for a filesink or a fakesink then everything is fine. Am I doing something silly? Answers on a postcard please, to andy@seventhstring.com ***** Files at www.seventhstring.com/other/gsttest/ Readme.txt - this file 03 Son Of Sky Dive.mp3 & bola2.mov - media files. gsttest.cpp - program which crashes build.sh - script for building it. ***** To reproduce: download these files and: ./build.sh ./gsttest
Could you get a stack trace from gdb?
Certainly, though it's not hugely informative (or at least not to me). Here are the last few lines off my console. [t!file-source]: PAUSED -> PLAYING [t!pipeline]: PAUSED -> PLAYING [Thread 0xad2feb70 (LWP 2800) exited] Program received signal SIGSEGV, Segmentation fault.
+ Trace 227220
Thread 3075472240 (LWP 2798)
For some reason my last comment doesn't show the last few lines correctly - here they are again with an X at the fromt of each line. X Program received signal SIGSEGV, Segmentation fault. X [Switching to Thread 0xb74ffb70 (LWP 2798)] X 0x00e36ac5 in ?? () from /usr/lib/i686/cmov/libavcodec.so.52 X (gdb) bt X #0 0x00e36ac5 in ?? () from /usr/lib/i686/cmov/libavcodec.so.52 X (gdb)
You're using ffmpeg that was provided by your distribution instead of the ffmpeg version that is included in gst-ffmpeg. We don't provide support if you're using a different ffmpeg version than the one included. If you can reproduce the crash with the ffmpeg version included in gst-ffmpeg please reopen the bug.
Thanks, but how do I do that? And how can I tell which ffmpeg I am using? Is it just a question of ffmpeg version numbers? BTW as a matter of curiosity have you tried this test program? Does it work for you, using gst-ffmpeg?
You have to build gst-ffmpeg from source. And you see that you're using a different ffmpeg from your backtrace, it lists /usr/lib/i686/cmov/libavcodec.so.52 Your test program doesn't crash for me