-
Notifications
You must be signed in to change notification settings - Fork 16
Language Server can crash due to bad Base override #388
Copy link
Copy link
Open
Description
function Base.getproperty(NotType, x::Symbol)
return "Dummy string"
endI had meant to write Base.getproperty(::NotType, x::Symbol) but mis-typed.
Unfortunately the server does not operate in isolation, so the result is:
2025-12-13 13:30:51.801 [error] Stopping server failed
Message: Cannot call write after a stream was destroyed
Code: -32099
2025-12-13 13:30:51.801 [error] Stopping server failed
Message: Cannot call write after a stream was destroyed
Code: -32099
2025-12-13 13:30:51.801 [error] Stopping server failed
Message: Cannot call write after a stream was destroyed
Code: -32099
2025-12-13 13:30:51.802 [info] [JETLS-stderr] error in running finalizer: Core.MethodError(f=Base.close, args=("Dummy string",), world=0x0000000000009ee0)
2025-12-13 13:30:51.802 [info] [JETLS-stderr] jl_method_error_bare at /cache/build/builder-amdci5-2/julialang/julia-release-1-dot-12/src/gf.c:3039
2025-12-13 13:30:51.802 [info] [JETLS-stderr] jl_method_error at /cache/build/builder-amdci5-2/julialang/julia-release-1-dot-12/src/gf.c:3057
2025-12-13 13:30:51.802 [info] [JETLS-stderr] jl_f_throw_methoderror at /cache/build/builder-amdci5-2/julialang/julia-release-1-dot-12/src/builtins.c:608 [inlined]
2025-12-13 13:30:51.802 [info] [JETLS-stderr] jl_f_throw_methoderror at /cache/build/builder-amdci5-2/julialang/julia-release-1-dot-12/src/builtins.c:604
2025-12-13 13:30:51.802 [info] [JETLS-stderr] close at /cache/build/builder-amdci5-2/julialang/julia-release-1-dot-12/usr/share/julia/stdlib/v1.12/FileWatching/src/pidfile.jl:350
2025-12-13 13:30:51.802 [info] [JETLS-stderr] unknown function (ip: 0x79a0f9caa0a2) at (unknown file)
2025-12-13 13:30:51.802 [info] [JETLS-stderr] run_finalizer at /cache/build/builder-amdci5-2/julialang/julia-release-1-dot-12/src/gc-common.c:180
2025-12-13 13:30:51.802 [info] [JETLS-stderr] jl_gc_run_finalizers_in_list at /cache/build/builder-amdci5-2/julialang/julia-release-1-dot-12/src/gc-common.c:270
2025-12-13 13:30:51.802 [info] [JETLS-stderr] run_finalizers at /cache/build/builder-amdci5-2/julialang/julia-release-1-dot-12/src/gc-common.c:316
2025-12-13 13:30:51.802 [info] [JETLS-stderr] ijl_atexit_hook at /cache/build/builder-amdci5-2/julialang/julia-release-1-dot-12/src/init.c:292
2025-12-13 13:30:51.802 [info] [JETLS-stderr] ijl_exit at /cache/build/builder-amdci5-2/julialang/julia-release-1-dot-12/src/init.c:196
2025-12-13 13:30:51.802 [info] [JETLS-stderr] ijl_no_exc_handler at /cache/build/builder-amdci5-2/julialang/julia-release-1-dot-12/src/task.c:737
2025-12-13 13:30:51.802 [info] [JETLS-stderr] jl_finish_task at /cache/build/builder-amdci5-2/julialang/julia-release-1-dot-12/src/task.c:348
2025-12-13 13:30:51.802 [info] [JETLS-stderr] start_task at /cache/build/builder-amdci5-2/julialang/julia-release-1-dot-12/src/task.c:1260
2025-12-13 13:30:51.802 [info] [JETLS-stderr] fatal: error thrown and no exception handler available.
2025-12-13 13:30:51.802 [info] [JETLS-stderr] MethodError(
2025-12-13 13:30:51.802 [info] [JETLS-stderr] f=Base.lock, args=("Dummy string",), world=0x0000000000009ee0)
2025-12-13 13:30:51.802 [info] [JETLS-stderr] jl_method_error_bare at /cache/build/builder-amdci5-2/julialang/julia-release-1-dot-12/src/gf.c:3039
2025-12-13 13:30:51.802 [info] [JETLS-stderr] jl_method_error at /cache/build/builder-amdci5-2/julialang/julia-release-1-dot-12/src/gf.c:3057
2025-12-13 13:30:51.802 [info] [JETLS-stderr] jl_f_throw_methoderror at /cache/build/builder-amdci5-2/julialang/julia-release-1-dot-12/src/builtins.c:608 [inlined]
2025-12-13 13:30:51.802 [info] [JETLS-stderr] jl_f_throw_methoderror at /cache/build/builder-amdci5-2/julialang/julia-release-1-dot-12/src/builtins.c:604
2025-12-13 13:30:51.802 [info] [JETLS-stderr] lock at ./condition.jl:75
2025-12-13 13:30:51.802 [info] [JETLS-stderr] _uv_hook_close at ./asyncevent.jl:260
2025-12-13 13:30:51.802 [info] [JETLS-stderr] unknown function (ip: 0x79a0f9caa132) at (unknown file)
2025-12-13 13:30:51.803 [info] [JETLS-stderr] jl_apply at /cache/build/builder-amdci5-2/julialang/julia-release-1-dot-12/src/julia.h:2391 [inlined]
2025-12-13 13:30:51.803 [info] [JETLS-stderr] jl_uv_call_close_callback at /cache/build/builder-amdci5-2/julialang/julia-release-1-dot-12/src/jl_uv.c:168
2025-12-13 13:30:51.803 [info] [JETLS-stderr] jl_uv_closeHandle at /cache/build/builder-amdci5-2/julialang/julia-release-1-dot-12/src/jl_uv.c:188 [inlined]
2025-12-13 13:30:51.803 [info] [JETLS-stderr] jl_uv_closeHandle at /cache/build/builder-amdci5-2/julialang/julia-release-1-dot-12/src/jl_uv.c:172
2025-12-13 13:30:51.804 [info] [JETLS-stderr] uv__finish_close at /workspace/srcdir/libuv/src/unix/core.c:342
2025-12-13 13:30:51.804 [info] [JETLS-stderr] uv__run_closing_handles at /workspace/srcdir/libuv/src/unix/core.c:356
2025-12-13 13:30:51.804 [info] [JETLS-stderr] uv_run at /workspace/srcdir/libuv/src/unix/core.c:445
2025-12-13 13:30:51.804 [info] [JETLS-stderr] ijl_atexit_hook at /cache/build/builder-amdci5-2/julialang/julia-release-1-dot-12/src/init.c:329
2025-12-13 13:30:51.804 [info] [JETLS-stderr] ijl_exit at /cache/build/builder-amdci5-2/julialang/julia-release-1-dot-12/src/init.c:196
2025-12-13 13:30:51.804 [info] [JETLS-stderr] ijl_no_exc_handler at /cache/build/builder-amdci5-2/julialang/julia-release-1-dot-12/src/task.c:737
2025-12-13 13:30:51.804 [info] [JETLS-stderr] jl_finish_task at /cache/build/builder-amdci5-2/julialang/julia-release-1-dot-12/src/task.c:348
2025-12-13 13:30:51.804 [info] [JETLS-stderr] start_task at /cache/build/builder-amdci5-2/julialang/julia-release-1-dot-12/src/task.c:1260
2025-12-13 13:30:51.805 [info] [JETLS-stderr]
2025-12-13 13:30:51.805 [info] [JETLS-stderr] atexit hook threw an error: TypeError(
2025-12-13 13:30:51.805 [info] [JETLS-stderr] func=:typeassert, context="", expected=Bool, got="Dummy string")
2025-12-13 13:30:51.805 [info] [JETLS-stderr] ijl_type_error_rt at /cache/build/builder-amdci5-2/julialang/julia-release-1-dot-12/src/rtutils.c:121
2025-12-13 13:30:51.805 [info] [JETLS-stderr] ijl_type_error at /cache/build/builder-amdci5-2/julialang/julia-release-1-dot-12/src/rtutils.c:139
2025-12-13 13:30:51.805 [info] [JETLS-stderr] _trylock at ./lock.jl:176
2025-12-13 13:30:51.805 [info] [JETLS-stderr] trylock at ./lock.jl:171 [inlined]
2025-12-13 13:30:51.805 [info] [JETLS-stderr] lock at ./lock.jl:195 [inlined]
2025-12-13 13:30:51.805 [info] [JETLS-stderr] macro expansion at ./lock.jl:374 [inlined]
2025-12-13 13:30:51.805 [info] [JETLS-stderr] _atexit at ./initdefs.jl:447
2025-12-13 13:30:51.805 [info] [JETLS-stderr] unknown function (ip: 0x79a0f9ca9994) at (unknown file)
2025-12-13 13:30:51.805 [info] [JETLS-stderr] jl_apply at /cache/build/builder-amdci5-2/julialang/julia-release-1-dot-12/src/julia.h:2391 [inlined]
2025-12-13 13:30:51.805 [info] [JETLS-stderr] ijl_atexit_hook at /cache/build/builder-amdci5-2/julialang/julia-release-1-dot-12/src/init.c:260
2025-12-13 13:30:51.805 [info] [JETLS-stderr] ijl_exit at /cache/build/builder-amdci5-2/julialang/julia-release-1-dot-12/src/init.c:196
2025-12-13 13:30:51.805 [info] [JETLS-stderr] ijl_no_exc_handler at /cache/build/builder-amdci5-2/julialang/julia-release-1-dot-12/src/task.c:737
2025-12-13 13:30:51.805 [info] [JETLS-stderr] throw_internal at /cache/build/builder-amdci5-2/julialang/julia-release-1-dot-12/src/task.c:775
2025-12-13 13:30:51.805 [info] [JETLS-stderr] ijl_throw at /cache/build/builder-amdci5-2/julialang/julia-release-1-dot-12/src/task.c:794
2025-12-13 13:30:51.805 [info] [JETLS-stderr] jl_method_error_bare at /cache/build/builder-amdci5-2/julialang/julia-release-1-dot-12/src/gf.c:3039
2025-12-13 13:30:51.805 [info] [JETLS-stderr] jl_method_error at /cache/build/builder-amdci5-2/julialang/julia-release-1-dot-12/src/gf.c:3057
2025-12-13 13:30:51.805 [info] [JETLS-stderr] jl_f_throw_methoderror at /cache/build/builder-amdci5-2/julialang/julia-release-1-dot-12/src/builtins.c:608 [inlined]
2025-12-13 13:30:51.805 [info] [JETLS-stderr] jl_f_throw_methoderror at /cache/build/builder-amdci5-2/julialang/julia-release-1-dot-12/src/builtins.c:604
2025-12-13 13:30:51.805 [info] [JETLS-stderr] lock at ./condition.jl:75
2025-12-13 13:30:51.805 [info] [JETLS-stderr] _uv_hook_close at ./asyncevent.jl:260
2025-12-13 13:30:51.805 [info] [JETLS-stderr] unknown function (ip: 0x79a0f9caa132) at (unknown file)
2025-12-13 13:30:51.805 [info] [JETLS-stderr] jl_apply at /cache/build/builder-amdci5-2/julialang/julia-release-1-dot-12/src/julia.h:2391 [inlined]
2025-12-13 13:30:51.805 [info] [JETLS-stderr] jl_uv_call_close_callback at /cache/build/builder-amdci5-2/julialang/julia-release-1-dot-12/src/jl_uv.c:168
2025-12-13 13:30:51.805 [info] [JETLS-stderr] jl_uv_closeHandle at /cache/build/builder-amdci5-2/julialang/julia-release-1-dot-12/src/jl_uv.c:188 [inlined]
2025-12-13 13:30:51.805 [info] [JETLS-stderr] jl_uv_closeHandle at /cache/build/builder-amdci5-2/julialang/julia-release-1-dot-12/src/jl_uv.c:172
2025-12-13 13:30:51.805 [info] [JETLS-stderr] uv__finish_close at /workspace/srcdir/libuv/src/unix/core.c:342
2025-12-13 13:30:51.805 [info] [JETLS-stderr] uv__run_closing_handles at /workspace/srcdir/libuv/src/unix/core.c:356
2025-12-13 13:30:51.805 [info] [JETLS-stderr] uv_run at /workspace/srcdir/libuv/src/unix/core.c:445
2025-12-13 13:30:51.805 [info] [JETLS-stderr] ijl_atexit_hook at /cache/build/builder-amdci5-2/julialang/julia-release-1-dot-12/src/init.c:329
2025-12-13 13:30:51.805 [info] [JETLS-stderr] ijl_exit at /cache/build/builder-amdci5-2/julialang/julia-release-1-dot-12/src/init.c:196
2025-12-13 13:30:51.805 [info] [JETLS-stderr] ijl_no_exc_handler at /cache/build/builder-amdci5-2/julialang/julia-release-1-dot-12/src/task.c:737
2025-12-13 13:30:51.805 [info] [JETLS-stderr] jl_finish_task at /cache/build/builder-amdci5-2/julialang/julia-release-1-dot-12/src/task.c:348
2025-12-13 13:30:51.805 [info] [JETLS-stderr] start_task at /cache/build/builder-amdci5-2/julialang/julia-release-1-dot-12/src/task.c:1260
2025-12-13 13:30:51.806 [info] [JETLS-stderr]
2025-12-13 13:30:51.806 [info] [JETLS-stderr] [15421] signal 11 (1): Segmentation fault
2025-12-13 13:30:51.806 [info] [JETLS-stderr] in expression starting at none:0
2025-12-13 13:30:51.817 [info] [JETLS-stderr] _ZNK4llvm3EVT16isExtendedVectorEv at /home/topolarity/.julia/juliaup/julia-1.12.2+0.x64.linux.gnu/bin/../lib/julia/libLLVM.so.18.1jl (unknown line)
2025-12-13 13:30:51.817 [info] [JETLS-stderr] _ZNK4llvm18TargetLoweringBase17getTypeConversionERNS_11LLVMContextENS_3EVTE at /home/topolarity/.julia/juliaup/julia-1.12.2+0.x64.linux.gnu/bin/../lib/julia/libLLVM.so.18.1jl (unknown line)
2025-12-13 13:30:51.908 [info] [jetls-client] JETLS process exited with code: 1
Perhaps fixable if the server is able to operate in a fixed world?
The other big problem is that (if I understand correctly), the Base.getproperty evaluation "actually happens" and then cannot be easily undone, except by relying on Revise to remove the Method, hopefully in a way that restores the pre-definition MethodTable state.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels