Skip to content

create_app never finishes on Julia v1.11.1 when JULIA_NUM_THREADS is set #990

Open
@juanromerohb

Description

@juanromerohb

The same app I was successfully compiling in Julia v.1.10.6 under 15 minutes no longer compiles after updating Julia to v1.11.1.

It stucks +20 minutes on

⠸ [03m:30s] PackageCompiler: compiling nonincremental system image

The error that it shows me after Ctrl^C is

InterruptException:
Stacktrace:
  [1] try_yieldto(undo::typeof(Base.ensure_rescheduled))       
    @ Base .\task.jl:958
  [2] wait()
    @ Base .\task.jl:1022
  [3] wait(c::Base.GenericCondition{Base.Threads.SpinLock}; first::Bool)
    @ Base .\condition.jl:130
  [4] wait
    @ .\condition.jl:125 [inlined]
  [5] wait(x::Base.Process, syncd::Bool)
    @ Base .\process.jl:694
  [6] wait
    @ .\process.jl:687 [inlined]
  [7] success
    @ .\process.jl:556 [inlined]
  [8] run(::Cmd; wait::Bool)
    @ Base .\process.jl:513
  [9] run
    @ .\process.jl:510 [inlined]
 [10] #20
    @ C:\Users\juanh\.julia\packages\PackageCompiler\dFEAA\ext\TerminalSpinners.jl:157 [inlined]
 [11] spin(f::PackageCompiler.var"#20#22"{Cmd}, s::PackageCompiler.TerminalSpinners.Spinner{Base.TTY})
    @ PackageCompiler.TerminalSpinners C:\Users\juanh\.julia\packages\PackageCompiler\dFEAA\ext\TerminalSpinners.jl:164       
 [12] macro expansion
    @ C:\Users\juanh\.julia\packages\PackageCompiler\dFEAA\ext\TerminalSpinners.jl:157 [inlined]
 [13] 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}, precompile_statements_file::Vector{String}, cpu_target::String, script::Nothing, sysimage_build_args::Cmd, extra_precompiles::String, incremental::Bool, import_into_main::Bool)      
    @ PackageCompiler C:\Users\juanh\.julia\packages\PackageCompiler\dFEAA\src\PackageCompiler.jl:134
 [14] create_sysimg_object_file
    @ C:\Users\juanh\.julia\packages\PackageCompiler\dFEAA\src\PackageCompiler.jl:315 [inlined]
 [15] create_sysimage(packages::Vector{String}; sysimage_path::String, project::String, precompile_execution_file::Vector{String}, precompile_statements_file::Vector{String}, incremental::Bool, filter_stdlibs::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::Nothing, soname::Nothing, compat_level::String, extra_precompiles::String, import_into_main::Bool)
    @ PackageCompiler C:\Users\juanh\.julia\packages\PackageCompiler\dFEAA\src\PackageCompiler.jl:652
 [16] create_sysimage
    @ C:\Users\juanh\.julia\packages\PackageCompiler\dFEAA\src\PackageCompiler.jl:540 [inlined]
 [17] create_app(package_dir::String, app_dir::String; executables::Nothing, precompile_execution_file::Vector{String}, precompile_statements_file::Vector{String}, incremental::Bool, filter_stdlibs::Bool, force::Bool, c_driver_program::String, cpu_target::String, include_lazy_artifacts::Bool, sysimage_build_args::Cmd, include_transitive_dependencies::Bool, include_preferences::Bool, script::Nothing)
    @ PackageCompiler C:\Users\juanh\.julia\packages\PackageCompiler\dFEAA\src\PackageCompiler.jl:899
 [18] create_app(package_dir::String, app_dir::String)
    @ PackageCompiler C:\Users\juanh\.julia\packages\PackageCompiler\dFEAA\src\PackageCompiler.jl:842
 [19] top-level scope
    @ REPL[4]:1
 [20] eval
    @ .\boot.jl:430 [inlined]
 [21] eval
    @ .\Base.jl:130 [inlined]
 [22] repleval(m::Module, code::Expr, ::String)
    @ VSCodeServer c:\Users\juanh\.vscode\extensions\julialang.language-julia-1.127.2\scripts\packages\VSCodeServer\src\repl.jl:229
 [23] #112
    @ c:\Users\juanh\.vscode\extensions\julialang.language-julia-1.127.2\scripts\packages\VSCodeServer\src\repl.jl:192 [inlined]
 [24] with_logstate(f::VSCodeServer.var"#112#114"{Module, Expr, REPL.LineEditREPL, REPL.LineEdit.Prompt}, logstate::Base.CoreLogging.LogState)
    @ Base.CoreLogging .\logging\logging.jl:522
 [25] with_logger
    @ .\logging\logging.jl:632 [inlined]
 [26] (::VSCodeServer.var"#111#113"{Module, Expr, REPL.LineEditREPL, REPL.LineEdit.Prompt})()
    @ VSCodeServer c:\Users\juanh\.vscode\extensions\julialang.language-julia-1.127.2\scripts\packages\VSCodeServer\src\repl.jl:193
 [27] #invokelatest#2
    @ .\essentials.jl:1055 [inlined]
 [28] invokelatest(::Any)
    @ Base .\essentials.jl:1052
 [29] (::VSCodeServer.var"#64#65")()
    @ VSCodeServer c:\Users\juanh\.vscode\extensions\julialang.language-julia-1.127.2\scripts\packages\VSCodeServer\src\eval.jl:34

The difference I noted was that before PackageCompiler: compiling fresh sysimage (incremental=false), it throws me thousands of warnings like these

Warning: .drectve `-exclude-symbols:"julia_IRInterpretationState_54964.reloc_slot" ' unrecognized
Warning: .drectve `-exclude-symbols:"julia_YY.tarjanNOT.YY.379_64959.reloc_slot" ' unrecognized
Warning: .drectve `-exclude-symbols:jl_fvar_count_5 ' unrecognized
Warning: .drectve `-exclude-symbols:jl_fvar_ptrs_5 ' unrecognized
Warning: .drectve `-exclude-symbols:jl_clone_slots_5 ' unrecognized
Warning: .drectve `-exclude-symbols:jl_clone_idxs_5 ' unrecognized
Warning: corrupt .drectve at end of def file
Warning: .drectve `-exclude-symbols:jl_shard_tables ' unrecognized
Warning: .drectve `-exclude-symbols:jl_pgcstack_func_slot ' unrecognized
Warning: .drectve `-exclude-symbols:jl_pgcstack_key_slot ' unrecognized
Warning: .drectve `-exclude-symbols:jl_tls_offset ' unrecognized
Warning: .drectve `-exclude-symbols:jl_ptls_table ' unrecognized
Warning: .drectve `-exclude-symbols:jl_small_typeof ' unrecognized

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions