A regular collection is run.

Sent from my iPhone

On Sep 14, 2011, at 4:36 AM, David Simcha <[email protected]> wrote:

> On 9/14/2011 1:04 AM, Sean Kelly wrote:
>> On Sep 13, 2011, at 11:59 AM, Martin Nowak wrote:
>> 
>>> I've had a look the core dumps from the sometimes failing std.parallelism 
>>> test.
>>> The issue is one of having daemon threads running while the GC is unmapping 
>>> memory.
>>> Usually this goes unnoticed because the parallelism threads wait in a work 
>>> queue condition.
>>> Sometimes a daemon thread is awakening from it's GC suspend handler after 
>>> memory was already
>>> freed. This issue is already mentioned in a comment at gc_term.
>>> 
>>> 
>>> Thread  obj = Thread.getThis();
>>> 
>>> ...
>>> suspend
>>> ...
>>> 
>>> if( obj&&  !obj.m_lock ) //<- segfault
>>> 
>>> 
>>> I think we should bluntly kill daemon threads after thread_joinAll.
>> One issue with this is that if these threads held any locks accessed during 
>> later parts of the cleanup (the GC lock, module-level locks accessed in 
>> static dtors, etc), the app could hang instead of shutting down cleanly.  If 
>> the threads are forcibly terminated then it would really have to be after 
>> these cleanup steps occurred, but by then Bad Things could already be 
>> happening because module dtors have been run and the GC is terminated.
>> 
>> Since daemon threads are an explicit choice made by the user, I hope that 
>> they have also considered how to notify them to terminate cleanly (as one 
>> does in C/C++ where daemon threads are the default).  The best thing is 
>> really to build this into the relevant module dtor.  There's also 
>> Runtime.isHalting if someone can present a case to un-deprecate it.
>> _______________________________________________
>> phobos mailing list
>> [email protected]
>> http://lists.puremagic.com/mailman/listinfo/phobos
>> 
> 
> Is the finalizer guaranteed to be called on all GC-allocated class instances 
> before program termination, or is a regular collection cycle just run?
> _______________________________________________
> phobos mailing list
> [email protected]
> http://lists.puremagic.com/mailman/listinfo/phobos
_______________________________________________
phobos mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/phobos

Reply via email to