deno
deno copied to clipboard
(jupyter) Deno crashes jupyter kernel when pressing stop button in Notebook
Version: Deno 1.43.5 (but I can check later this week for other versions)
Reproduction Steps:
- Create jupyter notebook and open it in Vscode or web interface
- Select deno kernel
- Run a cell that sets a variable's value
var server = "foo"
- Start long running command as a code block cell (eg a
await sleep(10000)
type fn) - Press "Stop" button
- Deno kernel crashes and loses the internal state of
var server
Behavior in python jupyter kernel:
- Steps 1 through 5 are the same
- Step 6 will stop the cell without killing the kernel
-
server
variable's value will still remain available
I'm treating python as the reference behavior here and expecting that deno will generally treat that as the correct behavior.
Summary
Deno has different and undesirable behavior when executing a jupyter runbook with the deno kernel in that it doesn't tolerate and recover from a "stop" execution command, without a kernel restart.
Severity: mild/moderate usability issue (deno jupyter notebooks are usable but fragile if needing to stop a cell execution. In that case it requries replaying the notebook to that same point in time to rebuild the internal state). I still prefer deno based notebooks to python for the improvements on typing and dependency management, so I'm interested to help make the ecosystem better over time.
I'm not sure where to start debugging this, so I'm starting by reporting it and if I can find out why the behavior happens I'll put up a PR.
Thanks!