att / rcloud

Collaborative data analysis and visualization
http://rcloud.social
MIT License
429 stars 141 forks source link

interrupt ocap #2736

Open gordonwoodhull opened 4 years ago

gordonwoodhull commented 4 years ago

If there is a bug in a JS ocap and it doesn't call its continuation, this can hang the cell and RCloud UI completely.

When we do an interrupt with the Stop button, could we also detect if we're blocked by an async call to JS, and if so, issue an error with whatever info we have about the ocap?

Sure, this might leave the front-end in a bad state, but it seems like it should still be responsive.

gordonwoodhull commented 4 years ago

In particular, the Run All button is helpful because it starts a new session and will reload any packages which have been rebuilt. This makes it possible to debug multiple iterations on a package without reloading the page.

But if a continuation was dropped, then Play All is not available.