lukas-weber / Carlo.jl

Monte Carlo framework that provides MPI parallelization, checkpointing and statistical postprocessing in an algorithm-agnostic way.
MIT License
28 stars 2 forks source link

CI can't pass on Julia 1.10 ubuntu-latest -x86 #10

Closed hz-xiaxz closed 3 months ago

hz-xiaxz commented 3 months ago

Hello! This package runs well on the x64 structure machine but failed on the x86 structure CI, here is the log

ERROR: LoadError: MethodError: no method matching Carlo.Observable(::Int32, ::Int32, ::ElasticArrays.ElasticMatrix{Float64, Vector{Float64}})

Closest candidates are:
  Carlo.Observable(::Int64, ::Int64, ::ElasticArrays.ElasticArray{T, 2, 1, Vector{T}}) where T<:AbstractFloat
   @ Carlo ~/.julia/packages/Carlo/8rtrb/src/observable.jl:7

Stacktrace:
  [1] Carlo.Observable{Float64}(bin_length::Int32, vector_length::Int32)
    @ Carlo ~/.julia/packages/Carlo/8rtrb/src/observable.jl:16
  [2] register_observable!(meas::Carlo.Measurements{Float64}, obsname::Symbol, bin_length::Int32, vector_length::Int32)
    @ Carlo ~/.julia/packages/Carlo/8rtrb/src/measurements.jl:31
  [3] Carlo.MCContext{Random.Xoshiro}(parameters::Dict{Symbol, Any}; seed_variation::Int32)
    @ Carlo ~/.julia/packages/Carlo/8rtrb/src/mc_context.jl:35
  [4] Carlo.Run{Carlo.TestMC, Random.Xoshiro}(params::Dict{Symbol, Any}, comm::MPI.Comm)
    @ Carlo ~/.julia/packages/Carlo/8rtrb/src/run.jl:14
  [5] Carlo.Run{Carlo.TestMC, Random.Xoshiro}(params::Dict{Symbol, Any})
    @ Carlo ~/.julia/packages/Carlo/8rtrb/src/run.jl:13
  [6] start(::Type{Carlo.SingleScheduler}, job::Carlo.JobTools.JobInfo)
    @ Carlo ~/.julia/packages/Carlo/8rtrb/src/scheduler_single.jl:44
  [7] (::Carlo.var"#54#55"{Carlo.JobTools.JobInfo, DataType})()
    @ Carlo ~/.julia/packages/Carlo/8rtrb/src/cli.jl:66
  [8] with_logstate(f::Function, logstate::Any)
    @ Base.CoreLogging ./logging.jl:515
  [9] with_logger
    @ ./logging.jl:627 [inlined]
 [10] cli_run(job::Carlo.JobTools.JobInfo, args::Dict{String, Any})
    @ Carlo ~/.julia/packages/Carlo/8rtrb/src/cli.jl:65
 [11] start(job::Carlo.JobTools.JobInfo, args::Vector{String})
    @ Carlo ~/.julia/packages/Carlo/8rtrb/src/cli.jl:53
 [12] (::Carlo.var"#61#63"{Carlo.JobTools.JobInfo})()
    @ Carlo ~/.julia/packages/Carlo/8rtrb/src/precompile.jl:25
 [13] redirect_stdio(f::Carlo.var"#61#63"{Carlo.JobTools.JobInfo}; stdin::Nothing, stderr::Base.DevNull, stdout::Base.DevNull)
    @ Base ./stream.jl:1413
 [14] redirect_stdio
    @ ./stream.jl:1376 [inlined]
 [15] #60
    @ ~/.julia/packages/Carlo/8rtrb/src/precompile.jl:24 [inlined]
 [16] mktempdir(fn::Carlo.var"#60#62"{Carlo.JobTools.TaskMaker}, parent::String; prefix::String)
    @ Base.Filesystem ./file.jl:766
 [17] mktempdir(fn::Function, parent::String)
    @ Base.Filesystem ./file.jl:762
 [18] macro expansion
    @ ~/.julia/packages/Carlo/8rtrb/src/precompile.jl:14 [inlined]
 [19] macro expansion
    @ ~/.julia/packages/PrecompileTools/L8A3n/src/workloads.jl:78 [inlined]
 [20] macro expansion
    @ ~/.julia/packages/Carlo/8rtrb/src/precompile.jl:6 [inlined]
 [21] macro expansion
    @ ~/.julia/packages/PrecompileTools/L8A3n/src/workloads.jl:140 [inlined]
 [22] top-level scope
    @ ~/.julia/packages/Carlo/8rtrb/src/precompile.jl:139
 [23] include(mod::Module, _path::String)
    @ Base ./Base.jl:495
 [24] include(x::String)
    @ Carlo ~/.julia/packages/Carlo/8rtrb/src/Carlo.jl:1
 [25] top-level scope
    @ ~/.julia/packages/Carlo/8rtrb/src/Carlo.jl:25
 [26] include
    @ ./Base.jl:495 [inlined]
 [27] 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::String)
    @ Base ./loading.jl:2222
 [28] top-level scope
    @ stdin:3
