Hello again!
I think I have successfully migrated this by using waitpid to reap zombies.
This is by trial and error so I am not sure if this works reliably.
Example code here:
https://github.com/neural99/sage-zombie-debug/blob/master/zombie_fix.sage
--
You received this message because you a
Sorry. I didn't look at your example carefully.
The method "sage.interfaces.sagespawn.SagePtyProcess.terminate_async" also
spawns a zombie process.
So the following code spawns zombie processes even if I change the
definition of start_cleaner.
s = sage.interfaces.sage0.Sage()
s.eval('4')
s.quit(
On Mon, Feb 22, 2016 at 12:30 PM, Volker Braun wrote:
> Every interfaces tries to launch the sage-cleaner. If it is already running,
> the newly-forked sage-cleaner quits immediately. But there is nobody reaping
> the child, so a zombie remains.
>
> The standard solutions are either
> 1) waitpid i
Every interfaces tries to launch the sage-cleaner. If it is already
running, the newly-forked sage-cleaner quits immediately. But there is
nobody reaping the child, so a zombie remains.
The standard solutions are either
1) waitpid in the parent e.g. whenever a new interface is created,
2) dou
On Sun, Feb 21, 2016 at 2:30 AM, Sho Takemori wrote:
> I also experienced this. (I use SageMath 7.0 on Ubuntu 15.10)
> I guess this is not specific to sage0. The following code will spawn five
> zombie processes.
>
> [a.eval("1") for a in [gp, gap, maxima, sage0, singular]]
>
> By debugging with p
I also experienced this. (I use SageMath 7.0 on Ubuntu 15.10)
I guess this is not specific to sage0. The following code will spawn five
zombie processes.
[a.eval("1") for a in [gp, gap, maxima, sage0, singular]]
By debugging with pdb, I found that something is wrong with
"sage.interfaces.cleane