Opened 8 years ago

Closed 8 years ago

Last modified 8 years ago

#10183 closed Bug Report - Crash (Fixed)

Mythfrontend crash on local broadcasts

Reported by: Håkon Alstadheim <hakon@…> Owned by: JYA
Priority: minor Milestone: unknown
Component: MythTV - DVB Version: Master Head
Severity: medium Keywords: DVB-T
Cc: Ticket locked: no

Description

Mythfrontend crashes whenever I try to play a local broadcast, or a broadcast directly preceding or following such.

Background:
In DVB-T in Norway local broadcasts are sent with different identifiers in the stream from what the channel shows the rest of the day. This used to crash in early 0.24, until it was fixed. Now in current head it has been broken since I can remember. This failure mode might be a regression from ticket #6703 , it is the same programmes and the same channel that is failing again, i.e. a recordings containing switch-over from one PID to another.

To illustrate the phenomenon, running this:

for f in *.mpg ; do
    CHANID=$(echo -n $f |sed -e 's/_.*/ /' )
    echo -n "$CHANID"
    mplayer -tsprobe 10000000 -frames 0 -identify  $f 2>/dev/null| grep -m 1 -e '^VIDEO' || echo $f error
done| sort -u

On one of my recording directories, gives this (blank lines added and old channel-ids removed for clarity)

1102 VIDEO H264(pid=525) AUDIO AAC LATM(pid=692) SUB Teletext(pid=576)  PROGRAM N. 1
1102 VIDEO H264(pid=525) AUDIO AAC LATM(pid=693) SUB Teletext(pid=576)  PROGRAM N. 1

1103 VIDEO H264(pid=521) AUDIO AAC LATM(pid=676) SUB Teletext(pid=576)  PROGRAM N. 1
1103 VIDEO H264(pid=521) AUDIO AAC LATM(pid=677) SUB DVB(pid=604)  PROGRAM N. 1
1103 VIDEO H264(pid=521) AUDIO AAC LATM(pid=677) SUB Teletext(pid=576)  PROGRAM N. 1

2009 VIDEO H264(pid=512) AUDIO AAC LATM(pid=640) SUB Teletext(pid=576)  PROGRAM N. 1
2009 VIDEO H264(pid=512) AUDIO AAC LATM(pid=641) SUB Teletext(pid=576)  PROGRAM N. 1
2009 VIDEO H264(pid=515) AUDIO AAC LATM(pid=652) SUB Teletext(pid=576)  PROGRAM N. 1
2009 VIDEO:  [DVSD]  720x480  24bpp  29.970 fps    0.0 kbps ( 0.0 kbyte/s)

Channel 2009 gives recordings that cause crashes.

I have a sample of the start of a crashing recording here:

<http://alstadheim.priv.no/midnytt-start-til-bt.mpg> (10Mb) (note: it is on a slow home ADSL-line with a dynamic IP-address)

I am running

Package: mythtv-frontend
Maintainer: MythTV Ubuntu Maintainers <ubuntu-mythtv@lists.ubuntu.com>
Architecture: i386
Version: 2:0.25.0~master.20111121.4f506d0-0ubuntu0mythbuntu3

4f506d0 refers to git commit

I will attach a terminal capture from the run (with myth output) and a gdb log with a backtrace (and a full thread backtrace) They can be found here aswell <http://alstadheim.priv.no/mythfrontend-crash-run-stdout.txt> <http://alstadheim.priv.no/mythfrontend-backtrace.log>

Attachments (4)

mythfrontend-crash-run-stdout.txt (4.7 KB) - added by Håkon Alstadheim <hakon@…> 8 years ago.
Standard output from a crashing run of mythfrontend
mythfrontend-backtrace.log (101.6 KB) - added by Håkon Alstadheim <hakon@…> 8 years ago.
gdb log with backtraces of crashing run of mythfrontend
10183fix.diff (2.9 KB) - added by JYA 8 years ago.
Fix attempt
backtrace-siste.log (97.2 KB) - added by Håkon Alstadheim <hakon@…> 8 years ago.
backtrace after crash with MythTV Version : v0.25pre-3827-gcc1314d

Download all attachments as: .zip

Change History (16)

Changed 8 years ago by Håkon Alstadheim <hakon@…>

Standard output from a crashing run of mythfrontend

Changed 8 years ago by Håkon Alstadheim <hakon@…>