in expression starting at /home/runner/.julia/packages/Carlo/8rtrb/src/precompile.jl:4
in expression starting at /home/runner/.julia/packages/Carlo/8rtrb/src/Carlo.jl:1
in expression starting at stdin:3
ERROR: LoadError: Failed to precompile Carlo [780c37f4-4e5a-43de-9e79-65c261e525a4] to "/home/runner/.julia/compiled/v1.10/Carlo/jl_mnJSqv".
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:2468
  [3] compilecache
    @ ./loading.jl:2340 [inlined]
  [4] (::Base.var"#968#969"{Base.PkgId})()
    @ Base ./loading.jl:[197](https://github.com/hz-xiaxz/FFS-julia/actions/runs/9427236135/job/25971102513#step:6:200)4
  [5] mkpidlock(f::Base.var"#968#969"{Base.PkgId}, at::String, pid::Int32; kwopts::@Kwargs{stale_age::Int32, wait::Bool})
    @ FileWatching.Pidfile /opt/hostedtoolcache/julia/1.10.4/x86/share/julia/stdlib/v1.10/FileWatching/src/pidfile.jl:93
  [6] #mkpidlock#6
    @ /opt/hostedtoolcache/julia/1.10.4/x86/share/julia/stdlib/v1.10/FileWatching/src/pidfile.jl:88 [inlined]
  [7] trymkpidlock(::Function, ::Vararg{Any}; kwargs::@Kwargs{stale_age::Int32})
    @ FileWatching.Pidfile /opt/hostedtoolcache/julia/1.10.4/x86/share/julia/stdlib/v1.10/FileWatching/src/pidfile.jl:111
  [8] #invokelatest#2
    @ ./essentials.jl:894 [inlined]
  [9] invokelatest
    @ ./essentials.jl:889 [inlined]
 [10] maybe_cachefile_lock(f::Base.var"#968#969"{Base.PkgId}, pkg::Base.PkgId, srcpath::String; stale_age::Int32)
    @ Base ./loading.jl:2983
 [11] maybe_cachefile_lock
    @ ./loading.jl:2980 [inlined]
 [12] _require(pkg::Base.PkgId, env::String)
    @ Base ./loading.jl:1970
 [13] __require_prelocked(uuidkey::Base.PkgId, env::String)
    @ Base ./loading.jl:1812
 [14] #invoke_in_world#3
    @ ./essentials.jl:926 [inlined]
 [15] invoke_in_world
    @ ./essentials.jl:923 [inlined]
 [16] _require_prelocked(uuidkey::Base.PkgId, env::String)
    @ Base ./loading.jl:1803
 [17] macro expansion
    @ ./loading.jl:1790 [inlined]
 [18] macro expansion
    @ ./lock.jl:267 [inlined]
 [19] __require(into::Module, mod::Symbol)
    @ Base ./loading.jl:1753
 [20] #invoke_in_world#3
    @ ./essentials.jl:926 [inlined]
 [21] invoke_in_world
    @ ./essentials.jl:923 [inlined]
 [22] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:1746
 [23] include
    @ ./Base.jl:495 [inlined]
 [24] 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:[222](https://github.com/hz-xiaxz/FFS-julia/actions/runs/9427236135/job/25971102513#step:6:225)2
 [25] top-level scope
    @ stdin:3
in expression starting at /home/runner/work/FFS-julia/FFS-julia/src/FastFermionSampling.jl:1
in expression starting at stdin:3
Carlo [780c37f4-4e5a-43de-9e79-65c261e525a4]

it seems like a small problem, can you fix it?