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

Mark Miller erights at gmail.com
Sat Jul 25 19:16:01 EDT 2009


Thomas, thank you so much for isolating this into a reproducible
failure. I have occasionally hit such hangs as well as the other
problems you report, but not in a way I could reproduce. Running your
script, I do get a hang every time at a different iteration as you
mention. I still don't know what the bug is, but am investigating now.
Thanks again!


On Fri, Jul 24, 2009 at 6:53 AM, Thomas
Leonard<tal at it-innovation.soton.ac.uk> wrote:
> Hi,
>
> I was trying to find out why my E program failed from time to time, and eventually simplified it to this:
>
>
> pragma.syntax("0.9")
>
> def seedVatAuthor := <elang:interp.seedVatAuthor>
> def seedVat := seedVatAuthor(<unsafe>)
>
> def obj := seedVat.run("def test() { return null }")[0]
>
> var i := 0
> def stress() {
>        i += 1
>        if (i < 10 || (i % 100) == 0) { println(`i: $i`) }
>        when (obj<-()) -> { stress() }
> }
>
> stress()
> interp.blockAtTop()
>
>
> It runs for a while, but then it hangs (after printing "i: 11800", "i:
> 2300" and "i: 36900" on my last few runs).
>
> While simplifying it, I quite often also got these:
>
> java.lang.RuntimeException: Failed: OldFarRef may only be smashed: <Far
> ref>
>
> (I see from the svn logs that an "OldFarRef" is just a normal far ref)
>
> Any hints on how to debug this? I was using e.version=0.9.2a (according
> to the eprops file), but I also tried with svn. That also hangs, but
> sometimes prints:
>
> error: problem: <ViciousCycleException: Caught in a forwarding loop>
>
> Other times, it doesn't print anything.
>
> Thanks,
>
>
> --
> 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
>
> _______________________________________________
> e-lang mailing list
> e-lang at mail.eros-os.org
> http://www.eros-os.org/mailman/listinfo/e-lang
>



-- 
Text by me above is hereby placed in the public domain

    Cheers,
    --MarkM


More information about the e-lang mailing list