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

Julia 1.11: warning, precompile directives failed #780

Open
mkitti opened this issue Nov 28, 2023 · 6 comments
Open

Julia 1.11: warning, precompile directives failed #780

mkitti opened this issue Nov 28, 2023 · 6 comments
Labels
outside limit Feature depends on changes in another package

Comments

@mkitti
Copy link
Contributor

mkitti commented Nov 28, 2023

I have not investigated this thoroughly yet, but I've seen this a few times while using Julia 1.11.

julia> using SnoopCompile
Precompiling SnoopCompile
  30 dependencies successfully precompiled in 115 seconds. 32 already precompiled.
  1 dependency had output during precompilation:
┌ Revise
│  ┌ Warning: precompile directive
│  │     precompile(Tuple{mbody.sig.parameters[1], Symbol, Bool, Bool, typeof(pairs(NamedTuple())), typeof(methods_by_execution!), Any, MI, DocExprs, Module, Expr})
│  │ failed. Please report an issue in Revise (after checking for duplicates) or remove this directive.
│  └ @ Revise ~/.julia/packages/Revise/xRltd/src/precompile.jl:65
│  ┌ Warning: precompile directive
│  │     precompile(Tuple{mbody.sig.parameters[1], Symbol, Bool, Bool, Iterators.Pairs{Symbol, Bool, Tuple{Symbol}, NamedTuple{(:skip_include,), Tuple{Bool}}}, typeof(methods_by_execution!), Any, MI, DocExprs, Module, Expr})
│  │ failed. Please report an issue in Revise (after checking for duplicates) or remove this directive.
│  └ @ Revise ~/.julia/packages/Revise/xRltd/src/precompile.jl:66
│  ┌ Warning: precompile directive
│  │     precompile(Tuple{mbody.sig.parameters[1], Symbol, Bool, typeof(methods_by_execution!), Any, MI, DocExprs, Frame, Vector{Bool}})
│  │ failed. Please report an issue in Revise (after checking for duplicates) or remove this directive.
│  └ @ Revise ~/.julia/packages/Revise/xRltd/src/precompile.jl:69
└  
[ Info: Precompiling SnoopCompile [aa65fe97-06da-5843-b5b1-d5d13cad87d2]
@jishnub
Copy link

jishnub commented Dec 2, 2023

Duplicate of the less clearly titled #777

@IanButterworth
Copy link
Contributor

@timholy I spent some time trying to figure these out but couldn't. If you can give any guidance I can try again

@timholy
Copy link
Owner

timholy commented Dec 31, 2023

The issue is probably that LoweredCodeUtils.bodymethod fails on nightly. So presumably the first step is to get LoweredCodeUtils passing on nightly. Fair warning, fixing such issues can sometimes be a bit scary (e.g., JuliaDebug/LoweredCodeUtils.jl#87). I may be able to take a look at it in the next few days.

@timholy timholy added the outside limit Feature depends on changes in another package label Dec 31, 2023
@ctkelley
Copy link
Contributor

ctkelley commented Dec 31, 2023

The good news is that revise still seems to work correctly.

@timholy
Copy link
Owner

timholy commented Jan 10, 2024

This will be fixed by JuliaDebug/LoweredCodeUtils.jl#95. But I am a little reluctant to release it because I don't share @ctkelley's confidence; indeed, CI tells us that Revise is (partially) broken on nightly. The failures are reasonably isolated, so it may be OK in many situations, but this is still very much in a use-at-your-own-risk scenario.

@oscardssmith
Copy link
Contributor

should we merge that PR? Less broken seems like an improvement to me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
outside limit Feature depends on changes in another package
Projects
None yet
Development

No branches or pull requests

6 participants