[FFmpeg-user] ffmpeg segmentation fault when reading vob files

Khelben Blackstaff eye.of.the.8eholder at gmail.com
Mon Jul 25 00:31:16 CEST 2011


Hello.

For some time now, ffmpeg crashes when i try to transcode a dvd. I am
now using ffmpeg at commit 4095fa903830f (July 22) and it continues to
have this behavior.

Because ffmpeg can't read the dvd directly as mencoder did, i use
mplayer -dvd-device VIDEO_TS dvd://X -dumpstream to produce a vob
and use that with ffmpeg.

The complete command i used this time is "ffmpeg -i stream.dump -y
-t 6594 -b 2000k -r 25 -vcodec libx264 -preset slow -pass 1 -acodec copy
-alang en -vf crop=720:432:0:72 -threads 2 movie.avi"

The same crash happens without crop and even if i use another vcodec
such as mpeg4. On a dvd the crash might happen at frame 1652 on another
at frame 146 etc. Generally it occurs not far from the start.

A workaround i use is to have -i video.mpg -i audio.ac3 (both files
produced again using mplayer but with -dumpaudio and -dumpvideo instead
of -dumpstream). This way it works fine, that is why i supposed the
problem exists when reading vob files.

I compiled ffmpeg with debugging symbols enabled and gdb says:

#0  0x000000000040b16b in transcode (nb_output_files=1,
input_files=0x61b010, nb_input_files=1, stream_maps=0x0, nb_stream_maps=<value optimized out>, 
    output_files=0x619d80) at ffmpeg.c:2770
#1  0x000000000041054f in main (argc=<value optimized out>, 
    argv=<value optimized out>) at ffmpeg.c:4565

(disass $pc-32,$pc+32 doesn't work)

while valgrind says:

Invalid read of size 4
   at 0x40B14B: transcode.clone.11 (ffmpeg.c:2766)
   by 0x41054E: main (ffmpeg.c:4565)
 Address 0x9c03600 is not stack'd, malloc'd or (recently) free'd

Invalid read of size 8
   at 0x40B162: transcode.clone.11 (ffmpeg.c:2770)
   by 0x41054E: main (ffmpeg.c:4565)
 Address 0x9c035f8 is 8 bytes after a block of size 352 alloc'd

Invalid read of size 8
   at 0x40B16B: transcode.clone.11 (ffmpeg.c:2770)
   by 0x41054E: main (ffmpeg.c:4565)
 Address 0x40 is not stack'd, malloc'd or (recently) free'd

Process terminating with default action of signal 11 (SIGSEGV)
Access not within mapped region at address 0x40
   at 0x40B16B: transcode.clone.11 (ffmpeg.c:2770)
   by 0x41054E: main (ffmpeg.c:4565)


I don't know if it is a bug or i did something wrong, but i post it in
case it is a bug.

Thank your for your time.


More information about the ffmpeg-user mailing list