On 5/5/2011 1:28 AM, Walter Bright wrote:


On 5/4/2011 9:24 PM, David Simcha wrote:
On 5/4/2011 11:59 PM, Walter Bright wrote:
It's past time.
_______________________________________________
phobos mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/phobos


I'd really like to get that #$(&@$ parallelism bug solved.  I don't know what to do about it because it seems to only occur under a ridiculously narrow set of circumstances but until I figure out for sure what's going on I won't be fully confident that it's not some horrible concurrency bug.  OTOH, I have no estimate right now of how much longer that's going to take.  My latest thing to note is that sometimes the stack pointer, of all things, is somehow getting overwritten with the value of TaskStatus.done.  I have absolutely no clue how.  I'm starting to feel the same way about this bug that I usually feel about the biology problems I try to solve for my thesis research:  The harder I look, the more confused I get.

I feel your pain on that, I've been through that mill many times. Sometimes it helps to set it down for a moment. Worst case, we release with a buggy std.parallelism. It's not breaking existing code because it's new.

I've found the extremely subtle race condition that was destroying stack-allocated tasks in amap and parallel foreach while they were still referenced and causing scope closures to be deallocated prematurely in a few ridiculously rare cases.  This is obviously capable of causing stack corruption.  I'm going to try to fix it tonight, but I'm not guaranteeing anything.
_______________________________________________
phobos mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/phobos

Reply via email to