Bug#561553: ffmpeg: segmentation fault when creating mjpeg file from jpg sequence

B. Bogart ben at ekran.org
Tue Dec 22 21:07:55 UTC 2009


Ok, strangely enough I now can't reproduce my original fault.

There are still issues, but now they are not reproduced by upstream, but
only in the stable lenny and debian multimedia versions, and is
seemingly not related to MMX.

I've attached two jpegs (one directclass (colour) and one pseudoclass
(greyscale)). The following bash script will make a bunch of links to
those files in a "frames" directory:

#!/bin/bash
# Create links from jpeg files to emulate many frames.

for i in `seq 0 50`
	do ln -s ../DirectClass.jpg `printf "frames/frame_%05d.jpg" $i`
	i=$(($i+1))
done

for i in `seq 51 51`
	do ln -s ../PseudoClass.jpg `printf "frames/frame_%05d.jpg" $i`
	i=$(($i+1))
done

The resulting sequence processed by ffmpeg as follows:

ffmpeg -intra -an -sameq -i "frames/frame_%05d.jpg" test.mpg

results in this backtrace:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xf73836c0 (LWP 21344)]
0xf778f476 in memcpy () from /lib/i686/cmov/libc.so.6
(gdb) bt
#0  0xf778f476 in memcpy () from /lib/i686/cmov/libc.so.6
#1  0x09f40978 in ?? ()
#2  0xf78a7555 in simpleCopy (c=0x9f24a90, src=0x0, srcStride=0xff81e13c,
    srcSliceY=0, srcSliceH=480, dst=0xf735d020, dstStride=0xff81e14c)
    at
/build/siretart-ffmpeg-debian_0.svn20080206-18-i386-ZyxKlX/ffmpeg-debian-0.svn20080206-18/libswscale/swscale.c:1798
#3  0xf78a6c50 in sws_scale (c=0x9f24a90, src=0xff81e4bc,
srcStride=0xff81e4cc,
    srcSliceY=0, srcSliceH=480, dst=0x9f40978, dstStride=0x9f40988)
    at
/build/siretart-ffmpeg-debian_0.svn20080206-18-i386-ZyxKlX/ffmpeg-debian-0.svn20080206-18/libswscale/swscale.c:2559
#4  0x0804eb34 in output_packet (ist=0x9f408b0, ist_index=0,
ost_table=0x9f40930,
    nb_ostreams=1, pkt=0xff81f3b8)
    at
/build/siretart-ffmpeg-debian_0.svn20080206-18-i386-ZyxKlX/ffmpeg-debian-0.svn20080206-18/ffmpeg.c:782
#5  0x08051b68 in av_encode (output_files=0x805a440, nb_output_files=1,
    input_files=0x805a340, nb_input_files=1, stream_maps=0x805a4a0,
nb_stream_maps=0)
    at
/build/siretart-ffmpeg-debian_0.svn20080206-18-i386-ZyxKlX/ffmpeg-debian-0.svn20080206-18/ffmpeg.c:1989
#6  0x08052175 in main (argc=Cannot access memory at address 0x50
)
    at
/build/siretart-ffmpeg-debian_0.svn20080206-18-i386-ZyxKlX/ffmpeg-debian-0.svn20080206-18/ffmpeg.c:3939

again this is not applying to ffmpeg svn trunk.

Thanks,
B. Bogart





Reinhard Tartler wrote:
> "B. Bogart" <ben at ekran.org> writes:
> 
>> Disabling mmx does solve the segfault.
>>
>> The cause of the problem is jpgs of different classes in my sequence. I
>> ended up with some pseduoclass images in the sequence of largely
>> directclass jpgs, which kill ffmpeg. With mmx enabled this results in a
>> segfault, with mmx disabled ffmpeg just quits (return 1).
> 
> I see.
> 
> In this case, we need a minimal testcase so that upstream can easily
> reproduce and locate the exact location of the crash; it must be
> somewhere in the hand-written mmx capable assembler. Your first report
> contained only a single jpeg, so this is not sufficient.
> 
> Would you mind creating this minimal testcase? Please state if you
> prefer to have the pkg-multimedia team forward this bug upstream or if
> you will do this yourself. I think it would be more efficient if you
> could do this yourself, as you already know all details about this
> issue. Please tell us the roundup id so that we know if and when this
> will be fixed upstream.
> 
>> -v 10 does not give any hints about the quit, an error message would be
>> useful when a pseudoclass jpeg in found in a sequence and exiting with
>> an error message.
> 
> TBH, I have no clue what 'pseudoclasses' and 'classes' in general in
> jpeg files mean.
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: DirectClass.jpg
Type: image/jpeg
Size: 25846 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-multimedia-maintainers/attachments/20091222/924e85db/attachment-0002.jpg>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PseudoClass.jpg
Type: image/jpeg
Size: 1361 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-multimedia-maintainers/attachments/20091222/924e85db/attachment-0003.jpg>


More information about the pkg-multimedia-maintainers mailing list