[mythtv-commits] Ticket #1459: Mythbackend SEGV during EIT scan - svn 9246
MythTV
mythtv at cvs.mythtv.org
Sun Mar 5 15:42:36 UTC 2006
#1459: Mythbackend SEGV during EIT scan - svn 9246
----------------------------------------+-----------------------------------
Reporter: mythdev at penyball.cix.co.uk | Owner: danielk
Type: defect | Status: new
Priority: minor | Milestone: 0.20
Component: mythtv | Version: head
Severity: medium |
----------------------------------------+-----------------------------------
I can't see this logged elsewhere - #1441 (housekeeping SEGV) and #1453
(recording SEGV) may be relevant but this segv occurs during EIT scan with
SVN 9246 - it was not present in 8927.
The failure only seems to occur when the EIT scan hits a channel that is
either a weak signal or is temporarily 'off air'. (The EIT scan looks at
channels that have been marked as not visible so apart from turning off
eit scanning there isn't a workaround.)
I've attached a gdb.txt and the tail end of the mythbackend logs
within gdb.txt I've included the gdb p results for *this & *psip - the
psip values show that the _pesdata/_fullbuffer are corrupt. (annotated
with [jd] )
The SEGV is triggered by the psip->TableID() - which is invoking the
StreamID() in pespacket.h
{{{
void ATSCStreamData::DeleteCachedTable(PSIPTable *psip) const
{
if (!psip)
return;
QMutexLocker locker(&_cache_lock);
if (_cached_ref_cnt[psip] > 0)
{
_cached_slated_for_deletion[psip] = 1;
return;
}
else if (TableID::MGT == psip->TableID()) [jd] Segfault here
}}}
This segfaults because _pesdata is out of bounds:
{{{
[jd] p *psip
$1 = {<PESPacket> = {_vptr.PESPacket = 0x409f6410,
_pesdata = 0x4400a00d <Address 0x4400a00d out of bounds>,
_fullbuffer = 0x4400a008 <Address 0x4400a008 out of bounds>,
_psiOffset = 4, _ccLast = 2, _pesdataSize = 188, _allocSize = 3948,
_badPacket = false}, static PSIP_OFFSET = 8}
}}}
I'm just rebuilding with the patch from #1456 - however I won't know if
its had any effect for several hours because I have to wait for the scan
to hit an off-air channel. I've logged this as medium severity because
the backend is failing without user activity and hence will be undetected
= missed recordings.
Apologies - there isn't a patch here - I don't understand whats happening
yet :)
--
Ticket URL: <http://svn.mythtv.org/trac/ticket/1459>
MythTV <http://www.mythtv.org/>
MythTV
More information about the mythtv-commits
mailing list