JuliaGraphs / Graphs.jl

An optimized graphs package for the Julia programming language
http://juliagraphs.org/Graphs.jl/
Other
459 stars 91 forks source link

`EXCEPTION_ACCESS_VIOLATION` on Windows #311

Closed LawsonSarah closed 1 year ago

LawsonSarah commented 1 year ago

Description of bug Failed to recompile when using Graphs

How to reproduce julia> using Graphs

Expected behavior to be able to compile Graphs package

Actual behavior Produced error report: Exception: EXCEPTION_ACCESS_VIOLATION at 0x7ffd77ccd93f -- jl_insert_methods at C:/workdir/src\dump.c:2326 [inlined] _jl_restore_incremental at C:/workdir/src\dump.c:3375 in expression starting at C:\Users\sarit.julia\packages\ArnoldiMethod\JdEiw\src\ArnoldiMethod.jl:4 jl_insert_methods at C:/workdir/src\dump.c:2326 [inlined] _jl_restore_incremental at C:/workdir/src\dump.c:3375 ijl_restore_incremental at C:/workdir/src\dump.c:3436 _include_from_serialized at .\loading.jl:807 _require_search_from_serialized at .\loading.jl:1039 _require at .\loading.jl:1315 _require_prelocked at .\loading.jl:1200 macro expansion at .\loading.jl:1180 [inlined] macro expansion at .\lock.jl:223 [inlined] require at .\loading.jl:1144 jfptr_require_26555.clone_1 at C:\Users\sarit\AppData\Local\Programs\Julia-1.8.5\lib\julia\sys.dll (unknown line) jl_apply at C:/workdir/src\julia.h:1843 [inlined] call_require at C:/workdir/src\toplevel.c:462 [inlined] eval_import_path at C:/workdir/src\toplevel.c:499 jl_toplevel_eval_flex at C:/workdir/src\toplevel.c:725 jl_eval_module_expr at C:/workdir/src\toplevel.c:203 [inlined] jl_toplevel_eval_flex at C:/workdir/src\toplevel.c:709 jl_toplevel_eval_flex at C:/workdir/src\toplevel.c:850 ijl_toplevel_eval at C:/workdir/src\toplevel.c:915 [inlined] ijl_toplevel_eval_in at C:/workdir/src\toplevel.c:965 eval at .\boot.jl:368 [inlined] include_string at .\loading.jl:1428 _include at .\loading.jl:1488 include at .\Base.jl:419 [inlined] include_package_for_output at .\loading.jl:1554 jfptr_include_package_for_output_51114.clone_1 at C:\Users\sarit\AppData\Local\Programs\Julia-1.8.5\lib\julia\sys.dll (unknown line) jl_apply at C:/workdir/src\julia.h:1843 [inlined] do_call at C:/workdir/src\interpreter.c:126 eval_value at C:/workdir/src\interpreter.c:215 eval_stmt_value at C:/workdir/src\interpreter.c:166 [inlined] eval_body at C:/workdir/src\interpreter.c:612 jl_interpret_toplevel_thunk at C:/workdir/src\interpreter.c:750 jl_toplevel_eval_flex at C:/workdir/src\toplevel.c:906 jl_toplevel_eval_flex at C:/workdir/src\toplevel.c:850 ijl_toplevel_eval at C:/workdir/src\toplevel.c:915 [inlined] ijl_toplevel_eval_in at C:/workdir/src\toplevel.c:965 eval at .\boot.jl:368 [inlined] include_string at .\loading.jl:1428 include_string at .\loading.jl:1438 exec_options at .\client.jl:301 _start at .\client.jl:522 jfptr__start_54247.clone_1 at C:\Users\sarit\AppData\Local\Programs\Julia-1.8.5\lib\julia\sys.dll (unknown line) jl_apply at C:/workdir/src\julia.h:1843 [inlined] true_main at C:/workdir/src\jlapi.c:575 jl_repl_entrypoint at C:/workdir/src\jlapi.c:719 mainCRTStartup at C:/workdir/cli\loader_exe.c:59 BaseThreadInitThunk at C:\WINDOWS\System32\KERNEL32.DLL (unknown line) RtlUserThreadStart at C:\WINDOWS\SYSTEM32\ntdll.dll (unknown line) Allocations: 2906 (Pool: 2895; Big: 11); GC: 0 ERROR: LoadError: Failed to precompile ArnoldiMethod [ec485272-7323-5ecc-a04f-4719b315124d] to C:\Users\sarit.julia\compiled\v1.8\ArnoldiMethod\jl_7FF9.tmp. Stacktrace: [1] error(s::String) @ Base .\error.jl:35 [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, keep_loaded_modules::Bool) @ Base .\loading.jl:1707 [3] compilecache @ .\loading.jl:1651 [inlined] [4] _require(pkg::Base.PkgId) @ Base .\loading.jl:1337 [5] _require_prelocked(uuidkey::Base.PkgId) @ Base .\loading.jl:1200 [6] macro expansion @ .\loading.jl:1180 [inlined] [7] macro expansion @ .\lock.jl:223 [inlined] [8] require(into::Module, mod::Symbol) @ Base .\loading.jl:1144 [9] include @ .\Base.jl:419 [inlined] [10] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt64}}, source::Nothing) @ Base .\loading.jl:1554 [11] top-level scope @ stdin:1 in expression starting at C:\Users\sarit.julia\packages\Graphs\FXxqo\src\Graphs.jl:1 in expression starting at stdin:1 ERROR: Failed to precompile Graphs [86223c79-3864-5bf0-83f7-82e725a168b6] to C:\Users\sarit.julia\compiled\v1.8\Graphs\jl_7DB8.tmp. Stacktrace: [1] error(s::String) @ Base .\error.jl:35 [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, keep_loaded_modules::Bool) @ Base .\loading.jl:1707 [3] compilecache @ .\loading.jl:1651 [inlined] [4] _require(pkg::Base.PkgId) @ Base .\loading.jl:1337 [5] _require_prelocked(uuidkey::Base.PkgId) @ Base .\loading.jl:1200 [6] macro expansion @ .\loading.jl:1180 [inlined] [7] macro expansion @ .\lock.jl:223 [inlined] [8] require(into::Module, mod::Symbol) @ Base .\loading.jl:1144

Code demonstrating bug julia> using Graphs

Version information 'Julia Version 1.8.5 (2023-01-08))

'Status C:\Users\sarit\.julia\environments\v1.8\Project.toml [86223c79] Graphs v1.9.0'

Additional context Add any other context about the problem here.

gdalle commented 1 year ago

This seems like a Windows-specific error, where Julia tries to write / read somewhere it doesn't have access to. Does it happen with other packages?

LawsonSarah commented 1 year ago

I tried it with LightGraphs.jl too today and that also failed but previous installed packages are fine.

LawsonSarah commented 1 year ago

I have done the following and it seems to now work: updated packages in Julia removed LightGraphs so I could update ArnoldiMethod.jl Updated Julia to 1.9.3 Added new 1.9.3 kernal to Juypterlab

gdalle commented 1 year ago

Glad it finally works! Must have been a corrupted installation somewhere. Don't forget to replace LightGraphs with Graphs everywhere in your code, otherwise I think you're good 😉

LawsonSarah commented 1 year ago

Thank you. Im newish to Julia and github so appreciate your help!