Attachment: mythfrontend-backtrace.log added

gdb log with backtraces of crashing run of mythfrontend

comment:1 Changed 8 years ago by markk

Owner: changed from Janne Grunau to JYA
Status: newassigned

fwiw - this plays back perfectly on several systems here with latest master.

comment:2 Changed 8 years ago by JYA

I can see from the log what is happening, though I have no idea why it is happening nor can I reproduce it here with the provided sample

Changed 8 years ago by JYA

Attachment: 10183fix.diff added

Fix attempt

comment:3 Changed 8 years ago by JYA

Please check with the provided fix if it's working for you. I unfortunately can't test as my amplifier is being serviced at present

comment:4 Changed 8 years ago by Håkon Alstadheim <hakon@…>

I now have done "apt-get build-dep mythtv", "apt-get source mythtv", "dpkg-buildpackage -b" , and noticed a missing build dependency in the mythbuntu package, viz libx264-dev. Installing that and building WITHOUT your fix, results in a WORKING SYSTEM ?

Now, the source i get is marked with commit tag cc1314d, whereas the prebuilt one is 4f506d0, which dates from November 20, 2011. I think you can chalk this down as FIXED, (if not, it is some quirk in the Mythbuntu build system that creates a subtly broken .deb). If this returns when Mythbuntu catches up with me, I'll know to contact the builder first :-/ :-)

P.S: Downgrading brings the crash back.

Faithfully yours (and this time I mean it) Håkon A.

comment:5 Changed 8 years ago by stuartm

Resolution: Fixed
Status: assignedclosed

comment:6 Changed 8 years ago by stuartm

Milestone: unknown0.25

comment:7 Changed 8 years ago by Håkon Alstadheim <hakon@…>

Sorry to have rejoiced a bit too soon. It just takes a longer sample now to provoke the crash, and it is now possible to skip past the crashing switchover.The frontend used to die immediatly when starting playback. This sample: <http://alstadheim.priv.no/midtnytt-eksempel.mpg> (555M, 0.25mbit/s uplink ) still provokes a crash. at:

Program received signal SIGFPE, Arithmetic exception.
[Switching to Thread 0x925feb70 (LWP 16478)]
0x0057aaaa in AvFormatDecoder::ProcessAudioPacket (this=0x9b020480, 
    curstream=0x8dfcc20, pkt=0xa320c3f0, decodetype=kDecodeAudio)
    at avformatdecoder.cpp:4053
4053                     av_get_bits_per_sample_fmt(ctx->sample_fmt)>>3);
#0  0x0057aaaa in AvFormatDecoder::ProcessAudioPacket (this=0x9b020480, 
    curstream=0x8dfcc20, pkt=0xa320c3f0, decodetype=kDecodeAudio)
    at avformatdecoder.cpp:4053

The switchover/crash occurs ~1 minute into the recording.

The patch provided above (http://code.mythtv.org/trac/attachment/ticket/10183/10183fix.diff) makes the frontend survive that switchover.

Changed 8 years ago by Håkon Alstadheim <hakon@…>

Attachment: backtrace-siste.log added

backtrace after crash with MythTV Version : v0.25pre-3827-gcc1314d

comment:8 Changed 8 years ago by JYA

Milestone: 0.25unknown

so you're saying that the patch provided fix it ?

comment:9 Changed 8 years ago by Håkon Alstadheim <hakon@…>

THIS TIME I will not jump the gun, but I have not found a recording that will crash myth whith the patch applied. It takes a while before the artefacts disappear after the switchover though.

comment:10 Changed 8 years ago by JYA

Fixed in SHA1:d6dcd42d446eef0630c0ccee8ee159dcebd5c540

Note that the underlying issue isn't in Myth ; we now just cater for a case that should never have happened in the first case

comment:11 Changed 8 years ago by Håkon Alstadheim <hakon@…>

Much obliged. mplayer and vlc have consistently been able to play the problem-recordings though :->

I will redo the tests with&without the patch on the mythbuntu build that came out today (MythTV Version : v0.25pre-3838-gdbd0cc0, from commit gdbd0cc0) . I can still provoke the crash on the prebuilt ones, I'll see tonight if the patch still helps on that new test-case.

comment:12 Changed 8 years ago by Håkon Alstadheim <hakon@…>

Yes. With the patch in 10183fix.diff applied, the frontend survives the switchover.

Note: See TracTickets for help on using tickets.