Open
Description
This is working on Julia 1.11, therefore I assume there is an issue in Julia (tested on Windows). Im using Juliaup to install Julia. The bug report includes usage of Oxygen (1.7.1), I posting here though as the bug only happens on Julia 1.12 .
First about my machine
julia> versioninfo()
Julia Version 1.12.0-beta4
Commit 600ac61d3d (2025-06-05 07:03 UTC)
Build Info:
Official https://julialang.org release
Platform Info:
OS: Windows (x86_64-w64-mingw32)
CPU: 16 × 11th Gen Intel(R) Core(TM) i9-11900H @ 2.50GHz
WORD_SIZE: 64
LLVM: libLLVM-18.1.7 (ORCJIT, tigerlake)
GC: Built with stock GC
Threads: 1 default, 1 interactive, 1 GC (on 16 virtual cores)
Minimal example:
julia> using Oxygen
julia> serve()
Then hit CTRL+C .
On Julia 1.12 this crashed the REPL with this error message.
julia> Unhandled Task ERROR: TaskFailedException
Stacktrace:
[1] #wait#583
@ .\task.jl:363 [inlined]
[2] wait
@ .\task.jl:360 [inlined]
[3] fetch
@ .\task.jl:525 [inlined]
[4] prompt!(term::REPL.Terminals.TextTerminal, prompt::REPL.LineEdit.ModalInterface, s::REPL.LineEdit.MIState)
@ REPL.LineEdit C:\Users\dengl\.julia\juliaup\julia-1.12.0-beta4+0.x64.w64.mingw32\share\julia\stdlib\v1.12\REPL\src\LineEdit.jl:2983
[5] run_interface(terminal::REPL.Terminals.TextTerminal, m::REPL.LineEdit.ModalInterface, s::REPL.LineEdit.MIState)
@ REPL.LineEdit C:\Users\dengl\.julia\juliaup\julia-1.12.0-beta4+0.x64.w64.mingw32\share\julia\stdlib\v1.12\REPL\src\LineEdit.jl:2849
[6] run_frontend(repl::REPL.LineEditREPL, backend::REPL.REPLBackendRef)
@ REPL C:\Users\dengl\.julia\juliaup\julia-1.12.0-beta4+0.x64.w64.mingw32\share\julia\stdlib\v1.12\REPL\src\REPL.jl:1664
[7] (::REPL.var"#61#62"{REPL.LineEditREPL, REPL.REPLBackendRef})()
@ REPL C:\Users\dengl\.julia\juliaup\julia-1.12.0-beta4+0.x64.w64.mingw32\share\julia\stdlib\v1.12\REPL\src\REPL.jl:651
nested task error: InterruptException:
Stacktrace:
[1] yieldto(t::Task, x::Any)
@ Base .\task.jl:1101
[2] yieldto
@ .\task.jl:1095 [inlined]
[3] wait()
@ Base .\task.jl:1213
[4] wait(c::Base.GenericCondition{Base.Threads.SpinLock}; first::Bool)
@ Base .\condition.jl:141
[5] wait
@ .\condition.jl:136 [inlined]
[6] wait_readnb(x::Base.TTY, nb::Int64)
@ Base .\stream.jl:416
[7] eof(s::Base.TTY)
@ Base .\stream.jl:106
[8] eof(io::REPL.Terminals.TTYTerminal)
@ Base .\io.jl:472
[9] (::REPL.LineEdit.var"#prompt!##2#prompt!##3"{REPL.Terminals.TTYTerminal, REPL.LineEdit.ModalInterface, REPL.LineEdit.MIState, REPL.LineEdit.Prompt})()
@ REPL.LineEdit C:\Users\dengl\.julia\juliaup\julia-1.12.0-beta4+0.x64.w64.mingw32\share\julia\stdlib\v1.12\REPL\src\LineEdit.jl:2948
ERROR: TaskFailedException
Stacktrace:
[1] try_yieldto(undo::typeof(Base.ensure_rescheduled))
@ Base .\task.jl:1128
[2] wait()
@ Base .\task.jl:1225
[3] wait(c::Base.GenericCondition{ReentrantLock}; first::Bool)
@ Base .\condition.jl:141
[4] wait
@ .\condition.jl:136 [inlined]
[5] take_buffered(c::Channel{Any})
@ Base .\channels.jl:532
[6] take!
@ .\channels.jl:526 [inlined]
[7] repl_backend_loop(backend::REPL.REPLBackend, get_module::Function)
@ REPL C:\Users\dengl\.julia\juliaup\julia-1.12.0-beta4+0.x64.w64.mingw32\share\julia\stdlib\v1.12\REPL\src\REPL.jl:438
[8] start_repl_backend(backend::REPL.REPLBackend, consumer::Any; get_module::Function)
@ REPL C:\Users\dengl\.julia\juliaup\julia-1.12.0-beta4+0.x64.w64.mingw32\share\julia\stdlib\v1.12\REPL\src\REPL.jl:428
[9] start_repl_backend
@ C:\Users\dengl\.julia\juliaup\julia-1.12.0-beta4+0.x64.w64.mingw32\share\julia\stdlib\v1.12\REPL\src\REPL.jl:425 [inlined]
[10] run_repl(repl::REPL.AbstractREPL, consumer::Any; backend_on_current_task::Bool, backend::Any)
@ REPL C:\Users\dengl\.julia\juliaup\julia-1.12.0-beta4+0.x64.w64.mingw32\share\julia\stdlib\v1.12\REPL\src\REPL.jl:654
[11] run_repl(repl::REPL.AbstractREPL, consumer::Any)
@ REPL C:\Users\dengl\.julia\juliaup\julia-1.12.0-beta4+0.x64.w64.mingw32\share\julia\stdlib\v1.12\REPL\src\REPL.jl:640
[12] run_std_repl(REPL::Module, quiet::Bool, banner::Symbol, history_file::Bool)
@ Base .\client.jl:482
[13] run_main_repl(interactive::Bool, quiet::Bool, banner::Symbol, history_file::Bool)
@ Base .\client.jl:503
[14] repl_main
@ .\client.jl:590 [inlined]
[15] _start()
@ Base .\client.jl:565
nested task error: TaskFailedException
Stacktrace:
[1] #wait#583
@ .\task.jl:363 [inlined]
[2] wait
@ .\task.jl:360 [inlined]
[3] fetch
@ .\task.jl:525 [inlined]
[4] prompt!(term::REPL.Terminals.TextTerminal, prompt::REPL.LineEdit.ModalInterface, s::REPL.LineEdit.MIState)
@ REPL.LineEdit C:\Users\dengl\.julia\juliaup\julia-1.12.0-beta4+0.x64.w64.mingw32\share\julia\stdlib\v1.12\REPL\src\LineEdit.jl:2983
[5] run_interface(terminal::REPL.Terminals.TextTerminal, m::REPL.LineEdit.ModalInterface, s::REPL.LineEdit.MIState)
@ REPL.LineEdit C:\Users\dengl\.julia\juliaup\julia-1.12.0-beta4+0.x64.w64.mingw32\share\julia\stdlib\v1.12\REPL\src\LineEdit.jl:2849
[6] run_frontend(repl::REPL.LineEditREPL, backend::REPL.REPLBackendRef)
@ REPL C:\Users\dengl\.julia\juliaup\julia-1.12.0-beta4+0.x64.w64.mingw32\share\julia\stdlib\v1.12\REPL\src\REPL.jl:1664
[7] (::REPL.var"#61#62"{REPL.LineEditREPL, REPL.REPLBackendRef})()
@ REPL C:\Users\dengl\.julia\juliaup\julia-1.12.0-beta4+0.x64.w64.mingw32\share\julia\stdlib\v1.12\REPL\src\REPL.jl:651
nested task error: InterruptException:
Stacktrace:
[1] yieldto(t::Task, x::Any)
@ Base .\task.jl:1101
[2] yieldto
@ .\task.jl:1095 [inlined]
[3] wait()
@ Base .\task.jl:1213
[4] wait(c::Base.GenericCondition{Base.Threads.SpinLock}; first::Bool)
@ Base .\condition.jl:141
[5] wait
@ .\condition.jl:136 [inlined]
[6] wait_readnb(x::Base.TTY, nb::Int64)
@ Base .\stream.jl:416
[7] eof(s::Base.TTY)
@ Base .\stream.jl:106
[8] eof(io::REPL.Terminals.TTYTerminal)
@ Base .\io.jl:472
[9] (::REPL.LineEdit.var"#prompt!##2#prompt!##3"{REPL.Terminals.TTYTerminal, REPL.LineEdit.ModalInterface, REPL.LineEdit.MIState, REPL.LineEdit.Prompt})()
@ REPL.LineEdit C:\Users\dengl\.julia\juliaup\julia-1.12.0-beta4+0.x64.w64.mingw32\share\julia\stdlib\v1.12\REPL\src\LineEdit.jl:2948