When playing around at the REPL, I seem to get into situations like this:
> (define a-vat (spawn-vat))
> (a-vat (lambda () (error "Yikes")))
*Exception half-prints, CPU goes into infinite loop*
Okay, what's in an infinite loop then? Let's see:
> ,scheds
No schedulers.
Well... that's strange. That doesn't make much sense. Our vat should
still be running, and nothing should be infinite looping. What's
going on?
My suspicion is that somehow the scheduler is disappearing and, since
Fibers takes this weird spin-locking strategy, something
is... spinning infinitely. (On that note, I'm pretty skeptical of
Fibers' spin-locking approach...)
It could be that setting up a dedicated scheduler for vats would solve
this. I need to look into that I guess.
When playing around at the REPL, I seem to get into situations like this:
``` scheme
> (define a-vat (spawn-vat))
> (a-vat (lambda () (error "Yikes")))
*Exception half-prints, CPU goes into infinite loop*
```
Okay, what's in an infinite loop then? Let's see:
``` scheme
> ,scheds
No schedulers.
```
Well... that's strange. That doesn't make much sense. Our vat should
still be running, and nothing should be infinite looping. What's
going on?
My suspicion is that somehow the scheduler is disappearing and, since
Fibers takes this weird spin-locking strategy, something
is... spinning infinitely. (On that note, I'm pretty skeptical of
Fibers' spin-locking approach...)
It could be that setting up a dedicated scheduler for vats would solve
this. I need to look into that I guess.