[mythtv-commits] Ticket #4820: Segfault in scheduler thread
MythTV
mythtv at cvs.mythtv.org
Mon Mar 3 14:54:46 UTC 2008
#4820: Segfault in scheduler thread
------------------------------------------------+---------------------------
Reporter: Mike Rice <mikerice1969 at gmail.com> | Owner: ijr
Type: defect | Status: new
Priority: minor | Milestone: unknown
Component: mythtv | Version: head
Severity: medium | Resolution:
Mlocked: 0 |
------------------------------------------------+---------------------------
Comment(by tim at electronghost.co.uk):
Replying to [ticket:4820 Mike Rice <mikerice1969 at gmail.com>]:
> Running SVN trunk 16313. May just be memory corruption but hopefully
someone can see something wrong from the trace. The full stack trace is
attached.
>
I'm seeing an abort from glibc when channel hopping in LiveTV. It looks to
me like a memory corruption somewhere. I added
if (me->Message().left(6) == "SIGNAL") {
QString crashme=me->ExtraDataList().join(" ");
}
at the top of the various checks in MainServer::customEvent() in
mythbackend/mainserver.cpp and this line triggers the crash according to
kdbg and the resulting coredump. The QStringList is complete gibberish at
this point.
However, I also added comparable QString crashme=slist.join(" ")
statements into the 3 places where the SIGNAL message is generated and
none of them fired, which suggests to me that something is scribbling on
memory somewhere else.
valgrind is hard to use in this case but it does have several complaints
I'm investigating. I may be able to do some more poking this evening. It
looks like the backend is often calling RemoteFile::openSocket() while
RemoteFile::path is either NULL or undefined.
I'm running with separate back and front ends, both on x86_64, and have
gone down to -O0 in the compile flags to make debugging easier/possible
:-)
--
Ticket URL: <http://svn.mythtv.org/trac/ticket/4820#comment:2>
MythTV <http://svn.mythtv.org/trac>
MythTV
More information about the mythtv-commits
mailing list