[mythtv-commits] Ticket #7135: multiple [mythfrontend] <defunct>

MythTV mythtv at cvs.mythtv.org
Sat Nov 7 00:46:00 UTC 2009


#7135: multiple [mythfrontend] <defunct>
---------------------------------------+------------------------------------
 Reporter:  simons.philippe@…          |       Owner:  ijr           
     Type:  defect                     |      Status:  infoneeded_new
 Priority:  minor                      |   Milestone:  unknown       
Component:  MythTV - General           |     Version:  head          
 Severity:  medium                     |     Mlocked:  0             
---------------------------------------+------------------------------------
Changes (by mdean):

  * status:  new => infoneeded_new


Comment:

 Attached patch, mythtv-7135-defunct_processes.patch , might work to
 prevent the zombie processes.  I can't reproduce the issue, so I'm posting
 the patch for others to test.

 The only way I could get defunct processes with my contrived test
 application was to delete the QProcess before the process exited.  It's
 possible that this can happen when deleteLater() is called right after
 kill(), so the patch just puts another waitForFinished() call after the
 kill() to allow the process to die before deleteLater() gets called (it
 will wait much less than 2s, but will give up after 2s if the kill()
 fails).  This extra waitForFinished() should probably be done regardless
 of whether it solves the issue or not.

 However, in theory, if the specified application doesn't exist,
 waitForStarted() should return false, meaning that in the described cases,
 we should be returning from the waitForStarted() block above.  (If you
 enable -v important,general,media on mythfrontend, you should see "Error -
 udevinfo failed to start!" and/or "Error - udevinfo failed to end!
 Terminating" which will indicate whether the problem is in the
 waitForStarted() or waitForFinished() block.)  If the problem is in the
 waitForStarted() block, we may need to do the same kill() and
 waitForFinished() in it before deleteLater().

 If someone can test and adjust the patch as necessary, please report back
 whether it works (and upload any modified version of the patch).  #6137
 (udevadm vs udevinfo) will be handled separately.

-- 
Ticket URL: <http://svn.mythtv.org/trac/ticket/7135#comment:17>
MythTV <http://www.mythtv.org/>
MythTV


More information about the mythtv-commits mailing list