fonsp / Pluto.jl

🎈 Simple reactive notebooks for Julia
https://plutojl.org/
MIT License
4.96k stars 286 forks source link

Pluto crashes on closing #3036

Open donovaly opened 2 days ago

donovaly commented 2 days ago

In Julia's REPL I started Pluto, and there I read:

Info: │ Press Ctrl+C in this terminal to stop Pluto

But when I do this, I get this error

fatal: error thrown and no exception handler available.
InterruptException()
_jl_mutex_unlock at C:/workdir/src\threading.c:949
jl_mutex_unlock at C:/workdir/src\julia_locks.h:80 [inlined]
ijl_task_get_next at C:/workdir/src\scheduler.c:526
poptask at .\task.jl:1012
wait at .\task.jl:1021
task_done_hook at .\task.jl:694
jfptr_task_done_hook_67126.1 at J:\Julia-1.11\lib\julia\sys.dll (unknown line)
jl_apply at C:/workdir/src\julia.h:2157 [inlined]
jl_finish_task at C:/workdir/src\task.c:319
start_task at C:/workdir/src\task.c:1213

This is strange as I am on Windows. There is no such directory C:/workdir and it can also not be created as one would need admin permissions to do so. So also the error message is wrong.

I use Julia 1.11RC4 under Windows 10 RC4.

I tried to close Pluto also directly after I started, so no notebook was ever loaded or run but the bug persists.

fonsp commented 13 hours ago

Hey Uwe! Did Pluto exit? What happens when you press Ctrl+C again?

Ctrl+C is a bit difficult to handle Julia, but it is being worked on (eg https://github.com/JuliaLang/julia/issues/25790).

For the C:/workdir issue, you could make an issue in https://github.com/JuliaLang/julia/issues

donovaly commented 3 hours ago

Did Pluto exit?

I don't know. The browser tab (Firefox) is still open and does not accept inputs. So the server was shut down but it can be because of the crash.

What happens when you press Ctrl+C again?

Julia outputs just: ^C

For the C:/workdir issue, you could make an issue in https://github.com/JuliaLang/julia/issues

Done: https://github.com/JuliaLang/julia/issues/55957 It seems the problem is that I use the JULIA_DEPOT_PATH environment variable.