Opened 2 years ago

Closed 2 years ago

#10071 closed defect (fixed)

apng deadlock with fuzzed file

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

Description

(gdb) r -i out_deadlock.apng -f null -
Starting program: ffmpeg_g -i out_deadlock.apng -f null -
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
ffmpeg version N-109101-g822da7a317 Copyright (c) 2000-2022 the FFmpeg developers
  built with gcc 9 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
  configuration: --enable-libopenjpeg
  libavutil      57. 42.100 / 57. 42.100
  libavcodec     59. 52.102 / 59. 52.102
  libavformat    59. 34.101 / 59. 34.101
  libavdevice    59.  8.101 / 59.  8.101
  libavfilter     8. 50.100 /  8. 50.100
  libswscale      6.  8.112 /  6.  8.112
  libswresample   4.  9.100 /  4.  9.100
[apng @ 0x5555571456c0] Frame did not contain a complete image
Input #0, apng, from 'out_deadlock.apng':
  Duration: N/A, bitrate: N/A
  Stream #0:0: Video: apng, rgb24(pc), 299x171 [SAR 1:1 DAR 299:171], 15 fps, 15 tbr, 100k tbn
[New Thread 0x7ffff6b6d700 (LWP 19838)]
[New Thread 0x7ffff636c700 (LWP 19839)]
[New Thread 0x7ffff5b6b700 (LWP 19840)]
[New Thread 0x7ffff536a700 (LWP 19841)]
[New Thread 0x7ffff4b69700 (LWP 19842)]
[New Thread 0x7ffff4368700 (LWP 19843)]
[New Thread 0x7ffff3b67700 (LWP 19844)]
[New Thread 0x7ffff3366700 (LWP 19845)]
[New Thread 0x7ffff2b65700 (LWP 19846)]
Stream mapping:
  Stream #0:0 -> #0:0 (apng (native) -> wrapped_avframe (native))
Press [q] to stop, [?] for help
[New Thread 0x7ffff2364700 (LWP 19847)]
[apng @ 0x55555715fb00] Frame did not contain a complete image
[apng @ 0x555557158400] inflate returned error -3
[apng @ 0x55555715c940] inflate returned error -3
[apng @ 0x55555715b400] Frame did not contain a complete image
[apng @ 0x555557144440] In-stream tag=fdAT (0x54416466) len=74 is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[apng @ 0x555557144440] If you want to help, upload a sample of this file to https://streams.videolan.org/upload/ and contact the ffmpeg-devel mailing list. (ffmpeg-devel@ffmpeg.org)
Error demuxing input file 0: Not yet implemented in FFmpeg, patches welcome
[apng @ 0x555557169040] 10 undecompressed bytes left in buffer
[Thread 0x7ffff2364700 (LWP 19847) exited]
out_deadlock.apng: Not yet implemented in FFmpeg, patches welcome
[New Thread 0x7ffff1b63700 (LWP 19848)]
[New Thread 0x7ffff1362700 (LWP 19849)]
[New Thread 0x7ffff0b61700 (LWP 19850)]
[New Thread 0x7fffd3fff700 (LWP 19851)]
[New Thread 0x7fffd37fe700 (LWP 19852)]
[New Thread 0x7fffd2ffd700 (LWP 19853)]
[New Thread 0x7fffd27fc700 (LWP 19854)]
[New Thread 0x7fffd1ffb700 (LWP 19855)]
Output #0, null, to 'pipe:':
  Metadata:
    encoder         : Lavf59.34.101
  Stream #0:0: Video: wrapped_avframe, rgb24(pc, progressive), 299x171 [SAR 1:1 DAR 299:171], q=2-31, 200 kb/s, 15 fps, 15 tbn
    Metadata:
      encoder         : Lavc59.52.102 wrapped_avframe
