[FFmpeg-trac] #3889(undetermined:new): h264: crash in low mem situation
FFmpeg
trac at avcodec.org
Sun Aug 24 12:44:40 CEST 2014
#3889: h264: crash in low mem situation
-------------------------------------+-------------------------------------
Reporter: ami_stuff | Owner:
Type: defect | Status: new
Priority: normal | Component:
Version: | undetermined
unspecified | Keywords:
Blocked By: | Blocking:
Reproduced by developer: 0 | Analyzed by developer: 0
-------------------------------------+-------------------------------------
I first spotted it on windows.
It crashes here with -Sv between 200000 and 800000.
http://www.datafilehost.com/d/e6b9258d
{{{
knoppix at Microknoppix:/media/sdb1$ ulimit -Sv 300000 -c unlimited
knoppix at Microknoppix:/media/sdb1$ ffmpeg_g -vcodec h264 -i dvvideo.avi -an
-f null -
ffmpeg-snapshot/ffmpeg -vcodec h264 -i dvvideo.avi -an -f null -
ffmpeg version 2.3.git Copyright (c) 2000-2014 the FFmpeg developers
built on Aug 24 2014 12:13:59 with gcc 4.7 (Debian 4.7.2-5)
configuration: --disable-yasm --enable-gpl --disable-ffprobe --disable-
ffserver
libavutil 54. 7.100 / 54. 7.100
libavcodec 56. 0.101 / 56. 0.101
libavformat 56. 2.100 / 56. 2.100
libavdevice 56. 0.100 / 56. 0.100
libavfilter 5. 0.103 / 5. 0.103
libswscale 3. 0.100 / 3. 0.100
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 0.100 / 53. 0.100
[h264 @ 0x93b8900] no frame!
Last message repeated 6 times
[h264 @ 0x93b8900] A non-intra slice in an IDR NAL unit.
[h264 @ 0x93b8900] decode_slice_header error
[h264 @ 0x93b8900] A non-intra slice in an IDR NAL unit.
[h264 @ 0x93b8900] decode_slice_header error
[h264 @ 0x93b8900] sps_id 32 out of range
Last message repeated 1 times
[h264 @ 0x93b8900] no frame!
[h264 @ 0x93b8900] A non-intra slice in an IDR NAL unit.
[h264 @ 0x93b8900] decode_slice_header error
[h264 @ 0x93b8900] sps_id 32 out of range
Last message repeated 1 times
[h264 @ 0x93b8900] illegal POC type 32
[h264 @ 0x93b8900] sps_id 32 out of range
[h264 @ 0x93b8900] no frame!
[h264 @ 0x93b8900] SEI type 127 size 1192 truncated at 5
[h264 @ 0x93b8900] illegal aspect ratio
[h264 @ 0x93b8900] too many reference frames 32
[h264 @ 0x93b8900] A non-intra slice in an IDR NAL unit.
[h264 @ 0x93b8900] decode_slice_header error
[h264 @ 0x93b8900] A non-intra slice in an IDR NAL unit.
[h264 @ 0x93b8900] decode_slice_header error
[h264 @ 0x93b8900] illegal aspect ratio
[h264 @ 0x93b8900] sps_id 32 out of range
[h264 @ 0x93b8900] illegal aspect ratio
[h264 @ 0x93b8900] sps_id 32 out of range
[h264 @ 0x93b8900] SEI type 132 size 1680 truncated at 1
[h264 @ 0x93b8900] no frame!
[h264 @ 0x93b8900] sps_id 32 out of range
Last message repeated 1 times
[h264 @ 0x93b8900] A non-intra slice in an IDR NAL unit.
[h264 @ 0x93b8900] decode_slice_header error
[h264 @ 0x93b8900] A non-intra slice in an IDR NAL unit.
[h264 @ 0x93b8900] decode_slice_header error
[h264 @ 0x93b8900] slice type 32 too large at 0 0
[h264 @ 0x93b8900] decode_slice_header error
[h264 @ 0x93b8900] no frame!
[h264 @ 0x93b8900] A non-intra slice in an IDR NAL unit.
[h264 @ 0x93b8900] decode_slice_header error
[h264 @ 0x93b8900] A non-intra slice in an IDR NAL unit.
[h264 @ 0x93b8900] decode_slice_header error
[h264 @ 0x93b8900] slice type 32 too large at 0 0
[h264 @ 0x93b8900] decode_slice_header error
[h264 @ 0x93b8900] sps_id 0 out of range
[h264 @ 0x93b8900] SEI type 52 size 1232 truncated at 4
[h264 @ 0x93b8900] SEI type 93 size 496 truncated at 7
[h264 @ 0x93b8900] Partitioned H.264 support is incomplete
[h264 @ 0x93b8900] non-existing PPS 126 referenced
[h264 @ 0x93b8900] decode_slice_header error
[...]
[h264 @ 0x96740a0] decode_slice_header error
[h264 @ 0x96740a0] Missing reference picture, default is 0
[h264 @ 0x96740a0] decode_slice_header error
[h264 @ 0x96740a0] QP 4294967217 out of range
[h264 @ 0x96740a0] decode_slice_header error
[h264 @ 0x96740a0] reference overflow 246 > 15 or 0 > 15
[h264 @ 0x96740a0] decode_slice_header error
[h264 @ 0x96740a0] reference overflow 24647 > 31 or 0 > 31
[h264 @ 0x96740a0] decode_slice_header error
[h264 @ 0x96740a0] A non-intra slice in an IDR NAL unit.
[h264 @ 0x96740a0] decode_slice_header error
[h264 @ 0x96740a0] Missing reference picture, default is 0
[h264 @ 0x96740a0] decode_slice_header error
[h264 @ 0x96740a0] Missing reference picture, default is 0
[h264 @ 0x96740a0] decode_slice_header error
[h264 @ 0x96740a0] Partitioned H.264 support is incomplete
[h264 @ 0x96740a0] Missing reference picture, default is 0
[h264 @ 0x96740a0] decode_slice_header error
[h264 @ 0x96740a0] A non-intra slice in an IDR NAL unit.
[h264 @ 0x96740a0] decode_slice_header error
[h264 @ 0x96740a0] QP 3109 out of range
[h264 @ 0x96740a0] decode_slice_header error
Input stream #0:0 frame changed from size:96x16 fmt:yuvj420p to size:32x16
fmt:yuvj420p
[h264 @ 0x93b0ba0] slice type 32 too large at 0 0
[h264 @ 0x93b0ba0] decode_slice_header error
[h264 @ 0x93b0ba0] cabac_init_idc 32 overflow
[h264 @ 0x93b0ba0] decode_slice_header error
[h264 @ 0x93b0ba0] reference picture missing during reorder
[h264 @ 0x93b0ba0] reference count overflow
[h264 @ 0x93b0ba0] decode_slice_header error
[h264 @ 0x93b0ba0] FMO not supported
[h264 @ 0x93b0ba0] reference overflow (pps)
[h264 @ 0x93b0ba0] A non-intra slice in an IDR NAL unit.
[h264 @ 0x93b0ba0] decode_slice_header error
[h264 @ 0x93b0ba0] FMO not supported
[h264 @ 0x93b0ba0] sps_id 9 out of range
[h264 @ 0x93b0ba0] A non-intra slice in an IDR NAL unit.
[h264 @ 0x93b0ba0] decode_slice_header error
[h264 @ 0x93b0ba0] slice type 13 too large at 0 1
[h264 @ 0x93b0ba0] decode_slice_header error
[h264 @ 0x93b0ba0] Partitioned H.264 support is incomplete
[h264 @ 0x93b0ba0] A non-intra slice in an IDR NAL unit.
[h264 @ 0x93b0ba0] decode_slice_header error
[h264 @ 0x93b0ba0] non-existing PPS 14 referenced
[h264 @ 0x93b0ba0] decode_slice_header error
[h264 @ 0x93b0ba0] sps_id 3 out of range
[h264 @ 0x93b0ba0] first_mb_in_slice overflow
[h264 @ 0x93b0ba0] decode_slice_header error
[swscaler @ 0xade87c00] deprecated pixel format used, make sure you did
set range correctly
[h264 @ 0x93b0ba0] A non-intra slice in an IDR NAL unit.
[h264 @ 0x93b0ba0] decode_slice_header error
[h264 @ 0x93b0ba0] Missing reference picture, default is 0
[h264 @ 0x93b0ba0] decode_slice_header error
[h264 @ 0x93b0ba0] Reinit context to 32x64, pix_fmt: yuvj420p
[h264 @ 0x93b0ba0] Missing reference picture, default is 2147483647
Last message repeated 3 times
[h264 @ 0x93b0ba0] deblocking_filter_idc 6 out of range
[h264 @ 0x93b0ba0] decode_slice_header error
[h264 @ 0x93b0ba0] Partitioned H.264 support is incomplete
[h264 @ 0x93b0ba0] A non-intra slice in an IDR NAL unit.
[h264 @ 0x93b0ba0] decode_slice_header error
[h264 @ 0x93b0ba0] non-existing PPS 21 referenced
[h264 @ 0x93b0ba0] decode_slice_header error
[h264 @ 0x93b0ba0] Reinit context to 16x256, pix_fmt: yuvj420p
[h264 @ 0x93b0ba0] QP 3109 out of range
[h264 @ 0x93b0ba0] decode_slice_header error
[h264 @ 0x9811b80] FMO not supported
[h264 @ 0x9811b80] Reinit context to 32x64, pix_fmt: yuvj420p
[h264 @ 0x9811b80] first_mb_in_slice overflow
[h264 @ 0x9811b80] decode_slice_header error
[h264 @ 0x9811b80] This stream was generated by a broken encoder, invalid
8x8 inference
[h264 @ 0x9811b80] decode_slice_header error
[h264 @ 0x9811b80] FMO not supported
[h264 @ 0x9811b80] slice type 19 too large at 0 1
[h264 @ 0x9811b80] decode_slice_header error
[h264 @ 0x9811b80] Partitioned H.264 support is incomplete
[h264 @ 0x9811b80] Reinit context to 131056x2016, pix_fmt: yuvj420p
[h264 @ 0x9811b80] [IMGUTILS @ 0xb2371004] Picture size 131056x2016 is
invalid
[h264 @ 0x9811b80] video_get_buffer: image parameters invalid
[h264 @ 0x9811b80] get_buffer() failed
[h264 @ 0x9811b80] thread_get_buffer() failed
[h264 @ 0x9811b80] decode_slice_header error
[h264 @ 0x9811b80] [IMGUTILS @ 0xb2371004] Picture size 131056x2016 is
invalid
[h264 @ 0x9811b80] video_get_buffer: image parameters invalid
[h264 @ 0x9811b80] get_buffer() failed
[h264 @ 0x9811b80] thread_get_buffer() failed
[h264 @ 0x9811b80] decode_slice_header error
[h264 @ 0x9811b80] [IMGUTILS @ 0xb2371004] Picture size 131056x2016 is
invalid
[h264 @ 0x9811b80] video_get_buffer: image parameters invalid
[h264 @ 0x9811b80] get_buffer() failed
[h264 @ 0x9811b80] thread_get_buffer() failed
[h264 @ 0x9811b80] decode_slice_header error
[h264 @ 0x9811b80] illegal aspect ratio
[h264 @ 0x9811b80] sps_id 32 out of range
[h264 @ 0x9811b80] slice type 23 too large at 0 1
[h264 @ 0x9811b80] decode_slice_header error
[h264 @ 0x9811b80] [IMGUTILS @ 0xb2371004] Picture size 131056x2016 is
invalid
[h264 @ 0x9811b80] video_get_buffer: image parameters invalid
[h264 @ 0x9811b80] get_buffer() failed
[h264 @ 0x9811b80] thread_get_buffer() failed
[h264 @ 0x9811b80] decode_slice_header error
[h264 @ 0x9811b80] Partitioned H.264 support is incomplete
[h264 @ 0x9811b80] sps_id 32 out of range
Last message repeated 1 times
[h264 @ 0x9811b80] [IMGUTILS @ 0xb2371004] Picture size 131056x2016 is
invalid
[h264 @ 0x9811b80] video_get_buffer: image parameters invalid
[h264 @ 0x9811b80] get_buffer() failed
[h264 @ 0x9811b80] thread_get_buffer() failed
[h264 @ 0x9811b80] decode_slice_header error
[h264 @ 0x9811b80] [IMGUTILS @ 0xb2371004] Picture size 131056x2016 is
invalid
[h264 @ 0x9811b80] video_get_buffer: image parameters invalid
[h264 @ 0x9811b80] get_buffer() failed
[h264 @ 0x9811b80] thread_get_buffer() failed
[h264 @ 0x9811b80] decode_slice_header error
[h264 @ 0x9811b80] Partitioned H.264 support is incomplete
[h264 @ 0x9811b80] FMO not supported
[h264 @ 0x9811b80] no frame!
[h264 @ 0x966bb60] Cannot allocate memory.
[h264 @ 0x966bb60] Could not allocate memory
[h264 @ 0x966bb60] h264_slice_header_init() failedError while decoding
stream #0:0: Cannot allocate memory
[h264 @ 0x966bb60] Cannot allocate memory.:00:07.24 bitrate=N/A
[h264 @ 0x966bb60] Could not allocate memory
Error while decoding stream #0:0: Cannot allocate memory
[h264 @ 0x966bb60] Cannot allocate memory.
Segmentation fault (core dumped)
}}}
{{{
knoppix at Microknoppix:/media/sdb1$ ulimit -Sv 250000000 -c unlimited
knoppix at Microknoppix:/media/sdb1$ gdb -c core ffmpeg_g
GNU gdb (GDB) 7.4.1-debian
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /media/sdb1/ffmpeg_g...done.
[New LWP 14117]
[New LWP 14197]
[New LWP 14196]
[New LWP 14195]
[New LWP 14199]
[New LWP 14133]
[New LWP 14192]
[New LWP 14127]
[New LWP 14194]
[New LWP 14134]
[New LWP 14198]
[New LWP 14193]
[New LWP 14200]
[New LWP 14128]
[New LWP 14131]
[New LWP 14135]
[New LWP 14132]
[New LWP 14129]
[New LWP 14130]
warning: Can't read pathname for load map: Input/output error.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
Failed to read a valid object file image from memory.
Core was generated by `./ffmpeg_g -vcodec h264 -i dvvideo.avi -an -f null
-'.
Program terminated with signal 11, Segmentation fault.
#0 *__GI___libc_free (mem=0xadd01020) at malloc.c:3709
3709 malloc.c: No such file or directory.
(gdb) bt
#0 *__GI___libc_free (mem=0xadd01020) at malloc.c:3709
#1 0x089f3ce2 in av_free (ptr=<optimized out>) at libavutil/mem.c:232
#2 av_freep (arg=arg at entry=0xb1af11d0) at libavutil/mem.c:239
#3 0x0837fc65 in ff_h264_free_tables (h=h at entry=0xb1a8b020, free_rbsp=1)
at libavcodec/h264.c:373
#4 0x08381cd5 in ff_h264_alloc_tables (h=h at entry=0xb1a8b020)
at libavcodec/h264.c:485
#5 0x083c0e3c in ff_h264_update_thread_context (dst=0x966bb60,
src=0x9811b80)
at libavcodec/h264_slice.c:600
#6 0x086601c3 in update_context_from_thread (dst=0x966bb60,
src=<optimized out>, for_user=<optimized out>)
at libavcodec/pthread_frame.c:246
#7 0x086606bc in submit_packet (avpkt=0xbfa04348, p=0x9811288)
at libavcodec/pthread_frame.c:346
#8 ff_thread_decode_frame (avctx=avctx at entry=0x969c480,
picture=picture at entry=0x9732780,
got_picture_ptr=got_picture_ptr at entry=0xbfa045ac,
avpkt=avpkt at entry=0xbfa04348) at libavcodec/pthread_frame.c:421
#9 0x08740e82 in avcodec_decode_video2 (avctx=0x969c480,
picture=picture at entry=0x9732780,
got_picture_ptr=got_picture_ptr at entry=0xbfa045ac,
avpkt=avpkt at entry=0xbfa04818) at libavcodec/utils.c:2261
#10 0x080c9694 in decode_video (ist=ist at entry=0x9633980,
---Type <return> to continue, or q <return> to quit---
pkt=pkt at entry=0xbfa04818, got_output=got_output at entry=0xbfa045ac)
at ffmpeg.c:1888
#11 0x080cdb9b in process_input_packet (pkt=0xbfa047d0, ist=0x9633980)
at ffmpeg.c:2122
#12 process_input (file_index=-1080014824) at ffmpeg.c:3529
#13 0x080afd42 in transcode_step () at ffmpeg.c:3623
#14 transcode () at ffmpeg.c:3675
#15 main (argc=<optimized out>, argv=<optimized out>) at ffmpeg.c:3851
(gdb)
}}}
--
Ticket URL: <https://trac.ffmpeg.org/ticket/3889>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list