﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	severity	resolution	keywords	cc	mlocked
9007	mythfrontend crashes when Finnish EPG changes	Marc Randolph <mrand@…>		"Forwarding upstream:

On YLE (Finnish national broadcasting company) channels but on them without an exception. Every time the EPG data changes to mark the beginning of the next program, MythTV frontend crashes without even an error message, both when watching live TV or a recorded program.

One theory on the cause: The originator might not be EPG in itself. At the beginning of each new program, YLE assigns language codes for all the audio and video channels. (Many programs have both Finnish and Swedish audio and subtitles, and additionally YLE uses “Dutch” for the hearing-impaired subtitles and for the visually-impaired audio channel.)

If needed, thread traces are available on the downstream bug (https://bugs.launchpad.net/ubuntu/+source/mythtv/+bug/629852).  Note that there are two of them, and one may be distinctly more useful than the other.

stack trace:
{{{
#0  0x00007f992d85fd67 in AvFormatDecoder::GetFrame (this=0x42b29d0, 
    decodetype=kDecodeVideo) at avformatdecoder.cpp:4399
        context = 0x7f991aa5c320
        mpa_pic = {data = {
            0x7f99002430e0 ""\021\021\021\021\021\021\021\021\024\022\022\022\020\020\021\020\020\022\024\023\020\017\020\023\021\021\020\020\017\017\017\016\021\021\021\021\021\021\021\021\016\016\016\017\020\020\021\021\020\020\020\020\020\020\020\020\023\022\022\021\021"", '\020' <repeats 11 times>, ""\021\021\022\021\022\021\022\021\020\020\020\020\020\021\021\021\r\017\021\021\017\016\017\020\023\023\023\023\023\023\023\023\020\020\017\017\017\016\016\016\022\022\017\016\020\024\022\016\017\020\021\021\020\020\021\023\020\020\021\021\021\021\020\020\016\021\021\017\017\021\022\021\017\017\022\025\023\021\021\021\021\020\020\017\017\020\020\021\024\022\021\022\023\023\021\016\021\017\016\016\020\021\020\017\021\020\017\016\020\021\020\r\016\016\017\017\020\020\020\017\021\021\021\021\021\020\020\020""..., 
            0x7f9900029558 ""\202\202\201\200\200\177~~~~~~~~~~"", '\177' <repeats 16 times>""\200, \200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\177\177\177\177\177\177\177\177\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\201\201\201\201\201\201\201\201\201\201\201\201\201\201\201\201\201\201\201\201\201\201\201\201\202\202\202\201\201\200\200\200\177\177\177\200\200\200\201\201\202\202\202\202\202\202\202\202\202\202\202\202\202\202\202\202\201\201\201\201\201\201\201\201\202\202\202\202\202\202\202\202\203\203\203\203\203\203\203\203\201\201\201\201\201\201\201\201\202\202\202\202\202\202\202\202\177\200\200\201\201\202\202\202""..., 
            0x7f99002b07b8 ""\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\177\177\177\177\177\177\177\177\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\177\177\177\177\177\177\177\177\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\177\177\177\177\177\177\177\177\200\200\200\200\200\200\200\200\177\177\177\177\177\177\177\177\200\200\200\200\200\200\200\200\177\177\177\177\177\177\177\177\200\200\200\200\200\200\200\200\201\201\201\201\201\201\201\201\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\201\201\201\201\201\201\201\201\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200""..., 0x0}, linesize = {752, 376, 376, 
            0}, base = {
            0x7f99002401d0 ""\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200""..., 
            0x7f9900028990 ""\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200""..., 
            0x7f99002afbf0 ""\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200""..., 0x0}, key_frame = 1, 
          pict_type = 1, pts = -9223372036854775808, 
          coded_picture_number = 0, display_picture_number = 0, quality = 0, 
          age = 1073741824, reference = 3, 
          qscale_table = 0x7f991bbd6430 '\006' <repeats 45 times>, 
          qstride = 46, mbskip_table = 0x7f991bbd5da0 """", motion_val = {0x0, 
            0x0}, mb_type = 0x7f99000449a4, motion_subsample_log2 = 0 '\000', 
          opaque = 0x0, error = {0, 0, 0, 0}, type = 1, repeat_pict = 0, 
          qscale_type = 1, interlaced_frame = 1, top_field_first = 1, 
          pan_scan = 0x7f991bdc3220, palette_has_changed = 0, 
          buffer_hints = 0, dct_coeff = 0x0, ref_index = {0x0, 0x0}, 
          reordered_opaque = -9223372036854775808, 
          hwaccel_picture_private = 0x0, 
          atsc_cc_buf = '\000' <repeats 1023 times>, atsc_cc_len = 0, 
          dvb_cc_buf = '\000' <repeats 127 times>, dvb_cc_len = 0}
        gotpicture = 48
        temppts = 28572833
        picframe = 0x0
        ret = 29544
        dts = false
        ctype = 0
        audSubIdx = -1
        curstream = 0x7f991816e7e0
        audIdx = 1
        subIdx = 2
        pkt = 0x7f991baa3270
        len = 29544
        storevideoframes = false
        hdr = {sync_word = 1280, crc1 = 7077, sr_code = 153 '\231', 
          bitstream_id = 127 '\177', channel_mode = 0 '\000', 
          lfe_on = 0 '\000', frame_type = 192 '\300', substreamid = 32665, 
          center_mix_level = 191256256, surround_mix_level = 32665, 
          channel_map = 3219, num_blocks = 32665, sr_shift = 0 '\000', 
          sample_rate = 0, bit_rate = 0, channels = 48 '0', 
          frame_size = 2918, channel_layout = 76809136}
        ptr = 0x7f99000bf680 """"
        data_size = 4608
        has_video = true
        ofill = 1
        ototal = 1536000
        total_decoded_audio = 0
        pts = 28572833
        have_err = false
        allowedquit = false
        skipaudio = true
        othresh = 1152000
        firstloop = true
#1  0x00007f992d7d5f5c in NuppelVideoPlayer::GetFrameNormal (this=0x4265450, 
    decodetype=kDecodeAV) at NuppelVideoPlayer.cpp:1482
No locals.
#2  0x00007f992d7d6e16 in NuppelVideoPlayer::GetFrame (this=0x4265450, 
    decodetype=kDecodeAV, unsafe=false) at NuppelVideoPlayer.cpp:1568
        ret = false
#3  0x00007f992d7e5e10 in NuppelVideoPlayer::StartPlaying (this=0x4265450, 
    openfile=false) at NuppelVideoPlayer.cpp:3725
        dt = kDecodeAV
        __PRETTY_FUNCTION__ = ""bool NuppelVideoPlayer::StartPlaying(bool)""
        output_video = 140295314773776
        decoder_thread = 140295297988368
#4  0x00007f992d817753 in SpawnDecode (param=0x4265450)
    at playercontext.cpp:29
        decoder_thread_pool = 0x0
        nvp = 0x4265450
#5  0x00007f992807c9ca in start_thread (arg=<value optimized out>)
    at pthread_create.c:300
        __res = <value optimized out>
        pd = 0x7f990b667710
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140295297988368, 
                486565484700141264, 0, 0, 0, 0, -436085595324512560, 
                -436021551966026032}, mask_was_saved = 0}}, priv = {pad = {
              0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, 
              canceltype = 0}}}
        not_first_call = <value optimized out>
        robust = <value optimized out>
        freesize = <value optimized out>
        __PRETTY_FUNCTION__ = ""start_thread""
}}}

"	defect	closed	minor	0.24	MythTV - General	0.23.1	medium	Fixed			0
