[FFmpeg-trac] #5752(avformat:new): Crash when muxing webm_chunk

FFmpeg trac at avcodec.org
Wed Aug 3 21:27:09 EEST 2016


#5752: Crash when muxing webm_chunk
-------------------------------------+-------------------------------------
               Reporter:  cehoyos    |                  Owner:
                   Type:  defect     |                 Status:  new
               Priority:  important  |              Component:  avformat
                Version:  git-       |               Keywords:  crash
  master                             |  SIGSEGV mkv
             Blocked By:             |               Blocking:
Reproduced by developer:  0          |  Analyzed by developer:  0
-------------------------------------+-------------------------------------
 http://ffmpeg.org/pipermail/ffmpeg-user/2016-August/033006.html
 A user provided ac3 audio that crashes the webm_chunk muxer.
 {{{
 (gdb) r -i out.ac3 -map 0 -strict -2 -acodec vorbis -ac 2 -header
 chk/header chk/out%d.chk
 Starting program: ffmpeg_g -i out.ac3 -map 0 -strict -2 -acodec vorbis -ac
 2 -header chk/header chk/out%d.chk
 [Thread debugging using libthread_db enabled]
 Using host libthread_db library "/lib64/libthread_db.so.1".
 ffmpeg version N-81244-g8916ad9 Copyright (c) 2000-2016 the FFmpeg
 developers
   built with gcc 4.7 (SUSE Linux)
   configuration: --enable-libvpx --enable-libvorbis
   libavutil      55. 28.100 / 55. 28.100
   libavcodec     57. 51.100 / 57. 51.100
   libavformat    57. 44.100 / 57. 44.100
   libavdevice    57.  0.102 / 57.  0.102
   libavfilter     6. 49.100 /  6. 49.100
   libswscale      4.  1.100 /  4.  1.100
   libswresample   2.  1.100 /  2.  1.100
 [ac3 @ 0x1e31560] Format ac3 detected only with low score of 25,
 misdetection possible!
 [ac3 @ 0x1e31560] Estimating duration from bitrate, this may be inaccurate
 Input #0, ac3, from 'out.ac3':
   Duration: 00:00:26.68, start: 0.000000, bitrate: 384 kb/s
     Stream #0:0: Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s
 [New Thread 0x7ffff11fb700 (LWP 30131)]
 [New Thread 0x7ffff09fa700 (LWP 30132)]
 [New Thread 0x7ffff01f9700 (LWP 30133)]
 [New Thread 0x7fffef9f8700 (LWP 30134)]
 [New Thread 0x7fffef1f7700 (LWP 30135)]
 [New Thread 0x7fffee9f6700 (LWP 30136)]
 [New Thread 0x7fffee1f5700 (LWP 30137)]
 [New Thread 0x7fffed9f4700 (LWP 30138)]
 [New Thread 0x7fffed1f3700 (LWP 30139)]
 [webm_chunk @ 0x1e33aa0] Using AVStream.codec to pass codec parameters to
 muxers is deprecated, use AVStream.codecpar instead.
 Output #0, webm_chunk, to 'chk/out%d.chk':
   Metadata:
     encoder         : Lavf57.44.100
     Stream #0:0: Audio: vorbis, 48000 Hz, stereo, fltp
     Metadata:
       encoder         : Lavc57.51.100 vorbis
 Stream mapping:
   Stream #0:0 -> #0:0 (ac3 (native) -> vorbis (native))
 Press [q] to stop, [?] for help
 [ac3 @ 0x1e33320] frame sync error
 Error while decoding stream #0:0: Invalid data found when processing input

 Program received signal SIGSEGV, Segmentation fault.
 0x0000000000600980 in mkv_write_flush_packet (s=0x1eade20,
 pkt=0x7fffffffd2b0)
     at libavformat/matroskaenc.c:2111
 2111        if (s->pb->seekable)
 (gdb) bt
 #0  0x0000000000600980 in mkv_write_flush_packet (s=0x1eade20,
 pkt=0x7fffffffd2b0)
     at libavformat/matroskaenc.c:2111
 #1  0x00000000006c6cb6 in webm_chunk_write_packet (s=0x1e33aa0,
 pkt=0x7fffffffd2b0)
     at libavformat/webm_chunk.c:210
 #2  0x000000000063df2d in write_packet (s=s at entry=0x1e33aa0,
 pkt=pkt at entry=0x7fffffffd2b0)
     at libavformat/mux.c:732
 #3  0x000000000064022e in av_interleaved_write_frame (s=s at entry=0x1e33aa0,
 pkt=0x0,
     pkt at entry=0x7fffffffd610) at libavformat/mux.c:1184
 #4  0x0000000000493b0d in write_frame (s=s at entry=0x1e33aa0,
 pkt=pkt at entry=0x7fffffffd610,
     ost=ost at entry=0x1e68d20) at ffmpeg.c:762
 #5  0x0000000000498807 in do_audio_out (frame=0x1e34e60, ost=0x1e68d20,
 s=0x1e33aa0)
     at ffmpeg.c:840
 #6  reap_filters (flush=flush at entry=0) at ffmpeg.c:1376
 #7  0x000000000049be1a in transcode_step () at ffmpeg.c:4119
 #8  transcode () at ffmpeg.c:4163
 #9  0x000000000047e36b in main (argc=<optimized out>, argv=0x7fffffffdcc8)
 at ffmpeg.c:4356
 (gdb) disass $pc-32,$pc+32
 Dump of assembler code from 0x600960 to 0x6009a0:
    0x0000000000600960 <mkv_write_flush_packet+16>:      and    $0xe0,%al
    0x0000000000600962 <mkv_write_flush_packet+18>:      mov
 %r13,-0x18(%rsp)
    0x0000000000600967 <mkv_write_flush_packet+23>:      mov    %rsi,%r12
    0x000000000060096a <mkv_write_flush_packet+26>:      mov
 %r14,-0x10(%rsp)
    0x000000000060096f <mkv_write_flush_packet+31>:      mov
 %r15,-0x8(%rsp)
    0x0000000000600974 <mkv_write_flush_packet+36>:      sub    $0x58,%rsp
    0x0000000000600978 <mkv_write_flush_packet+40>:      mov
 0x18(%rdi),%rbx
    0x000000000060097c <mkv_write_flush_packet+44>:      mov
 0x20(%rdi),%rdi
 => 0x0000000000600980 <mkv_write_flush_packet+48>:      mov
 0x90(%rdi),%edx
    0x0000000000600986 <mkv_write_flush_packet+54>:      mov    %rdi,%r13
    0x0000000000600989 <mkv_write_flush_packet+57>:      test   %edx,%edx
    0x000000000060098b <mkv_write_flush_packet+59>:      jne    0x600991
 <mkv_write_flush_packet+65>
    0x000000000060098d <mkv_write_flush_packet+61>:      mov
 0x10(%rbx),%r13
    0x0000000000600991 <mkv_write_flush_packet+65>:      test   %r12,%r12
    0x0000000000600994 <mkv_write_flush_packet+68>:      je     0x600bb0
 <mkv_write_flush_packet+608>
    0x000000000060099a <mkv_write_flush_packet+74>:      movslq
 0x24(%r12),%rax
    0x000000000060099f <mkv_write_flush_packet+79>:      mov
 0x30(%rbp),%rcx
 End of assembler dump.
 (gdb) info register
 rax            0x16a3d00        23739648
 rbx            0x1eae440        32171072
 rcx            0x5      5
 rdx            0x5dc0   24000
 rsi            0x7fffffffd2b0   140737488343728
 rdi            0x0      0
 rbp            0x1eade20        0x1eade20
 rsp            0x7fffffffd110   0x7fffffffd110
 r8             0x1eaef10        32173840
 r9             0x5dc0   24000
 r10            0x1      1
 r11            0x8000000000000001       -9223372036854775807
 r12            0x7fffffffd2b0   140737488343728
 r13            0x1eade20        32169504
 r14            0x20     32
 r15            0x600    1536
 rip            0x600980 0x600980 <mkv_write_flush_packet+48>
 eflags         0x10202  [ IF RF ]
 cs             0x33     51
 ss             0x2b     43
 ds             0x0      0
 es             0x0      0
 fs             0x0      0
 gs             0x0      0
 }}}

--
Ticket URL: <https://trac.ffmpeg.org/ticket/5752>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list