[e-lang] Strange lock-ups with simple E program

Thomas Leonard tal at it-innovation.soton.ac.uk
Mon Jul 27 12:02:56 EDT 2009


Hi Mark,

Thanks for looking into it. It's not urgent; I'm just prototyping things
at the moment and using multiple vats in one process for ease of
testing.


On Sun, 2009-07-26 at 19:56 -0700, Mark Miller wrote:
> Hi Thomas, I haven't found the bug yet, but I have narrowed it down to
> a race condition bug in the boot-comm system. Your same stress test,
> with your
> 
>     def seedVat := seedVatAuthor(<unsafe>)
> 
> replaced by
> 
>     introducer.onTheAir()
>     def seedVat := seedVatAuthor(<unsafe>).virtualize(introducer)
> 
> seems to never lock up. The only difference between these is that the
> latter uses captp instead of boot-comm. In the boot comm case, the
> form of lock up looks like a lost signal: all vats are quiescent
> waiting for a message. I have also discovered many things that the bug
> is not ;). Unfortunately, the clues so far seem to point to a
> multi-threading race condition bug.
> 
> Unfortunately, I won't have time for further investigation for another
> week. If you're blocked on this, might the above change be a useful
> workaround for you?
> 
-- 
Dr Thomas Leonard
IT Innovation Centre
2 Venture Road
Southampton
Hampshire SO16 7NP

Tel: +44 0 23 8076 0834
Fax: +44 0 23 8076 0833
mailto:tal at it-innovation.soton.ac.uk
http://www.it-innovation.soton.ac.uk 



More information about the e-lang mailing list