[mythtv-commits] Ticket #1564: SEGFAULT in SIParser::CheckTrackers

MythTV mythtv at cvs.mythtv.org
Thu Mar 23 15:06:05 UTC 2006


#1564: SEGFAULT in SIParser::CheckTrackers
-----------------------+----------------------------------------------------
 Reporter:  anonymous  |        Owner:  danielk 
     Type:  defect     |       Status:  reopened
 Priority:  minor      |    Milestone:  0.20    
Component:  dvb        |      Version:  head    
 Severity:  medium     |   Resolution:          
-----------------------+----------------------------------------------------
Comment (by cizek at rcn.com):

 FWIW: I tried using pmap_lock and got a similar result (deadlock).  Using
 the new mutex (in pnum_lock.patch) has worked for me since yesterday.


 Going beyond.  The problem I found was when a distinct scanner was
 created.  The constructor for DVBSIParser creates a new thread to run
 "siparser->StartSectionReader()" which calls "SIParser::CheckTrackers()".
 After the creation of the DVBSIParser object, we call ReinitSIParser() in
 the original thread.  ReinitSIParser() (through a called function) clears
 pnum_pid, potentially at the same time that CheckTrackers() is using
 pnum_pid.  I'm very sure this "clear while in use" is what caused my
 crash.

 I have two tuners, but I think that just doubles the odds that this will
 happen.  I don't think there's any interaction between the two.

 Anyway, YMMV, Hope this helps.  If you have any questions for me you're
 welcome to email me direct.

 Bill

-- 
Ticket URL: <http://cvs.mythtv.org/trac/ticket/1564>
MythTV <http://www.mythtv.org/>
MythTV


More information about the mythtv-commits mailing list