[mythtv] EIT triggered crashes (trunk)

Daniel Kristjansson danielk at cuymedia.net
Wed Feb 20 18:42:27 UTC 2008


On Wed, 2008-02-20 at 18:25 +0000, David wrote:
> I've always had the odd backend crash when using multiple DTV tuners, 
> but since multirec got merged I'm seeing multiple crashes, especially 
> just after midnight when the next batch of events are released. I 
> noticed others are suffering so I eventually got off my backside and did 
> some diagnostics. Eventually I got valgrind to report the following:
<snip>
> ... interesting.. and the following code exists in programinfo.cpp, 
> implying that there is a race condition using regular expressions.
> 
>         QMutexLocker locker(&regExpLock);
>         if (programid.contains(regExpSeries))
>             return false;
> 
> Unfortunately there is no such locking going on in the EIT fixup 
> routines. Should all users of regexp be protected using the same mutex? 
> I guess I could subclass QRegExp and find out, but I'd rather someone 
> tell me I'm on the right track first.

There should be one EITScanner per DVB device so that no more than
one thread uses a particular EITScanner instance at a time. Since
there is one EITHelper instance per EITScanner instance those regular
expressions should be safe.

-- Daniel



More information about the mythtv-dev mailing list