[mythtv-commits] Ticket #4695: EIT causes backend crashes
MythTV
mythtv at cvs.mythtv.org
Thu Feb 21 21:51:28 UTC 2008
#4695: EIT causes backend crashes
-----------------------+----------------------------------------------------
Reporter: anonymous | Owner: ijr
Type: defect | Status: new
Priority: minor | Milestone: 0.21
Component: mythtv | Version: unknown
Severity: medium | Resolution:
Mlocked: 0 |
-----------------------+----------------------------------------------------
Comment(by janne):
Quoting David <david at unsolicited.net> on the dev ml
> The problem is quite subtle and connected to the way Qt caches regular
> expression engine instances. MythTV creates threads directly using
> pthread primitives, bypassing Qt's QThread class. This is a problem,
> because QThread sets up thread local data structures that it expects to
> be able to use in QRegExp methods. These are uninitialised when the
> thread is created outside of Qt.
> The actual (mis)behaviour caused by this is rather random. QRegExp may
> decide to create and destroy an engine during each regexp call, in which
> case everything works OK (if more slowly that it could). At other times
> threads end up sharing regexp engines and the associated control
> structures. Sometimes, if two threads execute inside QRegExp
> simultaneously then heap corruption occurs and the backend crashes.
--
Ticket URL: <http://svn.mythtv.org/trac/ticket/4695#comment:3>
MythTV <http://svn.mythtv.org/trac>
MythTV
More information about the mythtv-commits
mailing list