[FFmpeg-trac] #4084(avcodec:open): AAC encoding segfault (was: AAC Segfault Transcoding multiple flvs into)

FFmpeg trac at avcodec.org
Wed Nov 5 09:43:51 CET 2014


#4084: AAC encoding segfault
-------------------------------------+-------------------------------------
             Reporter:  edman007     |                    Owner:
                 Type:  defect       |                   Status:  open
             Priority:  important    |                Component:  avcodec
              Version:  git-master   |               Resolution:
             Keywords:  aac crash    |               Blocked By:
  SIGSEGV regression                 |  Reproduced by developer:  1
             Blocking:               |
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
Changes (by cehoyos):

 * keywords:  aac, concat => aac crash SIGSEGV regression
 * priority:  normal => important
 * status:  new => open
 * reproduced:  0 => 1


Comment:

 Looks different from ticket #3637.
 {{{
 (gdb) r -i crashaac.wav -strict -2 -acodec aac -f null -
 Starting program: ffmpeg_g -i crashaac.wav -strict -2 -acodec aac -f null
 -
 [Thread debugging using libthread_db enabled]
 Using host libthread_db library "/lib64/libthread_db.so.1".
 ffmpeg version N-67388-g37425fc Copyright (c) 2000-2014 the FFmpeg
 developers
   built on Nov  5 2014 09:21:42 with gcc 4.7 (SUSE Linux)
   configuration: --enable-gpl
   libavutil      54. 11.100 / 54. 11.100
   libavcodec     56. 10.102 / 56. 10.102
   libavformat    56. 12.100 / 56. 12.100
   libavdevice    56.  2.100 / 56.  2.100
   libavfilter     5.  2.102 /  5.  2.102
   libswscale      3.  1.101 /  3.  1.101
   libswresample   1.  1.100 /  1.  1.100
   libpostproc    53.  3.100 / 53.  3.100
 Input #0, wav, from 'crashaac.wav':
   Metadata:
     encoder         : Lavf55.33.100
   Duration: 00:00:00.12, bitrate: 1419 kb/s
     Stream #0:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, mono,
 flt, 1411 kb/s
 [New Thread 0x7ffff14f0700 (LWP 8660)]
 [New Thread 0x7ffff0cef700 (LWP 8661)]
 [New Thread 0x7ffff04ee700 (LWP 8662)]
 [New Thread 0x7fffefced700 (LWP 8663)]
 [New Thread 0x7fffef4ec700 (LWP 8664)]
 [New Thread 0x7fffeeceb700 (LWP 8665)]
 [New Thread 0x7fffee4ea700 (LWP 8666)]
 [New Thread 0x7fffedce9700 (LWP 8667)]
 [New Thread 0x7fffed4e8700 (LWP 8668)]
 Output #0, null, to 'pipe:':
   Metadata:
     encoder         : Lavf56.12.100
     Stream #0:0: Audio: aac, 44100 Hz, mono, fltp, 128 kb/s
     Metadata:
       encoder         : Lavc56.10.102 aac
 Stream mapping:
   Stream #0:0 -> #0:0 (pcm_f32le (native) -> aac (native))
 Press [q] to stop, [?] for help

 Program received signal SIGSEGV, Segmentation fault.
 quantize_and_encode_band_cost_template (BT_ESC=0, BT_PAIR=1,
 BT_UNSIGNED=1, BT_ZERO=0, bits=0x0, uplim=inf, lambda=0, cb=7,
 scale_idx=<optimized out>, size=4, scaled=<optimized out>,
 in=0x7ffff7f475a0, pb=0x0, s=0x1a68580) at libavcodec/aaccoder.c:153
 153             curbits =  ff_aac_spectral_bits[cb-1][curidx];
 (gdb) bt
 #0  quantize_and_encode_band_cost_template (BT_ESC=0, BT_PAIR=1,
 BT_UNSIGNED=1, BT_ZERO=0, bits=0x0, uplim=inf, lambda=0, cb=7,
 scale_idx=<optimized out>, size=4, scaled=<optimized out>,
 in=0x7ffff7f475a0, pb=0x0, s=0x1a68580) at libavcodec/aaccoder.c:153
 #1  quantize_and_encode_band_cost_UPAIR (s=0x1a68580, pb=0x0,
 in=0x7ffff7f475a0, scaled=<optimized out>, size=4, scale_idx=<optimized
 out>, cb=7, lambda=0, uplim=inf, bits=0x0) at libavcodec/aaccoder.c:227
 #2  0x0000000000d9c968 in quantize_band_cost (bits=0x0, uplim=inf,
 lambda=0, cb=7, scale_idx=<optimized out>, size=4, scaled=0x1a68940,
 in=0x7ffff7f475a0, s=0x1a68580) at libavcodec/aaccoder.c:262
 #3  codebook_trellis_rate (s=0x1a68580, sce=0x7ffff7f460e0, win=0,
 group_len=1, lambda=<optimized out>) at libavcodec/aaccoder.c:473
 #4  0x0000000000c8fe76 in encode_band_info (sce=<optimized out>,
 s=<optimized out>) at libavcodec/aacenc.c:371
 #5  encode_individual_channel (common_window=<optimized out>,
 sce=0x7ffff7f460e0, s=0x1a68580, avctx=<optimized out>) at
 libavcodec/aacenc.c:449
 #6  aac_encode_frame (avctx=0x1a600a0, avpkt=0x7fffffffdb00, frame=0x0,
 got_packet_ptr=0x7fffffffdafc) at libavcodec/aacenc.c:633
 #7  0x0000000000ab1590 in avcodec_encode_audio2
 (avctx=avctx at entry=0x1a600a0, avpkt=avpkt at entry=0x7fffffffdb00,
 frame=frame at entry=0x0, got_packet_ptr=got_packet_ptr at entry=0x7fffffffdafc)
 at libavcodec/utils.c:1880
 #8  0x000000000046db2a in flush_encoders () at ffmpeg.c:1569
 #9  transcode () at ffmpeg.c:3730
 #10 main (argc=<optimized out>, argv=<optimized out>) at ffmpeg.c:3883
 (gdb) disass $pc-32,$pc+32
 Dump of assembler code from 0xda0476 to 0xda04b6:
    0x0000000000da0476 <quantize_and_encode_band_cost_UPAIR+374>:
 mov    -0x10(%rsp),%r9
    0x0000000000da047b <quantize_and_encode_band_cost_UPAIR+379>:
 movaps %xmm7,%xmm5
    0x0000000000da047e <quantize_and_encode_band_cost_UPAIR+382>:
 movss  (%rdx,%rax,4),%xmm2
    0x0000000000da0483 <quantize_and_encode_band_cost_UPAIR+387>:
 andps  %xmm6,%xmm2
    0x0000000000da0486 <quantize_and_encode_band_cost_UPAIR+390>:
 imul   %r8d,%ebp
    0x0000000000da048a <quantize_and_encode_band_cost_UPAIR+394>:
 add    0x234(%rdi,%rax,4),%ebp
    0x0000000000da0491 <quantize_and_encode_band_cost_UPAIR+401>:
 movslq %ebp,%rbx
    0x0000000000da0494 <quantize_and_encode_band_cost_UPAIR+404>:
 add    %ebp,%ebp
 => 0x0000000000da0496 <quantize_and_encode_band_cost_UPAIR+406>:
 movzbl (%r9,%rbx,1),%r10d
    0x0000000000da049b <quantize_and_encode_band_cost_UPAIR+411>:
 mov    0x109ec80(,%r13,8),%r9
    0x0000000000da04a3 <quantize_and_encode_band_cost_UPAIR+419>:
 movslq %ebp,%r12
    0x0000000000da04a6 <quantize_and_encode_band_cost_UPAIR+422>:
 lea    (%r9,%r12,4),%r11
    0x0000000000da04aa <quantize_and_encode_band_cost_UPAIR+426>:
 movss  (%r11),%xmm3
    0x0000000000da04af <quantize_and_encode_band_cost_UPAIR+431>:
 mulss  %xmm3,%xmm5
    0x0000000000da04b3 <quantize_and_encode_band_cost_UPAIR+435>:
 ucomiss %xmm4,%xmm3
 End of assembler dump.
 (gdb) info register
 rax            0x0      0
 rbx            0xffffffff80000000       -2147483648
 rcx            0x1a68940        27691328
 rdx            0x7ffff7f475a0   140737353381280
 rsi            0x0      0
 rdi            0x1a68580        27690368
 rbp            0x0      0x0
 rsp            0x7fffffff8ef8   0x7fffffff8ef8
 r8             0x8      8
 r9             0x10a1a60        17439328
 r10            0x1a687b0        27690928
 r11            0x8      8
 r12            0x7ffff7f460e0   140737353375968
 r13            0x6      6
 r14            0x0      0
 r15            0x1a68580        27690368
 rip            0xda0496 0xda0496 <quantize_and_encode_band_cost_UPAIR+406>
 eflags         0x10a47  [ CF PF ZF IF OF RF ]
 cs             0x33     51
 ss             0x2b     43
 ds             0x0      0
 es             0x0      0
 fs             0x0      0
 gs             0x0      0
 }}}
 Regression since 0bb57f8b / 025ccf1f
 Also reproducible with v8g patch from ticket #2686.

--
Ticket URL: <https://trac.ffmpeg.org/ticket/4084#comment:2>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list