Results 1 to 12 of 12

Thread: Even and odd loop

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1

    Re: Even and odd loop

    Livelock -- infinite loops steal the vat's thread
    An infinite loop prevents this incarnation of a vat from ever again making progress, just as it would prevent a conventional thread from making progress. As with conventional threads, it does not prevent other vats (threads) from making progress. Unfortunately, since each E object is in only one vat, livelocking a vat does lock up all objects within a vat. (This would be analogous to livelocking a thread that holds a synchronized lock on several objects.)

    Fortunately, for a persistent vat, this locks up only the vat incarnation, not the vat itself. By killing the livelocked incarnation, the vat can roll back to its last checkpoint, be reincarnated, and proceed from there. Unfortunately, this doesn't guarantee that it won't livelock again.


  2. #2

    Re: Even and odd loop

    Turing's halting problem demonstrates the ultimate unsolvability of this problem.

    Datalock -- recursive data definition with no bottom
    This also includes when-catches that are "waiting" (posted as callbacks for) promises that the other would resolve.

    Gridlock -- messages need space to move
    Technically, this looks like a classic deadlock, but it's caused specifically by lack of outgoing buffers. The distinction between deadlock and gridlock? If more buffer space would have caused you not to have locked up yet, then it's gridlock rather than deadlock.


  3. #3

    Re: Even and odd loop

    Lost Signal -- overslept, forgot to set the alarm
    An example, due to Mark Seaborn (thanks!): If you have a when-catch "waiting" (posted as a callback) for a promise to be resolved, but in the code that's supposed to resolve it, you forget to call "resolve" in all applicable cases. Of course, actual lost signal bugs may be arbitrarily more complicated than this.


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
About us
Applying for a job can be a stressful and frustrating experience, especially for someone who has never done it before. Considering that you are competing for the position with a at least a dozen other applicants, it is imperative that you thoroughly prepare for the job interview, in order to stand a good chance of getting hired. That's where GeekInterview can help.
Interact