[New Thread 0x7fffd17fa700 (LWP 19856)]
frame=    0 fps=0.0 q=-0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=  out_deadlock.apng: Not yet implemented in FFmpeg, patches welcome
Error while decoding stream #0:0: Generic error in an external library
out_deadlock.apng: Not yet implemented in FFmpeg, patches welcome
    Last message repeated 1 times
Error while decoding stream #0:0: Generic error in an external library
out_deadlock.apng: Not yet implemented in FFmpeg, patches welcome
Error while decoding stream #0:0: Invalid data found when processing input
out_deadlock.apng: Not yet implemented in FFmpeg, patches welcome
Error while decoding stream #0:0: Invalid data found when processing input
out_deadlock.apng: Not yet implemented in FFmpeg, patches welcome
Error while decoding stream #0:0: Invalid data found when processing input
out_deadlock.apng: Not yet implemented in FFmpeg, patches welcome
--Type <RET> for more, q to quit, c to continue without paging--

Thread 1 "ffmpeg_g" received signal SIGINT, Interrupt.
futex_wait_cancelable (private=<optimized out>, expected=0, 
    futex_word=0x555557155cc0) at ../sysdeps/nptl/futex-internal.h:183
(gdb) bt
#0  futex_wait_cancelable (private=<optimized out>, expected=0, 
    futex_word=0x555557155cc0) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x555557155cf0, 
    cond=0x555557155c98) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=cond@entry=0x555557155c98, 
    mutex=mutex@entry=0x555557155cf0) at pthread_cond_wait.c:647
#3  0x0000555555e45e5b in ff_thread_decode_frame (
    avctx=avctx@entry=0x555557146f40, picture=picture@entry=0x55555714b740, 
    got_picture_ptr=got_picture_ptr@entry=0x7fffffffda0c, 
    avpkt=avpkt@entry=0x55555715ed00) at libavcodec/pthread_frame.c:589
#4  0x0000555555bbad3e in decode_simple_internal (
    discarded_samples=<synthetic pointer>, frame=0x55555714b740, 
    avctx=0x555557146f40) at libavcodec/decode.c:305
#5  decode_simple_receive_frame (frame=<optimized out>, avctx=<optimized out>)
    at libavcodec/decode.c:563
#6  decode_receive_frame_internal (avctx=avctx@entry=0x555557146f40, 
    frame=frame@entry=0x55555714b740) at libavcodec/decode.c:584
#7  0x0000555555bbb7ab in ff_decode_receive_frame (avctx=0x555557146f40, 
    frame=0x55555714b740) at libavcodec/decode.c:711
#8  0x0000555555711778 in decode (pkt=<optimized out>, 
    got_frame=0x7fffffffdb80, frame=0x55555714b740, avctx=<optimized out>)
    at fftools/ffmpeg.c:2006
#9  decode_video (ist=0x555557146d40, pkt=0x5555571479c0, 
--Type <RET> for more, q to quit, c to continue without paging--
    got_output=0x7fffffffdb80, duration_pts=0x7fffffffdb88, eof=1, 
    decode_failed=0x7fffffffdb84) at fftools/ffmpeg.c:2124
#10 0x0000555555711ff0 in process_input_packet (ist=0x555557146d40, no_eof=0, 
    pkt=0x0) at fftools/ffmpeg.c:2362
#11 0x000055555571383f in process_input (file_index=<optimized out>)
    at fftools/ffmpeg.c:3658
#12 transcode_step () at fftools/ffmpeg.c:3858
#13 transcode () at fftools/ffmpeg.c:3905
#14 0x00005555556eb18b in main (argc=6, argv=0x7fffffffdf58)
    at fftools/ffmpeg.c:4052
(gdb) 

Attachments (1)

out_deadlock.apng (62.8 KB ) - added by ami_stuff 2 years ago.

Download all attachments as: .zip

Change History (3)

by ami_stuff, 2 years ago

Attachment: out_deadlock.apng added

comment:1 by mkver, 2 years ago

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

comment:2 by mkver, 2 years ago

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