Opened 11 years ago

Closed 11 years ago

#2984 closed defect (fixed)

escape124: deadlock with fuzzed file

Reported by: ami_stuff Owned by:
Priority: important Component: avcodec
Version: git-master Keywords: escape124 deadlock regression
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description (last modified by ami_stuff)

(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@entry=0x9127560, 
    got_picture_ptr=got_picture_ptr@entry=0xbffff4e4, 
    avpkt=avpkt@entry=0xbffff730) at libavcodec/utils.c:1995
#2  0x080b394d in decode_video (ist=ist@entry=0x9148ee0, 
    pkt=pkt@entry=0xbffff730, got_output=got_output@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)

Attachments (1)

deadlock.rpl (1.0 MB ) - added by ami_stuff 11 years ago.

Download all attachments as: .zip

Change History (4)

comment:1 by ami_stuff, 11 years ago

Description: modified (diff)

by ami_stuff, 11 years ago

Attachment: deadlock.rpl added

comment:2 by Carl Eugen Hoyos, 11 years ago

Component: undeterminedavcodec
Keywords: escape124 deadlock regression added
Priority: normalimportant
Reproduced by developer: set
Status: newopen
Version: unspecifiedgit-master

comment:3 by Elon Musk, 11 years ago

Resolution: fixed
Status: openclosed
Note: See TracTickets for help on using tickets.