GenericMappingTools / GenericMappingTools/GMT.jl
Precompilation failure of GMT.jl v1.42.0 on macOS
- Dominant language
- Julia
- Stars
- 221
- Forks
- 36
- Avg merge
- 1h 36m
- Merged PRs (30d)
- 17
Description
It fails on macOS with Julia 1.12.6 on both Apple Silicon and Intel chip:
```
julia> err
PkgPrecompileError: The following 3 direct dependencies failed to precompile:
GMT
Failed to precompile GMT [5752ebe1-31b9-557e-87aa-f909b540aa54] to "/Users/test/.julia/compiled/v1.12/GMT/jl_YgkuFf".
[37108] signal 6: Abort trap: 6
in expression starting at /Users/test/.julia/packages/GMT/rA3mT/src/GMT.jl:417
__pthread_kill at /usr/lib/system/libsystem_kernel.dylib (unknown line)
Allocations: 255935437 (Pool: 255931851; Big: 3586); GC: 45
GMT → GMTDGTLidarExt
Failed to precompile GMTDGTLidarExt [1f1582e6-6292-5a9d-a98c-a412d01b6888] to "/Users/test/.julia/compiled/v1.12/GMTDGTLidarExt/jl_Wm6xGi".
[37116] signal 6: Abort trap: 6
in expression starting at /Users/test/.julia/packages/GMT/rA3mT/src/GMT.jl:417
__pthread_kill at /usr/lib/system/libsystem_kernel.dylib (unknown line)
Allocations: 256476526 (Pool: 256472917; Big: 3609); GC: 44
ERROR: LoadError: Failed to precompile GMT [5752ebe1-31b9-557e-87aa-f909b540aa54] to "/Users/test/.julia/compiled/v1.12/GMT/jl_jMvxqs".
Stacktrace:
[1] error(s::String)
@ Base ./error.jl:44
[2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, keep_loaded_modules::Bool; flags::Cmd, cacheflags::Base.CacheFlags, reasons::Dict{String, Int64}, loadable_exts::Nothing)
@ Base ./loading.jl:3315
[3] (::Base.var"#__require_prelocked##0#__require_prelocked##1"{Base.PkgId, String, Dict{String, Int64}})()
@ Base ./loading.jl:2683
[4] mkpidlock(f::Base.var"#__require_prelocked##0#__require_prelocked##1"{Base.PkgId, String, Dict{String, Int64}}, at::String, pid::Int32; kwopts::@Kwargs{stale_age::Int64, wait::Bool})
@ FileWatching.Pidfile ~/.julia/juliaup/julia-1.12.6+0.aarch64.apple.darwin14/share/julia/stdlib/v1.12/FileWatching/src/pidfile.jl:96
[5] #mkpidlock#7
@ ~/.julia/juliaup/julia-1.12.6+0.aarch64.apple.darwin14/share/julia/stdlib/v1.12/FileWatching/src/pidfile.jl:91 [inlined]
[6] trymkpidlock(::Function, ::Vararg{Any}; kwargs::@Kwargs{stale_age::Int64})
@ FileWatching.Pidfile ~/.julia/juliaup/julia-1.12.6+0.aarch64.apple.darwin14/share/julia/stdlib/v1.12/FileWatching/src/pidfile.jl:117
[7] #invokelatest_gr#232
@ ./reflection.jl:1297 [inlined]
[8] invokelatest_gr
@ ./reflection.jl:1289 [inlined]
[9] maybe_cachefile_lock(f::Base.var"#__require_prelocked##0#__require_prelocked##1"{Base.PkgId, String, Dict{String, Int64}}, pkg::Base.PkgId, srcpath::String; stale_age::Int64)
@ Base ./loading.jl:3886
[10] maybe_cachefile_lock
@ ./loading.jl:3883 [inlined]
[11] __require_prelocked(pkg::Base.PkgId, env::String)
@ Base ./loading.jl:2669
[12] _require_prelocked(uuidkey::Base.PkgId, env::String)
@ Base ./loading.jl:2495
[13] macro expansion
@ ./loading.jl:2423 [inlined]
[14] macro expansion
@ ./lock.jl:376 [inlined]
[15] __require(into::Module, mod::Symbol)
@ Base ./loading.jl:2388
[16] require(into::Module, mod::Symbol)
@ Base ./loading.jl:2364
[17] top-level scope
@ ~/.julia/packages/GMT/rA3mT/ext/GMTDGTLidarExt/GMTDGTLidarExt.jl:6
[18] include(mod::Module, _path::String)
@ Base ./Base.jl:306
[19] 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, UInt128}}, source::Nothing)
@ Base ./loading.jl:3028
[20] top-level scope
@ stdin:5
[21] eval(m::Module, e::Any)
@ Core ./boot.jl:489
[22] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)
@ Base ./loading.jl:2874
[23] include_string
@ ./loading.jl:2884 [inlined]
[24] exec_options(opts::Base.JLOptions)
@ Base ./client.jl:315
[25] _start()
@ Base ./client.jl:550
in expression starting at /Users/test/.julia/packages/GMT/rA3mT/ext/GMTDGTLidarExt/GMTDGTLidarExt.jl:5
in expression starting at stdin:5
GMT → GMTDataFramesExt
Failed to precompile GMTDataFramesExt [b0121151-b40e-578b-8798-214dacfa5da6] to "/Users/test/.julia/compiled/v1.12/GMTDataFramesExt/jl_359owM".
[37113] signal 6: Abort trap: 6
in expression starting at /Users/test/.julia/packages/GMT/rA3mT/src/GMT.jl:417
__pthread_kill at /usr/lib/system/libsystem_kernel.dylib (unknown line)
Allocations: 256531922 (Pool: 256528312; Big: 3610); GC: 45
ERROR: LoadError: Failed to precompile GMT [5752ebe1-31b9-557e-87aa-f909b540aa54] to "/Users/test/.julia/compiled/v1.12/GMT/jl_nklO5g".
Stacktrace:
[1] error(s::String)
@ Base ./error.jl:44
[2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, keep_loaded_modules::Bool; flags::Cmd, cacheflags::Base.CacheFlags, reasons::Dict{String, Int64}, loadable_exts::Nothing)
@ Base ./loading.jl:3315
[3] (::Base.var"#__require_prelocked##0#__require_prelocked##1"{Base.PkgId, String, Dict{String, Int64}})()
@ Base ./loading.jl:2683
[4] mkpidlock(f::Base.var"#__require_prelocked##0#__require_prelocked##1"{Base.PkgId, String, Dict{String, Int64}}, at::String, pid::Int32; kwopts::@Kwargs{stale_age::Int64, wait::Bool})
@ FileWatching.Pidfile ~/.julia/juliaup/julia-1.12.6+0.aarch64.apple.darwin14/share/julia/stdlib/v1.12/FileWatching/src/pidfile.jl:96
[5] #mkpidlock#7
@ ~/.julia/juliaup/julia-1.12.6+0.aarch64.apple.darwin14/share/julia/stdlib/v1.12/FileWatching/src/pidfile.jl:91 [inlined]
[6] trymkpidlock(::Function, ::Vararg{Any}; kwargs::@Kwargs{stale_age::Int64})
@ FileWatching.Pidfile ~/.julia/juliaup/julia-1.12.6+0.aarch64.apple.darwin14/share/julia/stdlib/v1.12/FileWatching/src/pidfile.jl:117
[7] #invokelatest_gr#232
@ ./reflection.jl:1297 [inlined]
[8] invokelatest_gr
@ ./reflection.jl:1289 [inlined]
[9] maybe_cachefile_lock(f::Base.var"#__require_prelocked##0#__require_prelocked##1"{Base.PkgId, String, Dict{String, Int64}}, pkg::Base.PkgId, srcpath::String; stale_age::Int64)
@ Base ./loading.jl:3886
[10] maybe_cachefile_lock
@ ./loading.jl:3883 [inlined]
[11] __require_prelocked(pkg::Base.PkgId, env::String)
@ Base ./loading.jl:2669
[12] _require_prelocked(uuidkey::Base.PkgId, env::String)
@ Base ./loading.jl:2495
[13] macro expansion
@ ./loading.jl:2423 [inlined]
[14] macro expansion
@ ./lock.jl:376 [inlined]
[15] __require(into::Module, mod::Symbol)
@ Base ./loading.jl:2388
[16] require(into::Module, mod::Symbol)
@ Base ./loading.jl:2364
[17] top-level scope
@ ~/.julia/packages/GMT/rA3mT/ext/GMTDataFramesExt/GMTDataFramesExt.jl:2
[18] include(mod::Module, _path::String)
@ Base ./Base.jl:306
[19] 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, UInt128}}, source::Nothing)
@ Base ./loading.jl:3028
[20] top-level scope
@ stdin:5
[21] eval(m::Module, e::Any)
@ Core ./boot.jl:489
[22] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)
@ Base ./loading.jl:2874
[23] include_string
@ ./loading.jl:2884 [inlined]
[24] exec_options(opts::Base.JLOptions)
@ Base ./client.jl:315
[25] _start()
@ Base ./client.jl:550
in expression starting at /Users/test/.julia/packages/GMT/rA3mT/ext/GMTDataFramesExt/GMTDataFramesExt.jl:1
in expression starting at stdin:5
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reproducing the failure with Julia 1.12.6 on macOS and inspect the precompilation path at src/GMT.jl:417. Then compare the GMTDGTLidarExt and GMTDataFramesExt entry points named in the trace. Done means GMT v1.42.0 and both extensions precompile without the abort on Apple Silicon and Intel.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- julia
- Domain
- data-visualization
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100