[Ffmpeg-devel] random crashes decoding MP3s

Jacob Meuser jakemsr
Sun Apr 2 06:31:43 CEST 2006


On Sat, Apr 01, 2006 at 11:41:00PM +0100, M?ns Rullg?rd wrote:
> M?ns Rullg?rd <mru at inprovide.com> writes:
> 
> > Jacob Meuser <jakemsr at jakemsr.com> writes:
> >
> >> On Fri, Mar 31, 2006 at 10:13:24PM +0100, M?ns Rullg?rd wrote:
> >>> Jacob Meuser <jakemsr at jakemsr.com> writes:
> >>> 
> >>> > On Fri, Mar 31, 2006 at 11:33:09AM -0800, Jacob Meuser wrote:
> >>> >> On Fri, Mar 31, 2006 at 08:28:12PM +0100, M?ns Rullg?rd wrote:
> >>> >> > Jacob Meuser <jakemsr at jakemsr.com> writes:
> >>> >> > 
> >>> >> > > hola,
> >>> >> > >
> >>> >> > > I'm seeing occasional random crashes decoding VBR MP3s to WAV, ie:
> >>> >> > >
> >>> >> > > $ ffmpeg file_vbr.mp3 file.wav
> >>> >> > >
> >>> >> > > this is from FFmpeg CVS as of about 9 hours ago on OpenBSD
> >>> >> > > -current.  I also see the crashes with FFmpeg CVS from 03/21/06.
> >>> >> > [...]
> >>> >> > > what seems most strange is that the crashes are random.  often
> >>> >> > > just running the process a second time works.  I'm decoding several
> >>> >> > > MP3 files.  ffmpeg crashes about 20% of the time.  the backtrace
> >>> >> > > looks very similar every time (ie, huffman_decode() is always #0).
> >>> >> > 
> >>> >> > This could be bad memory.  Do you have any other random crashes, like
> >>> >> > GCC segfaulting or so?  Run a memory checker like memtest86, and check
> >>> >> > your cabling.
> >>> >> 
> >>> >> hmmm.  I haven't seen anything else go wonky, but of course sh*t
> >>> >> happens when you least expect it (and can least afford it :().
> >>> >> 
> >>> >> I'll try memtest86 and report back in a while.
> >>> >
> >>> > I only let it go for 1.2 passes but no errors.
> >>> >
> >>> > I realized I had always been building FFmpeg with CFLAGS+=-g, so I
> >>> > tried without.  still crashed in huffman_decode(), but I got through
> >>> > a lot more files before it happened.
> >>> 
> >>> FFmpeg is built with -g by default to that shouldn't make a
> >>> difference.
> >>
> >> I took it out, just out of curiousity.
> >>
> >>> > also, the crashes do not happen with FFmpeg CVS from 04/13/2005.
> >>> 
> >>> Make sure you have a clean build of ffmpeg (make clean; make).
> >
> > I tried to build ffmpeg on OpenBSD myself, and it turns out it's not
> > as easy as it should be.  What exactly have you done to your source to
> > make it build?
> 
> OK, now it builds, but only with --enable-memalign-hack.  Did you use
> this option or disable mmx/sse?  OpenBSD appears to be missing
> memalign() so one or the other is required.  Forcing mmx/sse without a
> proper memalign() can very well result in random crashes.

yes, there is no memlign() on OpenBSD.

quoting malloc(3)

    The allocated space is suitably aligned (after possible pointer coercion)
    for storage of any type of object.  If the space is of pagesize or larg-
    er, the memory returned will be page-aligned.


enabling the memalign-hack actually causes crashes all over the
place.  I am only seeing problems decoding MP3 files.

-- 
<jakemsr at jakemsr.com>





More information about the ffmpeg-devel mailing list