Opened 14 years ago

Closed 14 years ago

Last modified 14 years ago

#687 closed defect (fixed)

frontend crash in av_read_frame when switching cards in livetv

Reported by: torbjorn.jansson@… Owned by: Isaac Richards
Priority: minor Milestone: unknown
Component: mythtv Version:
Severity: medium Keywords:
Cc: Ticket locked: no

Description

as the subject says, if i begin to watch livetv it starts on my analog bt878 card if i then press Y to switch to my dvb card the frontend segfaults. i've attached the backtrace from the crash.

Attachments (2)

frontend-crash-bt.txt (5.0 KB) - added by torbjorn.jansson@… 14 years ago.
gdb backtrace from the crash
frontent-log.txt (10.0 KB) - added by torbjorn.jansson@… 14 years ago.
frontend log from the crash (i had -v network on the frontend at the time of the crash)

Download all attachments as: .zip

Change History (12)

Changed 14 years ago by torbjorn.jansson@…

Attachment: frontend-crash-bt.txt added

gdb backtrace from the crash

comment:1 Changed 14 years ago by torbjorn.jansson@…

i almost forgot, the channel the dvb card tried to tune to is a channel i don't have any subscription for. it is a bit hard to change channel on the dvb card when i can't switch to it.

comment:2 Changed 14 years ago by Isaac Richards

frontend log needed.

Changed 14 years ago by torbjorn.jansson@…

Attachment: frontent-log.txt added

frontend log from the crash (i had -v network on the frontend at the time of the crash)

comment:3 Changed 14 years ago by torbjorn.jansson@…

i got another problem, i don't know if it's related or not. i managed to get the backend to abort with an assert by simply scheduling a recording on the dvb card.

it aborted with

2005-11-21 20:03:09.211 DVBSM(0)::AddPIDFilter(0x108):
mythbackend: mpeg/mpegdescriptors.h:144: ConditionalAccessDescriptor::ConditionalAccessDescriptor(const unsigned char*): Assertion `DescriptorID::conditional_access == DescriptorTag()' failed.

Program received signal SIGABRT, Aborted.
[Switching to Thread -1376609360 (LWP 11804)]
0xffffe410 in __kernel_vsyscall ()

should i create a separate ticket for this? (i have the backtrace if needed)

comment:4 Changed 14 years ago by Isaac Richards

Was '/mnt/store20347_20051121194306.mpg' (the file it couldn't read from ever written to?

comment:5 Changed 14 years ago by torbjorn.jansson@…

i think it was a zero length file.

because of this problem and the abort on the backend i ended up with loads of recortings that didn't work so i deleted all recordings that was broken/zero length/missing. so i don't have the file anymore to check if it was missing or zero length.

comment:6 Changed 14 years ago by Isaac Richards

Try reproducing with >= [7967].

comment:7 Changed 14 years ago by danielk

For the conditional access descriptor assert, try to reproduce after a make clean ; make ; make install.

If you can, create a new ticket with the backtrace.

comment:8 Changed 14 years ago by torbjorn.jansson@…

i tested with [7970] and i'm not able to reproduce the crash. i can switch cards and get a picture.

but something that may or may not have to do with this is that before i tested i changed the starting channel on my dvb card, this fixed the problem with zero length recordings.

anyway, i can switch cards and get a picture.

comment:9 Changed 14 years ago by Isaac Richards

Resolution: fixed
Status: newclosed

Closed in [8098].

comment:10 Changed 14 years ago by Adam Egger

Daniel, Now it doesn't crash but it shows me this error message on *every* channel change: "Error was encountered while displaying video." The FE shows: 2005-12-02 18:39:30.932 AFD: Initializing video at 768x576 pixels. 2005-12-02 18:39:31.484 Prebuffer wait timed out 10 times. 2005-12-02 18:39:32.408 Prebuffer wait timed out 10 times. mpegts_read_header: read_packet() failed 2005-12-02 18:39:32.572 AFD Error: Reset(): avformat err(-1) on av_open_input_file call.

Note: See TracTickets for help on using tickets.