Opened 14 years ago

Closed 14 years ago

#694 closed defect (duplicate)

SIGSEGV after channel change with new LiveTV code (DVB).

Reported by: lazyhog Owned by: Isaac Richards
Priority: minor Milestone: unknown
Component: mythtv Version: head
Severity: medium Keywords:
Cc: Ticket locked: no

Description

I have a problem when changing channels with DVB setup. The problem persist in all builds I've made which has new LiveTV code. When LiveTV starts it displays program OK, then whenever I change the channel, the screen goes black, I can see OSD information for couple seconds and then SEGV. After restart the channel comes up OK until the next change. Below is the frontend output.

2005-11-22 19:51:12.802 LiveTVChain::SwitchTo(3)
2005-11-22 19:51:12.802 LiveTVChain: Entry@3: '3592_20051122195112'
2005-11-22 19:51:12.817 waiting for prebuffer... 7
2005-11-22 19:51:12.901 waiting for prebuffer... 8
2005-11-22 19:51:12.985 waiting for prebuffer... 9
2005-11-22 19:51:12.987 detectInterlace(Detect Scan, Interlaced Scan, 50, 576) - >Progressive Scan
2005-11-22 19:51:12.989 Interlaced: Progressive Scan  video_height: 576  fps: 50
2005-11-22 19:51:12.989 AFD: positionMap[ 0 ] == 376.
2005-11-22 19:51:13.011 AFD: positionMap[ 11 ] == 749180.
[mpeg2video @ 0x6287ee4]qscale == 0
[mpeg2video @ 0x6287ee4]Warning MVs not available
[mpeg2video @ 0x6287ee4]concealing 864 DC, 864 AC, 864 MV errors
2005-11-22 19:51:13.044 LiveTVChain::SwitchToNext(up)
2005-11-22 19:51:13.045 LiveTVChain::SwitchTo(3)
2005-11-22 19:51:13.045 LiveTVChain: Entry@3: '3592_20051122195112'
2005-11-22 19:51:13.132 RingBuf(/mnt/video/3592_20051122195111.mpg): OpenFile(my th://127.0.0.1:6543/3592_20051122195112.mpg, 4)
2005-11-22 19:51:13.132 Invalid file handle when opening /mnt/video/3592_2005112 2195112.mpg.  4 retries remaining.
'video_output' mean = '50816.89', std. dev. = '131367.45', fps = '19.68'
2005-11-22 19:51:13.564 NVP: prebuffering pause
2005-11-22 19:51:13.564 waiting for prebuffer... 0
2005-11-22 19:51:13.634 Invalid file handle when opening /mnt/video/3592_2005112 2195112.mpg.  3 retries remaining.
2005-11-22 19:51:13.645 waiting for prebuffer... 1
2005-11-22 19:51:13.729 waiting for prebuffer... 2
2005-11-22 19:51:13.814 waiting for prebuffer... 3
2005-11-22 19:51:13.898 waiting for prebuffer... 4
2005-11-22 19:51:13.982 waiting for prebuffer... 5
2005-11-22 19:51:14.066 waiting for prebuffer... 6
2005-11-22 19:51:14.138 Invalid file handle when opening /mnt/video/3592_2005112 2195112.mpg.  2 retries remaining.
2005-11-22 19:51:14.150 waiting for prebuffer... 7
2005-11-22 19:51:14.234 waiting for prebuffer... 8
2005-11-22 19:51:14.318 waiting for prebuffer... 9
2005-11-22 19:51:14.402 waiting for prebuffer... 10
2005-11-22 19:51:14.486 Prebuffer wait timed out 10 times.
2005-11-22 19:51:14.486 waiting for prebuffer... 0
2005-11-22 19:51:14.570 waiting for prebuffer... 1
2005-11-22 19:51:14.642 Invalid file handle when opening /mnt/video/3592_2005112 2195112.mpg.  1 retries remaining.
2005-11-22 19:51:14.654 waiting for prebuffer... 2
2005-11-22 19:51:14.738 waiting for prebuffer... 3
2005-11-22 19:51:14.822 waiting for prebuffer... 4
2005-11-22 19:51:14.906 waiting for prebuffer... 5
2005-11-22 19:51:14.990 waiting for prebuffer... 6
2005-11-22 19:51:15.074 waiting for prebuffer... 7
2005-11-22 19:51:15.146 Invalid file handle when opening /mnt/video/3592_2005112 2195112.mpg.  0 retries remaining.
2005-11-22 19:51:15.158 waiting for prebuffer... 8
2005-11-22 19:51:15.242 waiting for prebuffer... 9
2005-11-22 19:51:15.326 waiting for prebuffer... 10
2005-11-22 19:51:15.410 Prebuffer wait timed out 10 times.
2005-11-22 19:51:15.410 waiting for prebuffer... 0
2005-11-22 19:51:15.494 waiting for prebuffer... 1
2005-11-22 19:51:15.578 waiting for prebuffer... 2
2005-11-22 19:51:15.650 AFD: SeekReset(0, do flush)
2005-11-22 19:51:15.650 AFD: SeekReset() flushing
2005-11-22 19:51:15.650 VideoBuffers::DiscardFrames(): AAAAAAAAAAALAAAAAAAAAAAAA AAAAAA
2005-11-22 19:51:15.650 VideoBuffers::DiscardFrames(): AAAAAAAAAAAAAAAAAAAAAAAAA AAAAAA -- done()
2005-11-22 19:51:15.650 RingBuf(/mnt/video/3592_20051122195112.mpg) Error: File I/O problem in 'safe_read()'
                        eno:  (9)
2005-11-22 19:51:15.662 waiting for prebuffer... 3
2005-11-22 19:51:15.714 RingBuf(/mnt/video/3592_20051122195112.mpg) Error: File I/O problem in 'safe_read()'
                        eno: \uffff0\uffff\uffff1\uffff4\uffff (9)
2005-11-22 19:51:15.746 waiting for prebuffer... 4
2005-11-22 19:51:15.778 RingBuf(/mnt/video/3592_20051122195112.mpg) Error: File I/O problem in 'safe_read()'
                        eno: \uffff0\uffff\uffff1\uffff4\uffff (9)
2005-11-22 19:51:15.778 LiveTVChain::SwitchToNext(up)
2005-11-22 19:51:15.778 LiveTVChain::SwitchTo(3)
2005-11-22 19:51:15.778 LiveTVChain: Entry@3: '3592_20051122195112'
mpegts_read_header: unable to read first 1024 bytes
2005-11-22 19:51:15.787 AFD Error: Reset(): avformat err(-1) on av_open_input_fi le call.
2005-11-22 19:51:15.788 Resyncing position map. posmapStarted = 0 livetv(1) watc hingRec(1)
2005-11-22 19:51:15.789 Position map filled from DB to: 0
2005-11-22 19:51:15.789 SyncPositionMap watchingrecording, from DB: 1 entries
2005-11-22 19:51:15.798 RingBuf(/mnt/video/3592_20051122195112.mpg) Error: File I/O problem in 'safe_read()'
                        eno: \uffff0\uffff\uffff1\uffff4\uffff (9)
2005-11-22 19:51:15.802 Filling position map from 1 to 68
2005-11-22 19:51:15.814 Position map filled from Encoder to: 28
2005-11-22 19:51:15.814 SyncPositionMap watchingrecording total: 2 entries
2005-11-22 19:51:15.814 SyncPositionMap, new totframes: 28, new length: 0, posMa p size: 2

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 80141232 (LWP 10551)]
0x005b8708 in av_read_frame (s=0x0, pkt=0xb660c200) at utils.c:1089
1089        const int genpts=  s->flags & AVFMT_FLAG_GENPTS;
(gdb) bt
#0  0x00156534 in av_read_frame (s=0x0, pkt=0x8ed7010) at utils.c:1089
#1  0x00630368 in AvFormatDecoder::GetFrame ()
   from /usr/local/dvb/lib/libmythtv-0.18.so.0
#2  0x005fcedd in NuppelVideoPlayer::GetFrame ()
   from /usr/local/dvb/lib/libmythtv-0.18.so.0
#3  0x0060508e in NuppelVideoPlayer::StartPlaying ()
   from /usr/local/dvb/lib/libmythtv-0.18.so.0
#4  0x0059d094 in SpawnDecode () from /usr/local/dvb/lib/libmythtv-0.18.so.0
#5  0x00b3bb80 in start_thread () from /lib/libpthread.so.0
#6  0x0192f9ce in clone () from /lib/libc.so.6
(gdb)

Change History (3)

comment:1 Changed 14 years ago by lazyhog

Just a followup: /mnt/video contains 2 files with timestamp 1 second apart, newer one has size zero and its filename passed to the frontend and "older" one is the actual recording.

comment:2 Changed 14 years ago by anonymous

Priority: blockerminor
Severity: highmedium

comment:3 Changed 14 years ago by Isaac Richards

Resolution: duplicate
Status: newclosed

Dupes #687.

Note: See TracTickets for help on using tickets.