[e-lang] Strange lock-ups with simple E program
Kevin Reid
kpreid at mac.com
Fri Jul 24 18:38:54 EDT 2009
On Jul 24, 2009, at 9:53, Thomas Leonard wrote:
> def obj := seedVat.run("def test() { return null }")[0]
Note: "run" is the function method. This line would best be written as
def obj := seedVat("def test() { return null }")[0]
>
> 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>
> ...
> error: problem: <ViciousCycleException: Caught in a forwarding loop>
I think I've noticed nondeterministic problems like that myself. I
don't have the time to debug it myself right now, and I'm not a
threading wizard anyway and this problem is probably some type of race
condition.
In particular, either of these errors indicates a bogus resolution:
the first is that a Far ref, since it is settled, cannot be resolved
to another ref (other than a broken ref); the second is an attempt to
resolve a promise to itself.
MarkM?
--
Kevin Reid <http://switchb.org/kpreid/>
More information about the e-lang
mailing list