[FFmpeg-trac] #183(avformat:open): ASF/WMV partial packet change causes infinite loop
FFmpeg
trac at avcodec.org
Tue May 10 00:56:09 CEST 2011
#183: ASF/WMV partial packet change causes infinite loop
----------------------------+-----------------------
Reporter: tracey_pooh | Owner:
Type: defect | Status: open
Priority: important | Component: avformat
Version: git-master | Resolution:
Keywords: asf, regression | Blocked By:
Blocking: | Reproduced: 1
Analyzed: 0 |
----------------------------+-----------------------
Changes (by cehoyos):
* keywords: ASF demuxer => asf, regression
* priority: normal => important
* version: git => git-master
* status: new => open
* reproduced: 0 => 1
Comment:
I get no useful backtrace with -vn
{{{
(gdb) r -i holymatrimony.wmv -f null -
Starting program: ffmpeg_g -i holymatrimony.wmv -f null -
ffmpeg version git-N-29734-g38bb5a5, Copyright (c) 2000-2011 the FFmpeg
developers
built on May 10 2011 00:36:05 with gcc 4.5.2
configuration: --cc='/usr/local/gcc-4.5.2/bin/gcc -m32' --enable-gpl
libavutil 51. 2. 1 / 51. 2. 1
libavcodec 53. 5. 0 / 53. 5. 0
libavformat 53. 0. 3 / 53. 0. 3
libavdevice 53. 0. 0 / 53. 0. 0
libavfilter 2. 5. 0 / 2. 5. 0
libswscale 0. 14. 0 / 0. 14. 0
Seems stream 1 codec frame rate differs from container frame rate: 1000.00
(1000/1) -> 23.00 (23/1)
Input #0, asf, from 'holymatrimony.wmv':
Metadata:
title : Holy Matrimony Billy!
artist : Mark Kenneth Woods
copyright : Mark Kenneth Woods, 2004.
comment :
Duration: 00:04:25.61, start: 0.000000, bitrate: 40 kb/s
Stream #0.0: Audio: wmav2, 48000 Hz, 2 channels, s16, 128 kb/s
Stream #0.1: Video: wmv1, yuv420p, 240x176, 23 tbr, 1k tbn, 1k tbc
[buffer @ 0x8c9b700] w:240 h:176 pixfmt:yuv420p tb:1/1000000 sar:0/1
Output #0, null, to 'pipe:':
Metadata:
title : Holy Matrimony Billy!
artist : Mark Kenneth Woods
copyright : Mark Kenneth Woods, 2004.
comment :
encoder : Lavf53.0.3
Stream #0.0: Video: rawvideo, yuv420p, 240x176, q=2-31, 200 kb/s, 90k
tbn, 23 tbc
Stream #0.1: Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s
Stream mapping:
Stream #0.1 -> #0.0
Stream #0.0 -> #0.1
Press [q] to stop encoding
Program received signal SIGSEGV, Segmentation fault.
0x081553ac in ff_interleave_add_packet (pkt=0xffffbefc, s=0x8c9a420,
compare=<value optimized out>) at libavformat/utils.c:3016
3016 this_pktl->pkt= *pkt;
(gdb) bt
#0 0x081553ac in ff_interleave_add_packet (pkt=0xffffbefc, s=0x8c9a420,
compare=<value optimized out>) at libavformat/utils.c:3016
#1 av_interleave_packet_per_dts (pkt=0xffffbefc, s=0x8c9a420,
compare=<value optimized out>) at libavformat/utils.c:3064
#2 0x08155623 in av_interleave_packet (flush=0, in=0xffffbefc,
out=0xffffba9c, s=<value optimized out>) at libavformat/utils.c:3101
#3 av_interleaved_write_frame (flush=0, in=0xffffbefc, out=0xffffba9c,
s=<value optimized out>) at libavformat/utils.c:3122
#4 0x0804cb58 in write_frame (s=0x8c9a420, pkt=0xffffbefc,
avctx=0x8c9b020, bsfc=0x0) at ffmpeg.c:782
#5 0x0804f71c in do_audio_out (size=192000,
buf=0xf7c99020
"\230\353\230\353\332\351\332\351=\351=\351\067\351\067\351|\351|\351\320\351\320\351\273\351\273\351]\353]\353\354\355\354\355\317\357\317\357;\362;\362\315\363\315\363\255\363\255\363\001\364\001\364\323\364\323\364\r\367\r\367\236\371\236\371U\373U\373\225\376\225\376\031\002\031\002\371\004\371\004\230\006\230\006N\tN\t\255\f\255\f\213\016\213\016",
ist=0x8c9b600, ost=0x8c9b440, s=0x8c9a420) at ffmpeg.c:1031
#6 output_packet (size=192000,
buf=0xf7c99020
"\230\353\230\353\332\351\332\351=\351=\351\067\351\067\351|\351|\351\320\351\320\351\273\351\273\351]\353]\353\354\355\354\355\317\357\317\357;\362;\362\315\363\315\363\255\363\255\363\001\364\001\364\323\364\323\364\r\367\r\367\236\371\236\371U\373U\373\225\376\225\376\031\002\031\002\371\004\371\004\230\006\230\006N\tN\t\255\f\255\f\213\016\213\016",
ist=0x8c9b600, ost=0x8c9b440, s=0x8c9a420) at ffmpeg.c:1707
#7 0x08052878 in transcode (nb_output_files=1, nb_input_files=1,
stream_maps=0x0, nb_stream_maps=0, input_files=0x872a600,
output_files=0x872a460) at ffmpeg.c:2706
#8 0x080586f3 in main (argc=<value optimized out>, argv=<value optimized
out>) at ffmpeg.c:4506
(gdb) disass $pc-21 $pc+32
Dump of assembler code from 0x8155397 to 0x81553cc:
0x08155397 <ff_interleave_add_packet+0>: movl $0x48,(%esp)
0x0815539e <ff_interleave_add_packet+7>: mov %ebx,%esi
0x081553a0 <ff_interleave_add_packet+9>: call 0x85d57c0
<av_mallocz>
0x081553a5 <ff_interleave_add_packet+14>: mov $0x11,%ecx
0x081553aa <ff_interleave_add_packet+19>: mov %eax,%edi
0x081553ac <ff_interleave_add_packet+21>: rep movsl
%ds:(%esi),%es:(%edi)
0x081553ae <ff_interleave_add_packet+23>: movl $0x0,0x2c(%ebx)
0x081553b5 <ff_interleave_add_packet+30>: mov %eax,0x18(%esp)
0x081553b9 <ff_interleave_add_packet+34>: mov %eax,(%esp)
0x081553bc <ff_interleave_add_packet+37>: call 0x817e8c0
<av_dup_packet>
0x081553c1 <ff_interleave_add_packet+42>: mov 0x18(%ebx),%edx
0x081553c4 <ff_interleave_add_packet+45>: mov 0x18(%ebp),%eax
0x081553c7 <ff_interleave_add_packet+48>: mov (%eax,%edx,4),%eax
0x081553ca <ff_interleave_add_packet+51>: mov %eax,0x1c(%esp)
End of assembler dump.
(gdb) info registers
eax 0x0 0
ecx 0x11 17
edx 0x0 0
ebx 0xffffbefc -16644
esp 0xffffba30 0xffffba30
ebp 0x8c9a420 0x8c9a420
esi 0xffffbefc -16644
edi 0x0 0
eip 0x81553ac 0x81553ac <ff_interleave_add_packet+21>
eflags 0x210282 [ SF IF RF ID ]
cs 0x23 35
ss 0x2b 43
ds 0x2b 43
es 0x2b 43
fs 0x0 0
gs 0x63 99
}}}
--
Ticket URL: <https://avcodec.org/trac/ffmpeg/ticket/183#comment:1>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list