[mythtv-commits] Ticket #4861: Backend crash when tuning livetv
MythTV
mythtv at cvs.mythtv.org
Tue Mar 4 19:51:23 UTC 2008
#4861: Backend crash when tuning livetv
-----------------------+----------------------------------------------------
Reporter: anonymous | Owner: ijr
Type: defect | Status: new
Priority: major | Milestone: unknown
Component: mythtv | Version: head
Severity: medium | Resolution:
Mlocked: 0 |
-----------------------+----------------------------------------------------
Comment(by tim at electronghost.co.uk):
Here's another similar crash from r16387 (with local modifications):
{{{
#0 0x0000003a488708c7 in malloc_consolidate () from /lib64/libc.so.6
#1 0x0000003a48872f3d in _int_malloc () from /lib64/libc.so.6
#2 0x0000003a488748fa in malloc () from /lib64/libc.so.6
#3 0x00002aaaaecfc1ed in operator new () from /usr/lib64/libstdc++.so.6
#4 0x00002aaaaecfc309 in operator new[] () from /usr/lib64/libstdc++.so.6
#5 0x00002aaaae07574d in QString::setLength ()
from /usr/lib64/qt-3.3/lib/libqt-mt.so.3
#6 0x00002aaaae07945c in QString::operator+= ()
from /usr/lib64/qt-3.3/lib/libqt-mt.so.3
#7 0x00002aaaae08c02b in QStringList::join ()
from /usr/lib64/qt-3.3/lib/libqt-mt.so.3
#8 0x00002aaaacf2514a in MythEvent (this=0x952fc0, lmessage=@0x4e616098,
lextradata=@0x4e6160a0) at mythevent.cpp:25
#9 0x00002aaaacf2599d in MythEvent::clone (this=0x4e616080) at
mythevent.h:42
#10 0x00002aaaacf336ed in MythObservable::dispatch (this=0x853ab0,
event=@0x4e616080) at mythobservable.cpp:45
#11 0x00002aaaacedb6ce in MythContext::dispatch (this=0x853a60,
event=@0x4e616080) at mythcontext.cpp:3978
#12 0x00002aaaab279bd2 in SignalMonitor::MonitorLoop (this=0x2aaabc036390)
at signalmonitor.cpp:306
#13 0x00002aaaab279778 in SignalMonitor::SpawnMonitorLoop
(self=0x2aaabc036390)
at signalmonitor.cpp:333
#14 0x00002aaaaea2a407 in start_thread () from /lib64/libpthread.so.0
#15 0x0000003a488d4b0d in clone () from /lib64/libc.so.6
}}}
The relevant local modification here is:
{{{
MythEvent::MythEvent(const QString &lmessage, const QStringList
&lextradata) :
QCustomEvent(MythEventMessage)
{
QString crashme;
crashme=lextradata.join(" // ");
message = QDeepCopy<QString>(lmessage);
extradata = QDeepCopy<QStringList>(lextradata);
crashme=extradata.join(" // ");
}
}}}
It is the *second* crashme, after the deep copy, that has segfaulted.
If I take out the 'crashme's I have scattered about the place, I get
segfaults in various places similar to the one submitted by cg; adding the
'crashme's just makes them happen closer to when the corruption occurred.
--
Ticket URL: <http://svn.mythtv.org/trac/ticket/4861#comment:2>
MythTV <http://svn.mythtv.org/trac>
MythTV
More information about the mythtv-commits
mailing list