Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sysimage precompilation error on Github CI / Docker image #266

Open
olivierlabayle opened this issue Dec 19, 2023 · 0 comments
Open

Sysimage precompilation error on Github CI / Docker image #266

olivierlabayle opened this issue Dec 19, 2023 · 0 comments
Labels
bug Something isn't working

Comments

@olivierlabayle
Copy link

Hi,

I am trying to build an app with Comonicon but the sysimage creation fails when loading my Package in the Julia script generated by PackageCompiler. (This line:)

Base.require(Base.PkgId(Base.UUID("2573d147-4098-46ba-9db2-8608d210ccac"), "TargetedEstimation"))

This is apparently (see stacktrace below) because of the following Comonicon line: src/frontend/cast.jl#L529

$doc = @doc(COMMAND_ENTRY_DOC_STUB)

I can successfuly build the app on a local linux machine but it fails on both a Github CI runner (Ubuntu 22.04.3 LTS) and a Julia official docker container on the same github CI runner. This makes me think it must be due to some environment variable but can't really figure it out. I think I understood that bandwith is low and would be grateful for any help or hint for what is happening if any idea comes to mind.

The full stacktrace:

- PackageCompiler: compiling incremental system image
ERROR: LoadError: UndefRefError: access to undefined reference
Stacktrace:
  [1] getproperty
    @ ./Base.jl:37 [inlined]
  [2] getindex
    @ ./refvalue.jl:56 [inlined]
  [3] docm(source::LineNumberNode, mod::Module, ex::Any)
    @ Base.Docs ./docs/Docs.jl:522
  [4] var"@doc"(__source__::LineNumberNode, __module__::Module, x::Vararg{Any})
    @ Core ./boot.jl:539
  [5] include
    @ ./Base.jl:457 [inlined]
  [6] _require(pkg::Base.PkgId, env::Nothing)
    @ Base ./loading.jl:1840
  [7] _require_prelocked(uuidkey::Base.PkgId, env::Nothing)                                                                                                                                           [0/89]
    @ Base ./loading.jl:1660
  [8] _require_prelocked
    @ ./loading.jl:1658 [inlined]
  [9] macro expansion
    @ ./lock.jl:267 [inlined]
 [10] require(uuidkey::Base.PkgId)
    @ Base ./loading.jl:1655
 [11] top-level scope
    @ /tmp/jl_KtIZE74vMr:268
in expression starting at /home/runner/.julia/packages/Comonicon/AXDxW/src/frontend/cast.jl:529
in expression starting at /home/runner/work/TargetedEstimation.jl/TargetedEstimation.jl/src/TargetedEstimation.jl:1
in expression starting at /tmp/jl_KtIZE74vMr:268
ERROR: failed process: Process(`/opt/hostedtoolcache/julia/1.9.4/x64/bin/julia --color=yes --startup-file=no --pkgimages=no --cpu-target=native --sysimage=/opt/hostedtoolcache/julia/1.9.4/x64/lib/julia/sy
s.so --project=/home/runner/work/TargetedEstimation.jl/TargetedEstimation.jl --output-o=/tmp/jl_wHqZoTgvsv.o /tmp/jl_KtIZE74vMr`, ProcessExited(1)) [1]

Stacktrace:
  [1] pipeline_error
    @ ./process.jl:565 [inlined]
  [2] run(::Cmd; wait::Bool)
    @ Base ./process.jl:480
  [3] run
    @ ./process.jl:477 [inlined]
  [4] #20
    @ ~/.julia/packages/PackageCompiler/1fx6C/ext/TerminalSpinners.jl:157 [inlined]
  [5] spin(f::PackageCompiler.var"#20#22"{Cmd}, s::PackageCompiler.TerminalSpinners.Spinner{Base.TTY})
    @ PackageCompiler.TerminalSpinners ~/.julia/packages/PackageCompiler/1fx6C/ext/TerminalSpinners.jl:164
  [6] macro expansion
    @ ~/.julia/packages/PackageCompiler/1fx6C/ext/TerminalSpinners.jl:157 [inlined]
  [7] create_sysimg_object_file(object_file::String, packages::Vector{String}, packages_sysimg::Set{Base.PkgId}; project::String, base_sysimage::String, precompile_execution_file::Vector{String}, precompi
le_statements_file::Vector{String}, cpu_target::String, script::Nothing, sysimage_build_args::Cmd, extra_precompiles::String, incremental::Bool)
    @ PackageCompiler ~/.julia/packages/PackageCompiler/1fx6C/src/PackageCompiler.jl:134
  [8] create_sysimg_object_file
    @ ~/.julia/packages/PackageCompiler/1fx6C/src/PackageCompiler.jl:310 [inlined]
  [9] create_sysimage(packages::Vector{String}; sysimage_path::String, project::String, precompile_execution_file::Vector{String}, precompile_statements_file::Vector{String}, incremental::Bool, filter_std
libs::Bool, cpu_target::String, script::Nothing, sysimage_build_args::Cmd, include_transitive_dependencies::Bool, base_sysimage::Nothing, julia_init_c_file::Nothing, julia_init_h_file::Nothing, version::N
othing, soname::Nothing, compat_level::String, extra_precompiles::String)
    @ PackageCompiler ~/.julia/packages/PackageCompiler/1fx6C/src/PackageCompiler.jl:620
 [10] top-level scope
    @ REPL[5]:1

Version of the package:

Comonicon v1.0.6
Julia 1.9.4

@olivierlabayle olivierlabayle added the bug Something isn't working label Dec 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant