Opened 3 years ago

#12905 new Bug Report - General

SIGABRT in Decoder thread H264Parser::addbytes: malformed NAL units

Reported by: William L. DeRieux IV <WilliamDeRieux@…> Owned by:
Priority: minor Milestone: unknown
Component: MythTV - General Version: Unspecified
Severity: medium Keywords:
Cc: Ticket locked: no

Description

This issue occurred while I was watching an h264 stream from twit.tv

$ mythfrontend --version
Please attach all output as a file in bug reports.
MythTV Version : v0.28-72-g228b05b-dirty
MythTV Branch : fixes/0.28
Network Protocol : 88
Library API : 0.28.20160309-1
QT Version : 5.6.1
Options compiled in:
 linux debug use_hidesyms using_alsa using_pulse using_backend using_bdjava using_bindings_perl using_bindings_python using_bindings_php using_crystalhd using_dvb using_firewire using_frontend using_hdhomerun using_vbox using_ceton using_hdpvr using_ivtv using_joystick_menu using_libcec using_libcrypto using_libdns_sd using_libfftw3 using_libxml2 using_lirc using_mheg using_opengl using_opengl_video using_opengl_themepainter using_qtwebkit using_qtscript using_qtdbus using_sdl using_taglib using_v4l2 using_x11 using_xrandr using_xv using_debugtype using_mythlogserver using_systemd_notify using_bdjava using_bindings_perl using_bindings_python using_bindings_php using_fontconfig using_freetype2 using_mythtranscode using_opengl using_vaapi using_vdpau using_ffmpeg_threads using_mheg using_libass using_libxml2

Short backtrace:

2016-10-20 03:12:30.706818 E  H264Parser::addbytes: malformed NAL units
2016-10-20 03:12:30.706854 E  AFD: Unknown decoding error

Thread 152 "Decoder" received signal SIGABRT, Aborted.
[Switching to Thread 0x7ffe6a2c5700 (LWP 12261)]
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:58
58	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0  0x00007fffe6c83fdf in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:58
#1  0x00007fffe6c8540a in __GI_abort () at abort.c:89
#2  0x00007ffff7160cd0 in av_image_copy_plane (dst=0x7ffe88959260 '\200' <repeats 200 times>..., dst_linesize=64, src=0x7ffe88957920 '\200' <repeats 200 times>..., src_linesize=64, bytewidth=854, height=480) at libavutil/imgutils.c:293
#3  0x00007ffff7160f40 in av_image_copy (dst_data=0x7ffe889503c0, dst_linesizes=0x7ffe88950400, src_data=0x7ffe8894f980, src_linesizes=0x7ffe8894f9c0, pix_fmt=AV_PIX_FMT_YUV420P, width=854, height=480) at libavutil/imgutils.c:334
#4  0x00007ffff5d08769 in ff_h264_decode_slice_header (h=0x7ffe889ed620, sl=0x7ffe88a21d20) at libavcodec/h264_slice.c:1604
#5  0x00007ffff5c2b6c4 in decode_nal_units (h=0x7ffe889ed620, buf=0x7ffe88112de0 "", buf_size=671, parse_extradata=0) at libavcodec/h264.c:1527
#6  0x00007ffff5c2c636 in h264_decode_frame (avctx=0x7ffe8879c7c0, data=0x7ffe8894ef40, got_frame=0x7ffe887a97c0, avpkt=0x7ffe887a9760) at libavcodec/h264.c:1833
#7  0x00007ffff6007a8f in frame_worker_thread (arg=0x7ffe887a9660) at libavcodec/pthread_frame.c:147
#8  0x00007fffe7892464 in start_thread (arg=0x7ffe6a2c5700) at pthread_create.c:333
#9  0x00007fffe6d3997f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Full backtrace:

(gdb) bt full
#0  0x00007fffe6c83fdf in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:58
        set = 
            {__val = {0, 210453397511, 0, 0, 472446402651, 140737341251624, 0, 140730658725775, 140730679711488, 50815968, 140730679708016, 140737351944660, 5, 0, 140733264612544, 140737065090520}}
        pid = <optimized out>
        tid = <optimized out>
#1  0x00007fffe6c8540a in __GI_abort () at abort.c:89
        save_stage = 2
        act = 
          {__sigaction_handler = {sa_handler = 0x7ffe6a2c48e8, sa_sigaction = 0x7ffe6a2c48e8}, sa_mask = {__val = {140737339039784, 140737339039759, 293, 140731188103104, 140737338825181, 140730679707888, 24, 0, 4294967295, 1, 1, 140737306553336, 211965225992192, 75, 3667902070784, 140730679708016}}, sa_flags = -149552145, sa_restorer = 0x7ffe8879c7c0}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#2  0x00007ffff7160cd0 in av_image_copy_plane (dst=0x7ffe88959260 '\200' <repeats 200 times>..., dst_linesize=64, src=0x7ffe88957920 '\200' <repeats 200 times>..., src_linesize=64, bytewidth=854, height=480) at libavutil/imgutils.c:293
#3  0x00007ffff7160f40 in av_image_copy (dst_data=0x7ffe889503c0, dst_linesizes=0x7ffe88950400, src_data=0x7ffe8894f980, src_linesizes=0x7ffe8894f9c0, pix_fmt=AV_PIX_FMT_YUV420P, width=854, height=480) at libavutil/imgutils.c:334
        h = 480
        bwidth = 854
        i = 0
        planes_nb = 3
        desc = 0x7ffff73a88c0 <av_pix_fmt_descriptors>
#4  0x00007ffff5d08769 in ff_h264_decode_slice_header (h=0x7ffe889ed620, sl=0x7ffe88a21d20) at libavcodec/h264_slice.c:1604
        prev = 0x7ffe889edbb0
        first_mb_in_slice = 0
        pps_id = 0
        ret = 0
        slice_type = 3
        tmp = 105004576
        i = 16
        j = 32766
        last_pic_structure = 3
        last_pic_droppable = 0
        must_reinit = 0
        needs_reinit = 1
        field_pic_flag = 262528
        bottom_field_flag = 32766
        first_slice = 1
        frame_num = 15
        droppable = 1
        picture_structure = 3
        mb_aff_frame = 0
        last_mb_aff_frame = 0
        pps = 0x7ffe890d3620
#5  0x00007ffff5c2b6c4 in decode_nal_units (h=0x7ffe889ed620, buf=0x7ffe88112de0 "", buf_size=671, parse_extradata=0) at libavcodec/h264.c:1527
        consumed = 385
        dst_length = 384
        bit_length = 3066
        err = 0
        ptr = 0x7fff06423e20 "\237\363\035\020\227\023\364\204~Ӱ\344g\266!M\214VM\326\300\352|!\264\326\351>O\001\227$!c\330̥\262\001\204\062\372\tg\256\264\225e\023i\301\231\277\320\001\222\225\021])\341\064\067\305K\323a+Y\200\327\035\224\066\066\325\306$<\273\210\226\260\355\300<\254]k\325>\246FM\345!]{\001x%N\223ʚ\317x\233\026\n\266\346nN\035\337\"\033rkd\271\300\343nX{ã\317W\334\316lXic\023\276OX\037\246\016{\323*б\246l\213ף\260\337m\372\224l\325X`\362\340\344J\a(\364\243Jp\344?|\321\374K\261\267\377\275\327IJ\271\370\276\t\023\273\266\225\366\317\37---Type <return> to continue, or q <return> to quit---
7"...
        nalsize = 385
        avctx = 0x7ffe8879c7c0
        sl = 0x7ffe88a21d20
        buf_index = 389
        context_count = 0
        next_avc = 389
        nals_needed = 1
        nal_index = 1
        idr_cleared = 0
        ret = 0
#6  0x00007ffff5c2c636 in h264_decode_frame (avctx=0x7ffe8879c7c0, data=0x7ffe8894ef40, got_frame=0x7ffe887a97c0, avpkt=0x7ffe887a9760) at libavcodec/h264.c:1833
        buf = 0x7ffe88112de0 ""
        buf_size = 671
        h = 0x7ffe889ed620
        pict = 0x7ffe8894ef40
        buf_index = 0
        out = 0x7ffe887a9708
        i = 32766
        out_idx = -2003505344
        ret = 32766
#7  0x00007ffff6007a8f in frame_worker_thread (arg=0x7ffe887a9660) at libavcodec/pthread_frame.c:147
        p = 0x7ffe887a9660
        fctx = 0x7ffe8879c120
        avctx = 0x7ffe8879c7c0
        codec = 0x7ffff6a56a00 <ff_h264_decoder>
#8  0x00007fffe7892464 in start_thread (arg=0x7ffe6a2c5700) at pthread_create.c:333
        __res = <optimized out>
        pd = 0x7ffe6a2c5700
        now = <optimized out>
        unwind_buf = 
              {cancel_jmp_buf = {{jmp_buf = {140730679711488, -8216146740237899032, 0, 140730658725775, 140730679711488, 50815968, 8216455001407679208, 8216163312161319656}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#9  0x00007fffe6d3997f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Change History (0)

Note: See TracTickets for help on using tickets.