[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