julia-vscode / SymbolServer.jl

Other
22 stars 31 forks source link

Segfault scanning package that depends on CondaPkg / PythonCall #265

Open ssfrr opened 1 year ago

ssfrr commented 1 year ago

VSCode was failing to scan for symbols, and always failing on the same package. So I manually ran from a REPL and got a segfault:

julia> SymbolServer.symbols(env)                                                                                                                                                              

signal (11): Segmentation fault                                                                                                                                                               
in expression starting at REPL[8]:1                                                                                                                                                           
_Py_INCREF at /usr/local/src/conda/python-3.10.9/Include/object.h:472 [inlined]                                                                                                               
_PyEval_MakeFrameVector at /usr/local/src/conda/python-3.10.9/Python/ceval.c:4824                                                                                                             
_PyEval_Vector at /usr/local/src/conda/python-3.10.9/Python/ceval.c:5057 [inlined]                                                                                                            
_PyFunction_Vectorcall at /usr/local/src/conda/python-3.10.9/Objects/call.c:342                                                                                                               
PyObject_CallObject at /home/ubuntu/.julia/packages/PythonCall/XgP8G/src/cpython/pointers.jl:297 [inlined]                                                                                    
macro expansion at /home/ubuntu/.julia/packages/PythonCall/XgP8G/src/Py.jl:131 [inlined]                                                                                                      
pycallargs at /home/ubuntu/.julia/packages/PythonCall/XgP8G/src/abstract/object.jl:153 [inlined]                                                                                              
#pycall#57 at /home/ubuntu/.julia/packages/PythonCall/XgP8G/src/abstract/object.jl:171                                                                                                        
pycall at /home/ubuntu/.julia/packages/PythonCall/XgP8G/src/abstract/object.jl:161 [inlined]                                                                                                  
#_#11 at /home/ubuntu/.julia/packages/PythonCall/XgP8G/src/Py.jl:360 [inlined]                                                                                                                
Py at /home/ubuntu/.julia/packages/PythonCall/XgP8G/src/Py.jl:360 [inlined]                                                                                                                   
getdoc at /home/ubuntu/.julia/packages/PythonCall/XgP8G/src/Py.jl:460                                                                                                                         
getdoc at ./docs/Docs.jl:271                                                                                                                                                                  
_doc at /home/ubuntu/.julia/packages/SymbolServer/LMSFX/src/utils.jl:194                                                                                                                      
#symbols#22 at /home/ubuntu/.julia/packages/SymbolServer/LMSFX/src/symbols.jl:458                                                                                                             
symbols##kw at /home/ubuntu/.julia/packages/SymbolServer/LMSFX/src/symbols.jl:404 [inlined]                                                                                                   
#symbols#22 at /home/ubuntu/.julia/packages/SymbolServer/LMSFX/src/symbols.jl:463                                                                                                             
symbols at /home/ubuntu/.julia/packages/SymbolServer/LMSFX/src/symbols.jl:404 [inlined]                                                                                                       
symbols at /home/ubuntu/.julia/packages/SymbolServer/LMSFX/src/symbols.jl:404 [inlined]
symbols at /home/ubuntu/.julia/packages/SymbolServer/LMSFX/src/symbols.jl:404 [inlined]
symbols at /home/ubuntu/.julia/packages/SymbolServer/LMSFX/src/symbols.jl:404
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2247 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2429
jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1788 [inlined]
do_call at /buildworker/worker/package_linux64/build/src/interpreter.c:126
eval_value at /buildworker/worker/package_linux64/build/src/interpreter.c:215
...

Julia version v1.7.3, SymbolServer v7.2.1, PythonCall v0.8.0, CondaPkg v0.2.17

ssfrr commented 1 year ago

Seems like a duplicate of https://github.com/julia-vscode/LanguageServer.jl/issues/1054, though this repo is maybe where it belongs.