Carl Eugen Hoyos <[email protected]> added the comment:
The sample is in incoming/uur
(gdb) r -an -threads 2 -i 8e33b2a28d9b552867087a351e84c911-part.mpg -f null
/dev/null
Starting program: ffmpeg_g -an -threads 2 -i
8e33b2a28d9b552867087a351e84c911-part.mpg -f null /dev/null
[Thread debugging using libthread_db enabled]
FFmpeg version SVN-r19472, Copyright (c) 2000-2009 Fabrice Bellard, et al.
configuration: --cc=/opt/intel/cce/10.1.023/bin/icc --cpu=core2 --enable-gpl
--extra-cflags=-parallel --extra-ldflags=-parallel --enable-postproc
--enable-avfilter --enable-pthreads --enable-nonfree --enable-version3
--enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libdirac
--enable-libfaac --enable-libfaad --enable-libgsm --enable-libmp3lame
--extra-cflags='-I/usr/include/openjpeg -I/usr/include/gsm' --enable-libopenjpeg
--enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis
--enable-libx264 --enable-libxvid
libavutil 50. 3. 0 / 50. 3. 0
libavcodec 52.32. 0 / 52.32. 0
libavformat 52.36. 0 / 52.36. 0
libavdevice 52. 2. 0 / 52. 2. 0
libavfilter 0. 5. 0 / 0. 5. 0
libswscale 0. 7. 1 / 0. 7. 1
libpostproc 51. 2. 0 / 51. 2. 0
built on Jul 21 2009 00:32:03, gcc: Intel(R) C++ gcc 4.3 mode
[New Thread 0x7f086d415700 (LWP 17846)]
[New Thread 0x427c7950 (LWP 17849)]
[New Thread 0x42fc8950 (LWP 17850)]
[New Thread 0x437c9950 (LWP 17851)]
[New Thread 0x43fca950 (LWP 17852)]
Input #0, mpeg, from '8e33b2a28d9b552867087a351e84c911-part.mpg':
Duration: 00:00:59.22, start: 0.293333, bitrate: 1383 kb/s
Stream #0.0[0x1e0]: Video: mpeg1video, yuv420p, 352x240 [PAR 200:219 DAR
880:657], 1140 kb/s, 29.97 tbr, 90k tbn, 29.97 tbc
Stream #0.1[0x1c0]: Audio: mp2, 44100 Hz, 2 channels, s16, 224 kb/s
[New Thread 0x447cb950 (LWP 17853)]
[New Thread 0x44fcc950 (LWP 17854)]
Output #0, null, to '/dev/null':
Stream #0.0: Video: rawvideo, yuv420p, 352x240 [PAR 200:219 DAR 880:657],
q=2-31, 200 kb/s, 90k tbn, 29.97 tbc
Stream mapping:
Stream #0.0 -> #0.0
Press [q] to stop encoding
[mpeg1video @ 0x138e6e0]ac-tex damaged at 8 6
[mpeg1video @ 0x138e6e0]Warning MVs not available
[mpeg1video @ 0x138e6e0]concealing 22 DC, 22 AC, 22 MV errors
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7f086d415700 (LWP 17846)]
decode_chunks (avctx=0x1e, picture=0x141c92d, data_size=0x1, buf=0xf <Address
0xf out of bounds>, buf_size=2) at libavcodec/mpeg12.c:2424
2424 thread_context->start_mb_y= mb_y;
(gdb) bt
#0 decode_chunks (avctx=0x1e, picture=0x141c92d, data_size=0x1, buf=0xf
<Address 0xf out of bounds>, buf_size=2) at libavcodec/mpeg12.c:2424
#1 0x000000000060a6fc in mpeg_decode_frame (avctx=0x1e, data=0x141c92d,
data_size=0x1, avpkt=0xf) at libavcodec/mpeg12.c:2290
#2 0x00000000004b6966 in avcodec_decode_video2 (avctx=0x1e, picture=0x141c92d,
got_picture_ptr=0x1, avpkt=0xf) at libavcodec/utils.c:577
#3 0x000000000040ccde in output_packet (ist=0x1e, ist_index=21088557,
ost_table=0x1, nb_ostreams=15, pkt=0x2) at ffmpeg.c:1314
#4 0x000000000040be46 in av_encode (output_files=0x1e,
nb_output_files=21088557, input_files=0x1, nb_input_files=15, stream_maps=0x2,
nb_stream_maps=2) at ffmpeg.c:2281
#5 0x000000000040974c in main (argc=30, argv=0x141c92d) at ffmpeg.c:3997
(gdb) disass $pc-32 $pc+32
Dump of assembler code from 0x60c495 to 0x60c4d5:
0x000000000060c495 <decode_chunks+6471>: incl -0x7d(%rcx)
0x000000000060c498 <decode_chunks+6474>: clc
0x000000000060c499 <decode_chunks+6475>: xor %cl,(%rdi)
0x000000000060c49b <decode_chunks+6477>: mov %gs,%eax
0x000000000060c49d <decode_chunks+6479>: cli
0x000000000060c49e <decode_chunks+6480>: (bad)
0x000000000060c49f <decode_chunks+6481>: decl -0x75(%rax)
0x000000000060c4a2 <decode_chunks+6484>: jl 0x60c4c8
<decode_chunks+6522>
0x000000000060c4a4 <decode_chunks+6486>: pushq $0xffffffffffe6ece9
0x000000000060c4a9 <decode_chunks+6491>: decl 0x63(%rbp)
0x000000000060c4ac <decode_chunks+6494>: jmpq 0xfffffffff00d5000
0x000000000060c4b1 <decode_chunks+6499>: clc
0x000000000060c4b2 <decode_chunks+6500>: add %al,(%rax)
0x000000000060c4b4 <decode_chunks+6502>: add %al,-0x77(%rcx)
0x000000000060c4b7 <decode_chunks+6505>: (bad)
0x000000000060c4b8 <decode_chunks+6506>: lock add %al,(%rax)
0x000000000060c4bb <decode_chunks+6509>: add %al,-0x75(%rcx)
0x000000000060c4be <decode_chunks+6512>: xchg %eax,%edi
0x000000000060c4bf <decode_chunks+6513>: mov $0x0,%ah
0x000000000060c4c1 <decode_chunks+6515>: add %al,(%rax)
0x000000000060c4c3 <decode_chunks+6517>: mov %edx,0xf4(%r13)
0x000000000060c4ca <decode_chunks+6524>: movslq 0x4128(%r15),%rdx
0x000000000060c4d1 <decode_chunks+6531>: test %rdx,%rdx
0x000000000060c4d4 <decode_chunks+6534>: je 0x60c4ef
<decode_chunks+6561>
End of assembler dump.
(gdb) info all-registers
rax 0xf 15
rbx 0x138e6e0 20506336
rcx 0xf 15
rdx 0x1 1
rsi 0x141c92d 21088557
rdi 0x1e 30
rbp 0x141c220 0x141c220
rsp 0x7fff75448780 0x7fff75448780
r8 0x2 2
r9 0x2 2
r10 0x0 0
r11 0x0 0
r12 0x70d 1805
r13 0x0 0
r14 0x141c92d 21088557
r15 0x144f330 21295920
rip 0x60c4b5 0x60c4b5 <decode_chunks+6503>
eflags 0x10246 [ PF ZF IF RF ]
cs 0x33 51
ss 0x2b 43
ds 0x0 0
es 0x0 0
fs 0x0 0
gs 0x0 0
st0 -nan(0x7e7b7a7a797a7b78) (raw 0xffff7e7b7a7a797a7b78)
st1 -nan(0x7e007b007a007a) (raw 0xffff007e007b007a007a)
st2 -nan(0x7e7b797a7a797979) (raw 0xffff7e7b797a7a797979)
st3 -nan(0x7e007b0079007a) (raw 0xffff007e007b0079007a)
st4 -nan(0x79007a007b0078) (raw 0xffff0079007a007b0078)
st5 -nan(0x7e007b0079007a) (raw 0xffff007e007b0079007a)
st6 -nan(0x7a007900790079) (raw 0xffff007a007900790079)
st7 -inf (raw 0xffff0000000000000000)
fctrl 0x37f 895
fstat 0x0 0
ftag 0xffff 65535
fiseg 0x0 0
fioff 0x0 0
foseg 0x0 0
fooff 0x0 0
fop 0x0 0
xmm0 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x60, 0x7, 0x46, 0x1, 0x0, 0x0, 0x0, 0x0, 0xe0, 0x7, 0x46, 0x1, 0x0,
0x0, 0x0, 0x0}, v8_int16 = {0x760, 0x146, 0x0, 0x0,
0x7e0, 0x146, 0x0, 0x0}, v4_int32 = {0x1460760, 0x0, 0x14607e0, 0x0},
v2_int64 = {0x1460760, 0x14607e0}, uint128 = 0x00000000014607e00000000001460760}
xmm1 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x60, 0x8, 0x46, 0x1, 0x0, 0x0, 0x0, 0x0, 0xe0, 0x8, 0x46, 0x1, 0x0,
0x0, 0x0, 0x0}, v8_int16 = {0x860, 0x146, 0x0, 0x0,
0x8e0, 0x146, 0x0, 0x0}, v4_int32 = {0x1460860, 0x0, 0x14608e0, 0x0},
v2_int64 = {0x1460860, 0x14608e0}, uint128 = 0x00000000014608e00000000001460860}
xmm2 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x60, 0x9, 0x46, 0x1, 0x0, 0x0, 0x0, 0x0, 0xe0, 0x9, 0x46, 0x1, 0x0,
0x0, 0x0, 0x0}, v8_int16 = {0x960, 0x146, 0x0, 0x0,
0x9e0, 0x146, 0x0, 0x0}, v4_int32 = {0x1460960, 0x0, 0x14609e0, 0x0},
v2_int64 = {0x1460960, 0x14609e0}, uint128 = 0x00000000014609e00000000001460960}
xmm3 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x60, 0xa, 0x46, 0x1, 0x0, 0x0, 0x0, 0x0, 0xe0, 0xa, 0x46, 0x1, 0x0,
0x0, 0x0, 0x0}, v8_int16 = {0xa60, 0x146, 0x0, 0x0,
0xae0, 0x146, 0x0, 0x0}, v4_int32 = {0x1460a60, 0x0, 0x1460ae0, 0x0},
v2_int64 = {0x1460a60, 0x1460ae0}, uint128 = 0x0000000001460ae00000000001460a60}
xmm4 {v4_float = {0x0, 0x3, 0x0, 0x0}, v2_double = {0x39, 0x0},
v16_int8 = {0x50, 0x8a, 0x69, 0xb9, 0x46, 0xb6, 0x4c, 0x40, 0x84, 0x11, 0x0,
0x0, 0x9f, 0x11, 0x0, 0x0}, v8_int16 = {0x8a50, 0xb969,
0xb646, 0x404c, 0x1184, 0x0, 0x119f, 0x0}, v4_int32 = {0xb9698a50,
0x404cb646, 0x1184, 0x119f}, v2_int64 = {0x404cb646b9698a50, 0x119f00001184},
uint128 = 0x0000119f00001184404cb646b9698a50}
xmm5 {v4_float = {0x0, 0x3, 0x0, 0x0}, v2_double = {0x39, 0x0},
v16_int8 = {0x2f, 0x50, 0x52, 0x60, 0x1, 0xb2, 0x4c, 0x40, 0xc0, 0xf, 0x0, 0x0,
0xb9, 0xf, 0x0, 0x0}, v8_int16 = {0x502f, 0x6052,
0xb201, 0x404c, 0xfc0, 0x0, 0xfb9, 0x0}, v4_int32 = {0x6052502f, 0x404cb201,
0xfc0, 0xfb9}, v2_int64 = {0x404cb2016052502f, 0xfb900000fc0}, uint128 =
0x00000fb900000fc0404cb2016052502f}
xmm6 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x7d, 0x0, 0x0, 0x0, 0x7e, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x80,
0x0, 0x0, 0x0}, v8_int16 = {0x7d, 0x0, 0x7e, 0x0,
0x7f, 0x0, 0x80, 0x0}, v4_int32 = {0x7d, 0x7e, 0x7f, 0x80}, v2_int64 =
{0x7e0000007d, 0x800000007f}, uint128 = 0x000000800000007f0000007e0000007d}
xmm7 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x8e, 0x0 <repeats 15 times>}, v8_int16 = {0x8e, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0}, v4_int32 = {0x8e, 0x0, 0x0, 0x0},
v2_int64 = {0x8e, 0x0}, uint128 = 0x0000000000000000000000000000008e}
xmm8 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x8e, 0x0 <repeats 15 times>}, v8_int16 = {0x8e, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0}, v4_int32 = {0x8e, 0x0, 0x0, 0x0},
v2_int64 = {0x8e, 0x0}, uint128 = 0x0000000000000000000000000000008e}
xmm9 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x8e, 0x8e, 0x0 <repeats 14 times>}, v8_int16 = {0x8e8e, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x8e8e, 0x0, 0x0,
0x0}, v2_int64 = {0x8e8e, 0x0}, uint128 =
0x00000000000000000000000000008e8e}
xmm10 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x8e, 0x0, 0x0, 0x0, 0x8e, 0x0, 0x0, 0x0, 0x8e, 0x0, 0x0, 0x0, 0x8e,
0x0, 0x0, 0x0}, v8_int16 = {0x8e, 0x0, 0x8e, 0x0,
0x8e, 0x0, 0x8e, 0x0}, v4_int32 = {0x8e, 0x8e, 0x8e, 0x8e}, v2_int64 =
{0x8e0000008e, 0x8e0000008e}, uint128 = 0x0000008e0000008e0000008e0000008e}
xmm11 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x7e, 0x0 <repeats 15 times>}, v8_int16 = {0x7e, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0}, v4_int32 = {0x7e, 0x0, 0x0, 0x0},
v2_int64 = {0x7e, 0x0}, uint128 = 0x0000000000000000000000000000007e}
xmm12 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x83, 0x0 <repeats 15 times>}, v8_int16 = {0x83, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0}, v4_int32 = {0x83, 0x0, 0x0, 0x0},
v2_int64 = {0x83, 0x0}, uint128 = 0x00000000000000000000000000000083}
xmm13 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x80, 0x83, 0x0 <repeats 14 times>}, v8_int16 = {0x8380, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x8380, 0x0, 0x0,
0x0}, v2_int64 = {0x8380, 0x0}, uint128 =
0x00000000000000000000000000008380}
xmm14 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x7d, 0x0, 0x0, 0x0, 0x7e, 0x0, 0x0, 0x0, 0x80, 0x0, 0x0, 0x0, 0x83,
0x0, 0x0, 0x0}, v8_int16 = {0x7d, 0x0, 0x7e, 0x0,
0x80, 0x0, 0x83, 0x0}, v4_int32 = {0x7d, 0x7e, 0x80, 0x83}, v2_int64 =
{0x7e0000007d, 0x8300000080}, uint128 = 0x00000083000000800000007e0000007d}
xmm15 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x8f, 0x0 <repeats 15 times>}, v8_int16 = {0x8f, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0}, v4_int32 = {0x8f, 0x0, 0x0, 0x0},
v2_int64 = {0x8f, 0x0}, uint128 = 0x0000000000000000000000000000008f}
mxcsr 0x9fe0 [ PE DAZ IM DM ZM OM UM PM FZ ]
----------
substatus: needs_more_info -> reproduced
title: ffmpeg crashes with segmentation fault when i used -threads parameter ->
Crash when decoding MPEG1 video with threads enabled
topic: +avcodec
_____________________________________________________
FFmpeg issue tracker <[email protected]>
<https://roundup.ffmpeg.org/roundup/ffmpeg/issue1277>
_____________________________________________________