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

Error revising: No method matching a functor created by JLLWrappers #706

Open
mbauman opened this issue Aug 19, 2022 · 1 comment
Open
Labels
needs reproducer Bug report can't be verified without reproducible test case

Comments

@mbauman
Copy link

mbauman commented Aug 19, 2022

This is like the opposite of an MWE, but I've received a report of a Revise evaluation error while updating packages because a gensym'ed functor didn't have a method it was expecting.

(env) pkg> update
Updating registry at ~/.julia/registries/General.toml
Installed StatsPlots ————— v0.15.1
Installed Plots —————————— v1.31.5
Installed Revise ————————— v3.4.0
Installed Interpolations — v0.14.3
┌ Error: Error watching manifest
│   exception =
│    MethodError: no method matching (::HDF5_jll.var"#make_wrapper_dict#6"{HDF5_jll.var"#parse_wrapper_platform#5"})(::String, ::Vector{String})
│    Stacktrace:
│     [1] top-level scope
│       @/.../.julia/packages/JLLWrappers/QpMQW/src/toplevel_generators.jl:156
│    Revise evaluation error at /.../.julia/packages/JLLWrappers/QpMQW/src/toplevel_generators.jl:156
│
│    Stacktrace:
│     [1] methods_by_execution!(recurse::Any, methodinfo::Revise.CodeTrackingMethodInfo, docexprs::Dict{Module, Vector{Expr}}, mod::Module, ex::Expr; mode::Symbol, disablebp::Bool, always_rethrow::Bool, kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
│    @ Revise ~/.julia/packages/Revise/aDRLi/src/lowered.jl:227
└ @ Revise ~/. Julia/packages/Revise/aDRLi/src/pkgs.jl:477
`/.../Project.toml`
[91a5bcad] ↑ Plots v1.31.4 ⇒ v1.31.5
# ...

I've not found this posted before here, but I found a very similar stacktrace on the Julia issue tracker: JuliaLang/julia#34598 (comment). There's quite a similarity here — both are trying to find a method for what look to be anonymous/gensym'ed functor created by a JLLWrappers macro.

ERROR: MethodError: no method matching (::MKL_jll.var"#8#12")(::String)
Stacktrace:
[1] filter(f::MKL_jll.var"#8#12", a::Vector{String})
@ Base array.jl:2448
[2] top-level scope
@ ~/.julia/packages/JLLWrappers/bkwIo/src/toplevel_generators.jl:143
Revise evaluation error at /home/luke/.julia/packages/JLLWrappers/bkwIo/src/toplevel_generators.jl:143

Stacktrace:
[1] methods_by_execution!(recurse::Any, methodinfo::Revise.CodeTrackingMethodInfo, docexprs::Dict{Module, Vector{Expr}}, mod::Module, ex::Expr; mode::Symbol, disablebp::Bool, always_rethrow::Bool, kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ Revise ~/.julia/packages/Revise/OgnOk/src/lowered.jl:232
[2] #eval_with_signatures#92
@ ~/.julia/packages/Revise/OgnOk/src/packagedef.jl:463 [inlined]
[3] instantiate_sigs!(modexsigs::OrderedCollections.OrderedDict{Module, OrderedCollections.OrderedDict{Revise.RelocatableExpr, Union{Nothing, Vector{Any}}}}; mode::Symbol, kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ Revise ~/.julia/packages/Revise/OgnOk/src/packagedef.jl:471
[4] instantiate_sigs!
@ ~/.julia/packages/Revise/OgnOk/src/packagedef.jl:468 [inlined]
[5] maybe_extract_sigs!
@ ~/.julia/packages/Revise/OgnOk/src/pkgs.jl:145 [inlined]
[6] (::Revise.var"#44#45"{String})()
@ Revise ~/.julia/packages/Revise/OgnOk/src/pkgs.jl:526
[7] with_logstate(f::Function, logstate::Any)
@ Base.CoreLogging ./logging.jl:511
[8] with_logger
@ ./logging.jl:623 [inlined]
[9] watch_manifest(mfile::String)
@ Revise ~/.julia/packages/Revise/OgnOk/src/pkgs.jl:505
[10] (::Revise.TaskThunk)()
@ Revise ~/.julia/packages/Revise/OgnOk/src/types.jl:272
@timholy
Copy link
Owner

timholy commented Sep 14, 2022

This may be a naming inconsistency, i.e., an instance of gensymmed names changing because Revise has to re-parse the source code. AFAICT the true fix is to move pieces of Revise into Base, but that's still a bit in the future.

@timholy timholy added the needs reproducer Bug report can't be verified without reproducible test case label Jan 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs reproducer Bug report can't be verified without reproducible test case
Projects
None yet
Development

No branches or pull requests

2 participants