[FFmpeg-trac] #2984(undetermined:new): escape124: deadlock with fuzzed file
FFmpeg
trac at avcodec.org
Sun Sep 22 18:38:11 CEST 2013
#2984: escape124: deadlock with fuzzed file
-------------------------------------+-------------------------------------
Reporter: ami_stuff | Owner:
Type: defect | Status: new
Priority: normal | Component:
Version: unspecified | undetermined
Keywords: | Resolution:
Blocking: | Blocked By:
Analyzed by developer: 0 | Reproduced by developer: 0
-------------------------------------+-------------------------------------
Description changed by ami_stuff:
Old description:
> (I coundn't find any more crashes in decoders, however I found some
> deadlocks)
>
> (((
> (gdb) r -threads 1 -i ./deadlock.rpl -an -f null -
> The program being debugged has been started already.
> Start it from the beginning? (y or n) y
>
> Starting program: /media/sdb1/ffmpeg-HEAD-93439e8/ffmpeg_g -threads 1 -i
> ./deadlock.rpl -an -f null -
> [Thread debugging using libthread_db enabled]
> Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
> ffmpeg version 2.0-93439e8 Copyright (c) 2000-2013 the FFmpeg developers
> built on Sep 18 2013 23:23:15 with gcc 4.7 (Debian 4.7.2-5)
> configuration: --disable-yasm --enable-gpl --disable-ffprobe --disable-
> ffserver
> libavutil 52. 44.100 / 52. 44.100
> libavcodec 55. 31.101 / 55. 31.101
> libavformat 55. 18.100 / 55. 18.100
> libavdevice 55. 3.100 / 55. 3.100
> libavfilter 3. 86.101 / 3. 86.101
> libswscale 2. 5.100 / 2. 5.100
> libswresample 0. 17.103 / 0. 17.103
> libpostproc 52. 3.100 / 52. 3.100
> [rpl @ 0x9114e40] Estimating duration from bitrate, this may be
> inaccurate
> Guessed Channel Layout for Input Stream #0.1 : stereo
> Input #0, rpl, from './deadlock.rpl':
> Metadata:
> title : c:\avtest\logo_hq_124.rpl
> copyright : Copyright (c) 1996 Eidos plc. All rights reserved.
> author : ESCAPE 1.0
> Duration: 00:00:12.04, start: 0.000000, bitrate: 705 kb/s
> Stream #0:0: Video: escape124 ([124][0][0][0] / 0x007C), rgb555le,
> 320x240, 25 fps, 25 tbr, 25 tbn, 25 tbc
> Stream #0:1: Audio: pcm_u8 (e[0][0][0] / 0x0065), 44100 Hz, stereo,
> u8, 705 kb/s
> [New Thread 0xb7df8b70 (LWP 2845)]
> [New Thread 0xb75f8b70 (LWP 2846)]
> [New Thread 0xb6df8b70 (LWP 2847)]
> [New Thread 0xb65f8b70 (LWP 2848)]
> [New Thread 0xb5df8b70 (LWP 2849)]
> [New Thread 0xb55f8b70 (LWP 2850)]
> [New Thread 0xb4df8b70 (LWP 2851)]
> [New Thread 0xb45f8b70 (LWP 2852)]
> [New Thread 0xb3df8b70 (LWP 2853)]
> Output #0, null, to 'pipe:':
> Metadata:
> title : c:\avtest\logo_hq_124.rpl
> copyright : Copyright (c) 1996 Eidos plc. All rights reserved.
> author : ESCAPE 1.0
> encoder : Lavf55.18.100
> Stream #0:0: Video: rawvideo (RGB[15] / 0xF424752), rgb555le,
> 320x240, q=2-31, 200 kb/s, 90k tbn, 25 tbc
> Stream mapping:
> Stream #0:0 -> #0:0 (escape124 -> rawvideo)
> Press [q] to stop, [?] for help
> [null @ 0x91254e0] Encoder did not produce proper pts, making some up.
>
> Program received signal SIGINT, Interrupt.
> escape124_decode_frame (avctx=0x91158c0, data=0x9127560,
> got_frame=0xbffff4e4,
> avpkt=0xbffff288) at libavcodec/escape124.c:307
> 307 if (mask & mask_matrix[i]) {
> (gdb) bt
> #0 escape124_decode_frame (avctx=0x91158c0, data=0x9127560,
> got_frame=0xbffff4e4, avpkt=0xbffff288) at libavcodec/escape124.c:307
> #1 0x0867a58e in avcodec_decode_video2 (avctx=0x91158c0,
> picture=picture at entry=0x9127560,
> got_picture_ptr=got_picture_ptr at entry=0xbffff4e4,
> avpkt=avpkt at entry=0xbffff730) at libavcodec/utils.c:1995
> #2 0x080b394d in decode_video (ist=ist at entry=0x9148ee0,
> pkt=pkt at entry=0xbffff730, got_output=got_output at entry=0xbffff4e4)
> at ffmpeg.c:1668
> #3 0x080b786a in output_packet (pkt=0xbffff6c8, ist=0x9148ee0)
> at ffmpeg.c:1866
> #4 process_input (file_index=2) at ffmpeg.c:3089
> #5 0x080a3043 in transcode_step () at ffmpeg.c:3185
> #6 transcode () at ffmpeg.c:3237
> #7 main (argc=<optimized out>, argv=<optimized out>) at ffmpeg.c:3415
> (gdb)
> }}}
New description:
(I coundn't find any more crashes in decoders, however I found some
deadlocks)
{{{
(gdb) r -threads 1 -i ./deadlock.rpl -an -f null -
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /media/sdb1/ffmpeg-HEAD-93439e8/ffmpeg_g -threads 1 -i
./deadlock.rpl -an -f null -
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
ffmpeg version 2.0-93439e8 Copyright (c) 2000-2013 the FFmpeg developers
built on Sep 18 2013 23:23:15 with gcc 4.7 (Debian 4.7.2-5)
configuration: --disable-yasm --enable-gpl --disable-ffprobe --disable-
ffserver
libavutil 52. 44.100 / 52. 44.100
libavcodec 55. 31.101 / 55. 31.101
libavformat 55. 18.100 / 55. 18.100
libavdevice 55. 3.100 / 55. 3.100
libavfilter 3. 86.101 / 3. 86.101
libswscale 2. 5.100 / 2. 5.100
libswresample 0. 17.103 / 0. 17.103
libpostproc 52. 3.100 / 52. 3.100
[rpl @ 0x9114e40] Estimating duration from bitrate, this may be inaccurate
Guessed Channel Layout for Input Stream #0.1 : stereo
Input #0, rpl, from './deadlock.rpl':
Metadata:
title : c:\avtest\logo_hq_124.rpl
copyright : Copyright (c) 1996 Eidos plc. All rights reserved.
author : ESCAPE 1.0
Duration: 00:00:12.04, start: 0.000000, bitrate: 705 kb/s
Stream #0:0: Video: escape124 ([124][0][0][0] / 0x007C), rgb555le,
320x240, 25 fps, 25 tbr, 25 tbn, 25 tbc
Stream #0:1: Audio: pcm_u8 (e[0][0][0] / 0x0065), 44100 Hz, stereo,
u8, 705 kb/s
[New Thread 0xb7df8b70 (LWP 2845)]
[New Thread 0xb75f8b70 (LWP 2846)]
[New Thread 0xb6df8b70 (LWP 2847)]
[New Thread 0xb65f8b70 (LWP 2848)]
[New Thread 0xb5df8b70 (LWP 2849)]
[New Thread 0xb55f8b70 (LWP 2850)]
[New Thread 0xb4df8b70 (LWP 2851)]
[New Thread 0xb45f8b70 (LWP 2852)]
[New Thread 0xb3df8b70 (LWP 2853)]
Output #0, null, to 'pipe:':
Metadata:
title : c:\avtest\logo_hq_124.rpl
copyright : Copyright (c) 1996 Eidos plc. All rights reserved.
author : ESCAPE 1.0
encoder : Lavf55.18.100
Stream #0:0: Video: rawvideo (RGB[15] / 0xF424752), rgb555le, 320x240,
q=2-31, 200 kb/s, 90k tbn, 25 tbc
Stream mapping:
Stream #0:0 -> #0:0 (escape124 -> rawvideo)
Press [q] to stop, [?] for help
[null @ 0x91254e0] Encoder did not produce proper pts, making some up.
Program received signal SIGINT, Interrupt.
escape124_decode_frame (avctx=0x91158c0, data=0x9127560,
got_frame=0xbffff4e4,
avpkt=0xbffff288) at libavcodec/escape124.c:307
307 if (mask & mask_matrix[i]) {
(gdb) bt
#0 escape124_decode_frame (avctx=0x91158c0, data=0x9127560,
got_frame=0xbffff4e4, avpkt=0xbffff288) at libavcodec/escape124.c:307
#1 0x0867a58e in avcodec_decode_video2 (avctx=0x91158c0,
picture=picture at entry=0x9127560,
got_picture_ptr=got_picture_ptr at entry=0xbffff4e4,
avpkt=avpkt at entry=0xbffff730) at libavcodec/utils.c:1995
#2 0x080b394d in decode_video (ist=ist at entry=0x9148ee0,
pkt=pkt at entry=0xbffff730, got_output=got_output at entry=0xbffff4e4)
at ffmpeg.c:1668
#3 0x080b786a in output_packet (pkt=0xbffff6c8, ist=0x9148ee0)
at ffmpeg.c:1866
#4 process_input (file_index=2) at ffmpeg.c:3089
#5 0x080a3043 in transcode_step () at ffmpeg.c:3185
#6 transcode () at ffmpeg.c:3237
#7 main (argc=<optimized out>, argv=<optimized out>) at ffmpeg.c:3415
(gdb)
}}}
--
--
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/2984#comment:1>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list