[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