marius311 / CMBLensing.jl

The automatically differentiable and GPU-compatible toolkit for CMB analysis.
https://cosmicmar.com/CMBLensing.jl
Other
52 stars 10 forks source link

Support for nightly #81

Closed timholy closed 1 year ago

timholy commented 2 years ago

I'm willing to work on https://discourse.julialang.org/t/help-building-mwe-for-1-8-latency-regression/84796, but the package currently struggles on nightly (which is where all fixes to Julia occur). Would someone be willing to get it working, and then I can take it from there?

Current error:

  ✗ CMBLensing
  124 dependencies successfully precompiled in 79 seconds. 62 already precompiled.

ERROR: The following 1 direct dependency failed to precompile:

CMBLensing [b60c06c0-7e54-11e8-3788-4bd722d65317]

Failed to precompile CMBLensing [b60c06c0-7e54-11e8-3788-4bd722d65317] to /home/tim/.julia/compiled/v1.9/CMBLensing/jl_4JRAiB.
ERROR: LoadError: MethodError: no method matching _truncate_at_width_or_chars(::String, ::Int64)

Closest candidates are:
  _truncate_at_width_or_chars(::Bool, ::Any, ::Any)
   @ Base show.jl:79
  _truncate_at_width_or_chars(::Bool, ::Any, ::Any, ::Any)
   @ Base show.jl:79
  _truncate_at_width_or_chars(::Bool, ::Any, ::Any, ::Any, ::Any)
   @ Base show.jl:79

Stacktrace:
  [1] var"@⌛"(__source__::LineNumberNode, __module__::Module, args::Vararg{Any})
    @ CMBLensing ~/.julia/dev/CMBLensing/src/util.jl:416
  [2] #macroexpand#61
    @ ./expr.jl:119 [inlined]
  [3] macroexpand
    @ ./expr.jl:117 [inlined]
  [4] docm(source::LineNumberNode, mod::Module, meta::Any, ex::Any, define::Bool) (repeats 2 times)
    @ Base.Docs ./docs/Docs.jl:538
  [5] (::DocStringExtensions.var"#35#36"{typeof(DocStringExtensions.template_hook)})(::LineNumberNode, ::Vararg{Any})
    @ DocStringExtensions ~/.julia/packages/DocStringExtensions/fF54E/src/templates.jl:11
  [6] var"@doc"(__source__::LineNumberNode, __module__::Module, x::Vararg{Any})
    @ Core ./boot.jl:534
  [7] include(mod::Module, _path::String)
    @ Base ./Base.jl:434
  [8] include(x::String)
    @ CMBLensing ~/.julia/dev/CMBLensing/src/CMBLensing.jl:2
  [9] top-level scope
    @ ~/.julia/dev/CMBLensing/src/CMBLensing.jl:110
 [10] include
    @ ./Base.jl:434 [inlined]
 [11] 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:1617
 [12] top-level scope
    @ stdin:1
in expression starting at /home/tim/.julia/dev/CMBLensing/src/numerical_algorithms.jl:51
in expression starting at /home/tim/.julia/dev/CMBLensing/src/numerical_algorithms.jl:51
in expression starting at /home/tim/.julia/dev/CMBLensing/src/CMBLensing.jl:2
in expression starting at stdin:1

julia> methods(Base._truncate_at_width_or_chars)
# 3 methods for generic function "_truncate_at_width_or_chars" from Base:
 [1] _truncate_at_width_or_chars(ignore_ansi::Bool, str, width)
     @ show.jl:79
 [2] _truncate_at_width_or_chars(ignore_ansi::Bool, str, width, chars)
     @ show.jl:79
 [3] _truncate_at_width_or_chars(ignore_ansi::Bool, str, width, chars, truncmark)
     @ show.jl:79

xref https://github.com/JuliaLang/julia/pull/37568 for the change that might have broken your package. (Which is a fine change since it's an internal method.)

marius311 commented 2 years ago

Hey Tim, many thanks for offering to do this. Will work on getting this working on nightly and get back to you here. Indeed some stuff that came out of that exploration (eg https://github.com/SciML/Static.jl/issues/77) seemed much improved on nightly even before any of those resulting PRs, so perhaps there actually won't be much work to do, we'll see.

marius311 commented 1 year ago

Closing since I think things are solved now https://discourse.julialang.org/t/help-building-mwe-for-1-8-latency-regression/84796/12?u=marius311