KristofferC / OhMyREPL.jl

Syntax highlighting and other enhancements for the Julia REPL
https://kristofferc.github.io/OhMyREPL.jl/latest/
Other
768 stars 60 forks source link

Endless precompiling in `v1.12.0-DEV` #351

Closed huangyxi closed 1 month ago

huangyxi commented 3 months ago

]add OhMyREPL seems to hang in v1.12.0-DEV.

julia> versioninfo()
Julia Version 1.12.0-DEV.789
Commit 45641340cc1 (2024-06-27 04:03 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
  CPU: 256 × AMD EPYC 7763 64-Core Processor
  WORD_SIZE: 64
  LLVM: libLLVM-17.0.6 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 256 virtual cores)

I have checked that the precompiling process is hanging at this line: https://github.com/KristofferC/OhMyREPL.jl/blob/b0071f5ee785a81ca1e69a561586ff270b4dc2bb/src/precompile.jl#L87 However, I lack PTY-related knowledge and hope someone can fix it.

KristofferC commented 3 months ago

Thanks for the report. I don't have too much time looking into this right now but will probably get to it at some point unless someone beats me to it.

duzaichuan commented 2 months ago

v1.11.0 rc2 seems also have this issue. Did not manage to precompile.

singularitti commented 2 months ago

Same here!

┌ Error: Error during package callback
│   exception =
│    1-element ExceptionStack:
│    KeyError: key Base.PkgId(Base.UUID("e5eb5ef1-03cf-53a7-ae1d-5a66b08e832b"), "REPLExt") not found
│    Stacktrace:
│      [1] getindex
│        @ ./dict.jl:477 [inlined]
│      [2] macro expansion
│        @ ./lock.jl:273 [inlined]
│      [3] root_module(key::Base.PkgId)
│        @ Base ./loading.jl:2319
│      [4] parse_pkg_files(id::Base.PkgId)
│        @ Revise ~/.julia/packages/Revise/doDG7/src/loading.jl:49
│      [5] watch_package(id::Base.PkgId)
│        @ Revise ~/.julia/packages/Revise/doDG7/src/pkgs.jl:349
│      [6] #invokelatest#2
│        @ ./essentials.jl:1043 [inlined]
│      [7] invokelatest
│        @ ./essentials.jl:1040 [inlined]
│      [8] watch_package_callback(id::Base.PkgId)
│        @ Revise ~/.julia/packages/Revise/doDG7/src/packagedef.jl:1370
│      [9] #invokelatest#2
│        @ ./essentials.jl:1043 [inlined]
│     [10] invokelatest
│        @ ./essentials.jl:1040 [inlined]
│     [11] run_package_callbacks(modkey::Base.PkgId)
│        @ Base ./loading.jl:1298
│     [12] macro expansion
│        @ ./loading.jl:2527 [inlined]
│     [13] macro expansion
│        @ ./lock.jl:273 [inlined]
│     [14] require_stdlib(package_uuidkey::Base.PkgId, ext::String)
│        @ Base ./loading.jl:2485
│     [15] macro expansion
│        @ ~/.asdf/installs/julia/1.11.0-rc2/share/julia/stdlib/v1.11/REPL/src/Pkg_beforeload.jl:8 [inlined]
│     [16] macro expansion
│        @ ./lock.jl:273 [inlined]
│     [17] load_pkg()
│        @ REPL ~/.asdf/installs/julia/1.11.0-rc2/share/julia/stdlib/v1.11/REPL/src/Pkg_beforeload.jl:7
│     [18] (::REPL.var"#109#127"{REPL.LineEditREPL})(s::REPL.LineEdit.MIState)
│        @ REPL ~/.asdf/installs/julia/1.11.0-rc2/share/julia/stdlib/v1.11/REPL/src/REPL.jl:1136
│     [19] on_enter(s::REPL.LineEdit.MIState)
│        @ REPL.LineEdit ~/.asdf/installs/julia/1.11.0-rc2/share/julia/stdlib/v1.11/REPL/src/LineEdit.jl:2314
│     [20] (::REPL.LineEdit.var"#120#176")(::REPL.LineEdit.MIState, ::Any, ::Vararg{Any})
│        @ REPL.LineEdit ~/.asdf/installs/julia/1.11.0-rc2/share/julia/stdlib/v1.11/REPL/src/LineEdit.jl:2464
│     [21] #invokelatest#2
│        @ ./essentials.jl:1043 [inlined]
│     [22] invokelatest
│        @ ./essentials.jl:1040 [inlined]
│     [23] (::REPL.LineEdit.var"#30#31"{REPL.LineEdit.var"#120#176", String})(s::Any, p::Any)
│        @ REPL.LineEdit ~/.asdf/installs/julia/1.11.0-rc2/share/julia/stdlib/v1.11/REPL/src/LineEdit.jl:1705
│     [24] macro expansion
│        @ ~/.asdf/installs/julia/1.11.0-rc2/share/julia/stdlib/v1.11/REPL/src/LineEdit.jl:2855 [inlined]
│     [25] macro expansion
│        @ ./lock.jl:273 [inlined]
│     [26] (::REPL.LineEdit.var"#282#284"{REPL.Terminals.TTYTerminal, REPL.LineEdit.ModalInterface, REPL.LineEdit.MIState, ReentrantLock, REPL.LineEdit.Prompt})()
│        @ REPL.LineEdit ~/.asdf/installs/julia/1.11.0-rc2/share/julia/stdlib/v1.11/REPL/src/LineEdit.jl:2845
└ @ Base loading.jl:1303

julia> versioninfo()
Julia Version 1.11.0-rc2
Commit 34c3a63147b (2024-07-29 06:24 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: macOS (arm64-apple-darwin22.4.0)
  CPU: 10 × Apple M1 Pro
  WORD_SIZE: 64
  LLVM: libLLVM-16.0.6 (ORCJIT, apple-m1)
Threads: 8 default, 0 interactive, 4 GC (on 8 virtual cores)

Possibly related to https://github.com/JuliaLang/julia/issues/54941

KristofferC commented 1 month ago

Should be fixed