[mythtv] PESPacket Fails CRC check everyday at 16:20
scratch1701
scratchbuild at gmail.com
Wed Jan 31 19:20:00 UTC 2007
Hi everybody,
I am currently using MythTV 0.20 release with this patch to allow gdb logging:
http://svn.mythtv.org/trac/attachment/ticket/2664/r12480_backported.diff
My MythTv setup is a MythBackend + Frontend + Desktop, and currently
records UK DVB-T from uk-Crystal Palace.
Here's the problem:
Everyday at about 16:20, Mythbackend will segfault with this error:
--- start ---
2007-01-25 16:20:06.821 DVBRec(0): 37 PID filters open.
2007-01-25 16:20:07.189 Writing PAT & PMT @294035948 + 1590480
2007-01-25 16:20:08.597 Writing PAT & PMT @294369836 + 106032
2007-01-25 16:20:08.837 DVBRec(0): 37 PID filters open.
2007-01-25 16:20:09.765 PESPacket: Failed CRC check 0x0 != 0xffffffff
for StreamID = 0x0
2007-01-25 16:20:09.767 DVBRec(0): SetPAT(12992 on 0x117)
2007-01-25 16:20:09.767 CreatePATSingleProgram()
2007-01-25 16:20:09.768 PAT in input stream
Segmentation fault
--- end ---
This behaviour is VERY consistent. Please find below, a snippet from
my gdb log. I hope I got the relevant bits:
Is there anything I can do to fix this?
Cheers,
ken
--- gdb log ---
[Thread -1422316640 (LWP 15908) exited]
[Thread -1469715552 (LWP 15921) exited]
[New Thread -1469715552 (LWP 15923)]
[Thread -1461322848 (LWP 15910) exited]
[Thread -1469715552 (LWP 15923) exited]
[Thread -1393788000 (LWP 15891) exited]
[Thread -1385395296 (LWP 15890) exited]
[Thread -1410573408 (LWP 15920) exited]
[Thread -1402180704 (LWP 15919) exited]
[New Thread -1402180704 (LWP 15979)]
[New Thread -1410573408 (LWP 15982)]
[Thread -1402180704 (LWP 15979) exited]
[Thread -1410573408 (LWP 15982) exited]
[New Thread -1410573408 (LWP 15984)]
[New Thread -1402180704 (LWP 15985)]
[New Thread -1385395296 (LWP 15986)]
[New Thread -1393788000 (LWP 15987)]
[New Thread -1436144736 (LWP 15989)]
[Thread -1436144736 (LWP 15989) exited]
[New Thread -1452930144 (LWP 15998)]
[New Thread -1461322848 (LWP 15999)]
[New Thread -1478108256 (LWP 16000)]
[New Thread -1486500960 (LWP 16001)]
[Thread -1452930144 (LWP 15998) exited]
[Thread -1461322848 (LWP 15999) exited]
[Thread -1486500960 (LWP 16001) exited]
[Thread -1478108256 (LWP 16000) exited]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1385395296 (LWP 15986)]
0xb79cbd92 in ProgramAssociationTable::toString (this=0xad6c7fa4) at
mpeg/mpegtables.cpp:671
671 append(QString(" 0x%1 0x%2\n").arg(p[2],2,16).arg(p[3],2,16));
Thread 41 (Thread -1393788000 (LWP 15987)):
#0 0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1 0xb5e8b803 in poll () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
#2 0xb7ca0038 in DeviceReadBuffer::Poll (this=0x8308fe8) at
DeviceReadBuffer.cpp:293
polls = {fd = 16, events = 1, revents = 0}
ret = -1393788000
retval = true
#3 0xb7ca07f1 in DeviceReadBuffer::fill_ringbuffer (this=0x8308fe8)
at DeviceReadBuffer.cpp:235
read_size = 48128
errcnt = 0
#4 0xb7ca0903 in DeviceReadBuffer::boot_ringbuffer (arg=0x8308fe8) at
DeviceReadBuffer.cpp:211
No locals.
#5 0xb6011504 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
No symbol table info available.
#6 0xb5e9551e in clone () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
Thread 40 (Thread -1385395296 (LWP 15986)):
#0 0xb79cbd92 in ProgramAssociationTable::toString (this=0xad6c7fa4)
at mpeg/mpegtables.cpp:671
p = (const unsigned char *) 0xab413ffd ""
i = 29690
str = (QString &) @0xad6c7ea4: {static null = {static null = <same as
static member of an already seen type>, d = 0x81243f8, static
shared_null = 0x81243f8}, d = 0xab509f88, static shared_null =
0x81243f8}
str = {static null = {static null = <same as static member of an
already seen type>, d = 0x81243f8, static shared_null = 0x81243f8}, d
= 0xb60133f7, static shared_null = 0x81243f8}
#1 0xb79e1fc7 in MPEGStreamData::CreatePATSingleProgram
(this=0x8315fc0, pat=@0xad6c7fa4) at mpeg/mpegstreamdata.cpp:352
dtmp = {d = {jd = 2454132}, t = {ds = 58966683}}
dtime = {static null = {static null = <same as static member of an
already seen type>, d = 0x81243f8, static shared_null = 0x81243f8}, d
= 0xab505b50, static shared_null = 0x81243f8}
pnums = {<std::_Vector_base<unsigned int,std::allocator<unsigned int>
>> = {_M_impl = {<std::allocator<unsigned int>> =
{<__gnu_cxx::new_allocator<unsigned int>> = {<No data fields>}, <No
data fields>}, _M_start = 0xab50cbc0, _M_finish = 0xab50c9f0,
_M_end_of_storage = 0x257274}}, <No data fields>}
pids = {<std::_Vector_base<unsigned int,std::allocator<unsigned int>
>> = {_M_impl = {<std::allocator<unsigned int>> =
{<__gnu_cxx::new_allocator<unsigned int>> = {<No data fields>}, <No
data fields>}, _M_start = 0xab500024, _M_finish = 0x1f80,
_M_end_of_storage = 0x0}}, <No data fields>}
tsid = 3086151564
ver = 3080784146
pat2 = (ProgramAssociationTable *) 0xad6c7f08
#2 0xb79e357e in MPEGStreamData::ProcessPAT (this=0x8315fc0,
pat=0xad6c7fa4) at mpeg/mpegstreamdata.cpp:616
foundProgram = true
send_single_program = false
#3 0xb79e374f in MPEGStreamData::HandleTables (this=0x8315fc0,
pid=263, psip=@0xab50cca8) at mpeg/mpegstreamdata.cpp:544
tsid = 65535
pat = {<PSIPTable> = {<PESPacket> = {_vptr.PESPacket = 0xb7f229d8,
_pesdata = 0xab3f700d "", _fullbuffer = 0xab3f7008 "GA\a\025",
_psiOffset = 4, _ccLast = 5, _pesdataSize = 188, _allocSize = 3844,
_badPacket = true}, static PSIP_OFFSET = 8}, <No data fields>}
version = 31
#4 0xb7a08123 in DVBStreamData::HandleTables (this=0x8315f48,
pid=263, psip=@0xab50cca8) at mpeg/dvbstreamdata.cpp:199
No locals.
#5 0xb79e5303 in MPEGStreamData::HandleTSTables (this=0x8315fc0,
tspacket=0xad7ca180) at mpeg/mpegstreamdata.cpp:756
morePSIPPackets = false
psip = (class PSIPTable *) 0xab50cca8
buggy = true
#6 0xb7d544a9 in DVBRecorder::ProcessTSPacket2 (this=0x83066e8,
tspacket=@0xad7ca180) at dvbrecorder.cpp:1166
pid = 263
locker = {mtx = 0x83067f4}
info = (PIDInfo *) 0x8305bf0
#7 0xb7d56398 in DVBRecorder::ProcessTSPacket (this=0x83066e8,
tspacket=@0xad7ca180) at dvbrecorder.cpp:1138
pid = 263
locker = {mtx = 0x83067f4}
info = (PIDInfo *) 0x8305bf0
#8 0xb7d56682 in DVBRecorder::ProcessDataTS (this=0x83066e8,
buffer=0xad7ca008 "G\032!\0250\a*", len=3196) at dvbrecorder.cpp:1077
pkt = (const TSPacket *) 0xad7ca180
pos = 376
end = 3008
#9 0xb7d5a252 in DVBRecorder::StartRecording (this=0x83066e8) at
dvbrecorder.cpp:763
len = 3196
ok = true
count = 140
#10 0xb7c75898 in TVRec::RecorderThread (param=0x83066e8) at tv_rec.cpp:1145
recorder = (class RecorderBase *) 0x83066e8
#11 0xb6011504 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
No symbol table info available.
#12 0xb5e9551e in clone () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
More information about the mythtv-dev
mailing list