<div dir="ltr"><div><div><div>Hi James,<br><br>Thanks, :)<br><br></div>I updated the logic flow and also included a Popen.communicate() call to remove the waiting defunct process.<br><br>Please check.<br><a href="https://github.com/sugarlabs/sugar/pull/682">https://github.com/sugarlabs/sugar/pull/682</a><br><br></div>I was able to reproduce the error and after the patch there was only one process for metacity with Sl+ status as desired. :)<br><br></div><div><div><div><br></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Apr 20, 2016 at 11:47 AM, James Cameron <span dir="ltr"><<a href="mailto:quozl@laptop.org" target="_blank">quozl@laptop.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Thanks, good start.<br>
<br>
I've updated the bug with a reproducer, and reproduced twice, once on<br>
Ubuntu 16.04 and once on Fedora 23 SoaS.<br>
<br>
I've tried your patch; small logic error causes two instances of<br>
metacity to start, and the second one (correctly) exits.  The process<br>
is still not reaped.<br>
<br>
Your patch moves the Popen _and_ the Wnck call to a timeout callback;<br>
it would be better to make them into a utility function, then;<br>
<br>
- call the utility function during startup,<br>
<br>
- set a new timeout function to call poll(), return true if the<br>
  process still exists,<br>
<br>
- when poll() shows process has terminated, call the utility function<br>
  again, but still return true.<br>
<br>
Returning true from a timeout callback function tells GObject to call<br>
again after the next period.<br>
<span class=""><br>
On Wed, Apr 20, 2016 at 11:20:33AM +0530, Manash Raja wrote:<br>
> Hi,<br>
><br>
</span>> I was looking at this bug: [1]<a href="https://bugs.sugarlabs.org/ticket/4958" rel="noreferrer" target="_blank">https://bugs.sugarlabs.org/ticket/4958</a><br>
<span class="">><br>
> How can I create the bug on my machine to test?<br>
><br>
> Even though I created a patch, can you please verify:<br>
</span>> [2]<a href="https://github.com/ManashRaja/sugar/commit/" rel="noreferrer" target="_blank">https://github.com/ManashRaja/sugar/commit/</a><br>
> d1d3c852adb6a9a2c10942ed6a96f2c4bb7ed61b<br>
><br>
> Thanks<br>
> Manash<br>
><br>
> References:<br>
><br>
> [1] <a href="https://bugs.sugarlabs.org/ticket/4958" rel="noreferrer" target="_blank">https://bugs.sugarlabs.org/ticket/4958</a><br>
> [2] <a href="https://github.com/ManashRaja/sugar/commit/d1d3c852adb6a9a2c10942ed6a96f2c4bb7ed61b" rel="noreferrer" target="_blank">https://github.com/ManashRaja/sugar/commit/d1d3c852adb6a9a2c10942ed6a96f2c4bb7ed61b</a><br>
<br>
> _______________________________________________<br>
> Sugar-devel mailing list<br>
> <a href="mailto:Sugar-devel@lists.sugarlabs.org">Sugar-devel@lists.sugarlabs.org</a><br>
> <a href="http://lists.sugarlabs.org/listinfo/sugar-devel" rel="noreferrer" target="_blank">http://lists.sugarlabs.org/listinfo/sugar-devel</a><br>
<span class="HOEnZb"><font color="#888888"><br>
<br>
--<br>
James Cameron<br>
<a href="http://quozl.netrek.org/" rel="noreferrer" target="_blank">http://quozl.netrek.org/</a><br>
</font></span></blockquote></div><br></div>