[Ffmpeg-devel] ffmpeg h264.c crash - assertion failed -> segfault

Dennis van Amerongen Dennis.vanAmerongen
Sun Oct 2 16:40:32 CEST 2005


Hiya,
 
Since I've been experimenting with VLC x264 livestreaming (as of VLC 0.8.2) I've
always got reports of client crashes which renders the livestreaming with my particular
setup rather problematic.
 
Encoder: upto VLC (0.8.4 test1) x264 (r293) asf encapsulated h264 with mp3 livestream (mmsh)
Decoders tested: upto mplayer CVS 050928 and VLC 0.8.4 test1 (which use fairly recent ffmpeg)
 
Clients crash at random intervals:
 
VLC (debian)
 
vlc: h264.c:2584: mc_dir_part: l'assertion ? pic->data[0] ? a ?chou?
 
VLC (win32) gdb crashlog is as follows:
 
Program received signal SIGSEGV, Segmentation fault.
[Switching to thread 1780.0xfac]
0x006c4a10 in put_h264_qpel16_mc00_mmx2 (
    dst=0x1b6e5ac0 '\020' <repeats 43 times>, "\017\017\020\020\020\020\020\020\
017\020\020\020\020", '\021' <repeats 12 times>, "\020\020\020\020\021\021\021\0
21\021\021\021\021\020\020\017\017\017\020\020\020\020", '\021' <repeats 23 time
s>, '\020' <repeats 64 times>, '\021' <repeats 24 times>..., src=0x0,
    stride=544) at i386/dsputil_mmx.c:418
418     i386/dsputil_mmx.c: No such file or directory.
        in i386/dsputil_mmx.c
(gdb) bt
#0  0x006c4a10 in put_h264_qpel16_mc00_mmx2 (
    dst=0x1b6e5ac0 '\020' <repeats 43 times>, "\017\017\020\020\020\020\020\020\
017\020\020\020\020", '\021' <repeats 12 times>, "\020\020\020\020\021\021\021\0
21\021\021\021\021\020\020\017\017\017\020\020\020\020", '\021' <repeats 23 time
s>, '\020' <repeats 64 times>, '\021' <repeats 24 times>..., src=0x0,
    stride=544) at i386/dsputil_mmx.c:418
#1  0x0077e0a4 in mc_dir_part (h=0x10292fd0, pic=0x220, n=0, square=1,
    chroma_height=8, delta=0, list=0,
    dest_y=0x1b6e5ac0 '\020' <repeats 43 times>, "\017\017\020\020\020\020\020\0
20\017\020\020\020\020", '\021' <repeats 12 times>, "\020\020\020\020\021\021\02
1\021\021\021\021\021\020\020\017\017\017\020\020\020\020", '\021' <repeats 23 t
imes>, '\020' <repeats 64 times>, '\021' <repeats 24 times>...,
    dest_cb=0x1b71b578 "\200\200\200\200||||", '~' <repeats 16 times>, "}}}}}}}|
||||||||}}}}}}}~}}}}}}}}", '~' <repeats 55 times>, "\177\177\200\200\177", '~' <
repeats 52 times>, '}' <repeats 27 times>, "|||||"...,
    dest_cr=0x1b7292b8 '~' <repeats 25 times>, "\177", '\200' <repeats 46 times>
, '\177' <repeats 32 times>, "\200\200\200\200\200\200\200\200\177\177\177\177\1
77\177\177\177", '\200' <repeats 32 times>, '\177' <repeats 16 times>, '\200' <r
epeats 32 times>..., src_x_offset=0, src_y_offset=0, qpix_op=0x10293d50,
    chroma_op=0x6de980 <put_h264_chroma_mc8_mmx>) at h264.c:2598
#2  0x0077ff8d in hl_motion (h=0x10292fd0,
    dest_y=0x1b6e5ac0 '\020' <repeats 43 times>, "\017\017\020\020\020\020\020\0
20\017\020\020\020\020", '\021' <repeats 12 times>, "\020\020\020\020\021\021\02
1\021\021\021\021\021\020\020\017\017\017\020\020\020\020", '\021' <repeats 2---
3 times>, '\020' <repeats 64 times>, '\021' <repeats 24 times>...,
    dest_cb=0x1b71b578 "\200\200\200\200||||", '~' <repeats 16 times>, "}}}}}}}|
||||||||}}}}}}}~}}}}}}}}", '~' <repeats 55 times>, "\177\177\200\200\177", '~' <
repeats 52 times>, '}' <repeats 27 times>, "|||||"...,
    dest_cr=0x1b7292b8 '~' <repeats 25 times>, "\177", '\200' <repeats 46 times>
, '\177' <repeats 32 times>, "\200\200\200\200\200\200\200\200\177\177\177\177\1
77\177\177\177", '\200' <repeats 32 times>, '\177' <repeats 16 times>, '\200' <r
epeats 32 times>..., qpix_put=0x10293d50, chroma_put=0x10293d38,
    qpix_avg=0x10293e10, chroma_avg=0x10293d44, weight_op=0x10293ed0,
    weight_avg=0x10293ef8) at h264.c:2636
#3  0x00796510 in hl_decode_mb (h=0x10292fd0) at h264.c:3371
(gdb)
#5  0x00798b62 in decode_nal_units (h=0x10292fd0, buf=0x103dff58 "",
    buf_size=1066) at h264.c:7393
#6  0x00799d61 in decode_frame (avctx=0x102910b0, data=0x102913b0,
    data_size=0x1b02fed8, buf=0x103dff58 "", buf_size=1066) at h264.c:7533
#7  0x006289d1 in avcodec_decode_video (avctx=0x102910b0, picture=0x102913b0,
    got_picture_ptr=0x1b02fed8, buf=0x103dff58 "", buf_size=1066)
    at utils.c:905
#8  0x0049c4c5 in DecodeVideo__ffmpeg (p_dec=0x10290480, pp_block=0x1b02ff54)
    at video.c:504
#9  0x0046817b in DecoderDecode (p_dec=0x10290480, p_block=0x10286008)
    at src/input/decoder.c:721
#10 0x00468719 in DecoderThread (p_dec=0x10290480) at src/input/decoder.c:488
---Type <return> to continue, or q <return> to quit---
#11 0x77bcb530 in msvcrt!_endthreadex ()
   from /cygdrive/c/WINDOWS/system32/msvcrt.dll
#12 0x10290480 in done ()
 
Problem seems to occur more often/earlier with people with inadequate bandwith or
when packet loss occurs.
 
Any suggestions?
 
Regards,
 
- D -




More information about the ffmpeg-devel mailing list