Opened 12 years ago

Closed 12 years ago

#996 closed defect (fixed)

Segmentation fault (SIGSEGV) when using ISMV muxer (FFMpeg 0.10). Muxer usage example wanted.

Reported by: Vadim Owned by:
Priority: normal Component: avformat
Version: git-master Keywords: ismv
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

test@SSTest:~$ gdb --args /home/test/ffmpeg/ffmpeg_g -y -i /home/test/Kak_ukrast_million.avi -c:a libfaac -c:v libx264 -movflags frag_keyframe -f ismv /home/test/Kak_ukrast_million.ismv
GNU gdb (Ubuntu/Linaro 7.3-0ubuntu2) 7.3-2011.08
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.launchpad.net/gdb-linaro/>...
Reading symbols from /home/test/ffmpeg/ffmpeg_g...done.
(gdb) r
Starting program: /home/test/ffmpeg/ffmpeg_g -y -i /home/test/Kak_ukrast_million.avi -c:a libfaac -c:v libx264 -movflags frag_keyframe -f ismv /home/test/Kak_ukrast_million.ismv
[Thread debugging using libthread_db enabled]
ffmpeg version git-2012-02-08-3c939ad Copyright (c) 2000-2012 the FFmpeg developers

built on Feb 8 2012 23:38:55 with gcc 4.6.1
configuration: --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libx264 --enable-nonfree --enable-postproc --enable-version3
libavutil 51. 38.100 / 51. 38.100
libavcodec 54. 1.100 / 54. 1.100
libavformat 54. 0.100 / 54. 0.100
libavdevice 53. 4.100 / 53. 4.100
libavfilter 2. 62.100 / 2. 62.100
libswscale 2. 1.100 / 2. 1.100
libswresample 0. 6.100 / 0. 6.100
libpostproc 52. 0.100 / 52. 0.100

[mpeg4 @ 0x9043d60] Invalid and inefficient vfw-avi packed B frames detected
Input #0, avi, from '/home/test/Kak_ukrast_million.avi':

Metadata:

encoder : VirtualDubMod 1.5.10.2 (build 2540/release)

Duration: 01:58:19.44, start: 0.000000, bitrate: 1771 kb/s

Stream #0:0: Video: mpeg4 (Advanced Simple Profile) (XVID / 0x44495658), yuv420p, 720x304 [SAR 1:1 DAR 45:19], 25 tbr, 25 tbn, 25 tbc
Stream #0:1: Audio: ac3 ([0] [0][0] / 0x2000), 48000 Hz, stereo, s16, 192 kb/s
Stream #0:2: Audio: ac3 ([0] [0][0] / 0x2000), 48000 Hz, stereo, s16, 192 kb/s

[buffer @ 0x9045f80] w:720 h:304 pixfmt:yuv420p tb:1/1000000 sar:1/1 sws_param:
[libx264 @ 0x909ba20] using SAR=1/1
[libx264 @ 0x909ba20] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle Cache64
[New Thread 0xb6b35b70 (LWP 1735)]
[New Thread 0xb6334b70 (LWP 1736)]
[New Thread 0xb5b33b70 (LWP 1737)]
[New Thread 0xb4ecab70 (LWP 1738)]
[libx264 @ 0x909ba20] profile High, level 3.0
[libx264 @ 0x909ba20] 264 - core 120 r2164 da19765 - H.264/MPEG-4 AVC codec - Copyleft 2003-2012 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=3 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
[New Thread 0xb3bf1b70 (LWP 1739)]
[New Thread 0xb33f0b70 (LWP 1740)]
[New Thread 0xb2befb70 (LWP 1741)]

Program received signal SIGSEGV, Segmentation fault.
mov_write_moov_tag (pb=0x909be20, mov=0x9045ee0, s=0x909b340)

at libavformat/movenc.c:1944

1944 build_chunks(&mov->tracks[i]);
(gdb) q

Change History (3)

comment:1 by Carl Eugen Hoyos, 12 years ago

Is the crash only reproducible with -acodec libfaac or also with -an ?
Is -vcodec libx264 needed to reproduce the crash or is -vcodec mpeg4 sufficient?
Does it also crash without "-movflags frag_keyframe" ?
Is a specific sample needed for the crash, or does it happen for every input file?

in reply to:  1 comment:2 by Vadim, 12 years ago

Replying to cehoyos:

Is the crash only reproducible with -acodec libfaac or also with -an ?
Is -vcodec libx264 needed to reproduce the crash or is -vcodec mpeg4 sufficient?
Does it also crash without "-movflags frag_keyframe" ?
Is a specific sample needed for the crash, or does it happen for every input file?

No specific sample is needed. The crash happens with any input file, including streaming source (udp in my case).
Yes, it crash without "-movflags frag_keyframe" too. But IMHO "-movflags" key is required for ISMV, fragmentation parameters should be somehow passed to muxer.
Same behavior with "-an" and "-acodec libfaac".
As I know, ISMV may contain only h264/vc-1 for video and aac/wma for audio. Any way, I tried both libx264 and mpeg4, both resulted in crash.

In the same time, I must mention that the crash is muxer specific. Usage of FLV muxer with the same input parameters was successful. The following command was used for FLV:
ffmpeg_g -y -i /home/test/Kak_ukrast_million.avi -c:a libfaac -c:v libx264 -movflags frag_keyframe -f flv /home/test/Kak_ukrast_million.flv

comment:3 by Carl Eugen Hoyos, 12 years ago

Component: undeterminedavformat
Keywords: ismv added
Reproduced by developer: set
Resolution: fixed
Status: newclosed
Version: unspecifiedgit-master

Fixed by Reimar.

Note: See TracTickets for help on using tickets.