precompilepkgs: make the circular dep warning clearer and more informative#56621
precompilepkgs: make the circular dep warning clearer and more informative#56621topolarity merged 13 commits intoJuliaLang:masterfrom
Conversation
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
|
We should probably backport to 1.10 too, since we expect that users will be hitting extension cycles a lot more often on that release. In 1.11 these cycles are supposed to be impossible, except for environment tearing (where you end up with a package graph that doesn't actually Still very good to have (esp. on 1.10), just want to be clear about whether this is a "normal" error any more |
topolarity
left a comment
There was a problem hiding this comment.
Looking great! I think it's much clearer to users what's going on here now.
Thanks for iterating on this @IanButterworth
|
Oh the cycle order does look a bit "backwards" to me I would have expected the dependency of a package to be above it, not below |
I think of it the other way. Matching the sentence order for "Foo depends on Bar, which depends on Baz" |
|
Hmm.. What if we reverse the indentation from greatest to smallest? Does that align our intuitions? |
e39c153 to
56cf730
Compare
Co-Authored-By: Cody Tapscott <84105208+topolarity@users.noreply.github.com>
This reverts commit 2746082.
This is an important optimization for us not to lose, since we scan the deps graph very redundantly.
Co-authored-by: Cody Tapscott <84105208+topolarity@users.noreply.github.com>
56cf730 to
d84aef1
Compare
topolarity
left a comment
There was a problem hiding this comment.
I still find the staircase weird here (and my first instinct is to read it "backwards"), but this is a big improvement and all the functionality looks ship-shape to me
Good to merge, I think!
|
Yeah, lets see what people make of it and tweak if there's concensus |
|
|
…ative (JuliaLang#56621) Was e.g. ``` ┌ Warning: Circular dependency detected. Precompilation will be skipped for: │ Base.PkgId(Base.UUID("eb0c05c4-6780-5852-a67e-5d31d2970b9a"), "ArrayInterfaceTrackerExt") │ Base.PkgId(Base.UUID("f517fe37-dbe3-4b94-8317-1923a5111588"), "Polyester") │ Base.PkgId(Base.UUID("0d7ed370-da01-4f52-bd93-41d350b8b718"), "StaticArrayInterface") │ Base.PkgId(Base.UUID("6a4ca0a5-0e36-4168-a932-d9be78d558f1"), "AcceleratedKernels") │ Base.PkgId(Base.UUID("244f68ed-b92b-5712-87ae-6c617c41e16a"), "NNlibAMDGPUExt") │ Base.PkgId(Base.UUID("06b0261c-7a9b-5753-9bdf-fd6840237b4a"), "StaticArrayInterfaceStaticArraysExt") │ Base.PkgId(Base.UUID("21141c5a-9bdb-4563-92ae-f87d6854732e"), "AMDGPU") │ Base.PkgId(Base.UUID("9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c"), "Tracker") └ @ Base.Precompilation precompilation.jl:511 ``` Now  Thanks to @topolarity figuring out proper cycles tracking. --------- Co-authored-by: Cody Tapscott <topolarity@tapscott.me>
…ative (JuliaLang#56621) Was e.g. ``` ┌ Warning: Circular dependency detected. Precompilation will be skipped for: │ Base.PkgId(Base.UUID("eb0c05c4-6780-5852-a67e-5d31d2970b9a"), "ArrayInterfaceTrackerExt") │ Base.PkgId(Base.UUID("f517fe37-dbe3-4b94-8317-1923a5111588"), "Polyester") │ Base.PkgId(Base.UUID("0d7ed370-da01-4f52-bd93-41d350b8b718"), "StaticArrayInterface") │ Base.PkgId(Base.UUID("6a4ca0a5-0e36-4168-a932-d9be78d558f1"), "AcceleratedKernels") │ Base.PkgId(Base.UUID("244f68ed-b92b-5712-87ae-6c617c41e16a"), "NNlibAMDGPUExt") │ Base.PkgId(Base.UUID("06b0261c-7a9b-5753-9bdf-fd6840237b4a"), "StaticArrayInterfaceStaticArraysExt") │ Base.PkgId(Base.UUID("21141c5a-9bdb-4563-92ae-f87d6854732e"), "AMDGPU") │ Base.PkgId(Base.UUID("9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c"), "Tracker") └ @ Base.Precompilation precompilation.jl:511 ``` Now  Thanks to @topolarity figuring out proper cycles tracking. --------- Co-authored-by: Cody Tapscott <topolarity@tapscott.me>
…and more informative (#56621) (#56677) Was e.g. ``` ┌ Warning: Circular dependency detected. Precompilation will be skipped for: │ Base.PkgId(Base.UUID("eb0c05c4-6780-5852-a67e-5d31d2970b9a"), "ArrayInterfaceTrackerExt") │ Base.PkgId(Base.UUID("f517fe37-dbe3-4b94-8317-1923a5111588"), "Polyester") │ Base.PkgId(Base.UUID("0d7ed370-da01-4f52-bd93-41d350b8b718"), "StaticArrayInterface") │ Base.PkgId(Base.UUID("6a4ca0a5-0e36-4168-a932-d9be78d558f1"), "AcceleratedKernels") │ Base.PkgId(Base.UUID("244f68ed-b92b-5712-87ae-6c617c41e16a"), "NNlibAMDGPUExt") │ Base.PkgId(Base.UUID("06b0261c-7a9b-5753-9bdf-fd6840237b4a"), "StaticArrayInterfaceStaticArraysExt") │ Base.PkgId(Base.UUID("21141c5a-9bdb-4563-92ae-f87d6854732e"), "AMDGPU") │ Base.PkgId(Base.UUID("9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c"), "Tracker") └ @ Base.Precompilation precompilation.jl:511 ``` Now  Co-authored-by: Ian Butterworth <i.r.butterworth@gmail.com>
Was e.g.
Now

Thanks to @topolarity figuring out proper cycles tracking.