[Libav-user] Fwd: delayed_pic crash
Ratin
ratin3 at gmail.com
Thu Aug 25 03:34:04 CEST 2011
Found a crash bug while streaming from a high latency camera with
delayed_pic loop in avcodec/h264.c file, the GDB trace below:
Please see below:
cur frame T.S: 1314127402073417, nextFrameInfo.pts: 1314127402095435,
Diff to next frame: 22018, last frame pts: 1314127402368732 (diff
from last: 295315)
: decode_postinit : h->delayed_pic[pics]: 9c7fd0
: decode_postinit : h->delayed_pic[pics]: 9c6d70
: decode_postinit : h->delayed_pic[pics]: 9c82e0
: decode_postinit : h->delayed_pic[pics]: 9c6440
: decode_postinit : h->delayed_pic[pics]: 9c8f20
: decode_postinit : h->delayed_pic[pics]: 9c7390
: decode_postinit : h->delayed_pic[pics]: 9c5e20
: decode_postinit : h->delayed_pic[pics]: 9c5b10
: decode_postinit : h->delayed_pic[pics]: 9c6a60
: decode_postinit : h->delayed_pic[pics]: 9c79b0
: decode_postinit : h->delayed_pic[pics]: 9c6750
: decode_postinit : h->delayed_pic[pics]: 9c8c10
: decode_postinit : h->delayed_pic[pics]: 9c7080
: decode_postinit : h->delayed_pic[pics]: 9c76a0
: decode_postinit : h->delayed_pic[pics]: 9c5800
: decode_postinit : h->delayed_pic[pics]: 9c7cc0
: decode_postinit : h->delayed_pic[pics]: 9c8900
: decode_postinit : h->delayed_pic[pics]: 9c85f0
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff7481a910 (LWP 27651)]
0x00007ffff0880a7d in decode_postinit (h=0x7fffb1eb3040,
setup_finished=1) at h264.c:1422
1422 for(i=1; h->delayed_pic[i] && !h->delayed_pic[i]->key_frame
&& !h->delayed_pic[i]->mmco_reset; i++)
Current language: auto
The current source language is "auto; currently c".
(gdb) bt
#0 0x00007ffff0880a7d in decode_postinit (h=0x7fffb1eb3040,
setup_finished=1) at h264.c:1422
#1 0x00007ffff088cb0c in decode_nal_units (h=0x7fffb1eb3040,
buf=0x7fffb32c2aab "", buf_size=29004) at h264.c:3739
#2 0x00007ffff088d423 in decode_frame (avctx=0x7fffd807b580,
data=0x7fffd807c280, data_size=0x7fff74819bd4, avpkt=0x7fff74819b30)
at h264.c:3921
#3 0x00007ffff0a2960c in avcodec_decode_video2 (avctx=0x7fffd807b580,
picture=0x7fffd807c280, got_picture_ptr=0x7fff74819bd4,
avpkt=0x7fff74819b30) at libavcodec/utils.c:747
..
(gdb) list
1417 if(cur->reference == 0)
1418 cur->reference = DELAYED_PIC_REF;
1419
1420 out = h->delayed_pic[0];
1421 out_idx = 0;
1422 for(i=1; h->delayed_pic[i] && !h->delayed_pic[i]->key_frame
&& !h->delayed_pic[i]->mmco_reset; i++)
1423 if(h->delayed_pic[i]->poc < out->poc){
1424 out = h->delayed_pic[i];
1425 out_idx = i;
1426 }
(gdb) p i
$1 = 19
(gdb) p h->delayed_pic
$2 = {0x9c7fd0, 0x9c6d70, 0x9c82e0, 0x9c6440, 0x9c8f20, 0x9c7390,
0x9c5e20, 0x9c5b10, 0x9c6a60, 0x9c79b0, 0x9c6750, 0x9c8c10, 0x9c7080,
0x9c76a0, 0x9c5800, 0x9c7cc0, 0x9c8900, 0x9c85f0}
i is never supposed to be more than 17 ..
has anybody experience this?
More information about the Libav-user
mailing list