[mythtv] EIT triggered crashes (trunk)
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:
> ... interesting.. and the following code exists in programinfo.cpp,
> implying that there is a race condition using regular expressions.
> QMutexLocker locker(®ExpLock);
> 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.
More information about the mythtv-dev