On Mon, Jun 5, 2017 at 11:21 AM, Dima Pasechnik <[email protected]> wrote:
> I guess these zombie processes come from the function quitting Magma,
> something that does not destroy a Python child process used to communicate
> with it.
>
> Why won't you create a Magma instance just once, and do a cleanup after your
> function is done?
> (IIRC, Magma does not have a "reset" facility, but you can still "delete"
> variables.) (Well, this would be tedious,
> perhaps these deletes are called by Sage interface?)

Another hack/workaround *might* be to use Sage's @fork or @parallel
decorators...

>
> On the other hand, there is also stuff in sage.interfaces.quit.* you can
> probably use to clean up,
> as well as sage.interfaces.cleaner.* - which is even less documented, and
> it's hard to say exactly what to do
> with is. A documentation bug?
>
>
>
>
> On Monday, June 5, 2017 at 2:44:32 PM UTC+1, John Cremona wrote:
>>
>> On a linux (ubuntu 16.04) machine I am running one instance of Sage
>> version 7.6.  In a loop I am calling a function of my own which
>> interfaces to Magma; that function starts with
>>
>>  mag = Magma()
>>
>> then there are a whole lot of mag.eval() statements and af ew others
>> with which I collect the content of Magma variable back into Sage, and
>> the last line before the function returns is
>>
>>  mag.quit()
>>
>> Once this has been running for a while, I have --as expected-- exactly
>> one magma process running.  But there are many defunct python
>> processes (right now, 1375 lines like
>> jec      59385  0.0  0.0      0     0 pts/11   Z+   12:30   0:00
>> [python] <defunct>
>> in the output of ps -ux | grep python) whose times stamps show that
>> many per second were created.  These are all child processes of the
>> controlling Sage process.  They seem harmless since they are not using
>> any resources, but I had 5 such Sage sessions running overnight and
>> this morning could not log into the machine for a while and I suspect
>> (without proof) that some maximum number of processes was exceeded --
>> when I did log in, I saw that all 5 of the Sage processes had been
>> killed and showed an error message about not being able to fork().
>> The computer has 512g of RAM and 72 cores, and was not heavily loaded.
>>
>> Help please!
>>
>> I am attaching the function in question in case that helps.
>>
>> John
>
> --
> You received this message because you are subscribed to the Google Groups
> "sage-support" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at https://groups.google.com/group/sage-support.
> For more options, visit https://groups.google.com/d/optout.



-- 
William (http://wstein.org)

-- 
You received this message because you are subscribed to the Google Groups 
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.

Reply via email to