-
-
Notifications
You must be signed in to change notification settings - Fork 5.7k
Closed
Milestone
Description
With the new binding rules there are many patterns used in the wild that now causes UndefVarError. The amount of breakage is a bit too high in my opinion so it would be good to see if some mechanisms could be created that would soften this breakage. Some patterns:
using+ trying to access variable: https://github.com/JuliaLang/PrecompileTools.jl/blob/61138b566718652a4033f528ff2dcabcf4cff2cb/test/runtests.jl#L177-L180@evalglobal variable then try to access: https://github.com/matsueushi/RoundingEmulator.jl/blob/4ac8f5ee7103fdbbd0d57e160b9218bf9de559be/test/setrounding_raw.jl#L23-L37
~ 150 packages fail with some Zygote issue:
Failed to precompile Zygote [e88e6eb3-aa80-5325-afca-941959d7151f] to "/home/pkgeval/.julia/compiled/v1.12/Zygote/jl_xJEA0V".
WARNING: Detected access to binding `Forward._pushforward` in a world prior to its definition world.
Julia 1.12 has introduced more strict world age semantics for global bindings.
!!! This code may malfunction under Revise.
!!! This code will error in future versions of Julia.
Hint: Add an appropriate `invokelatest` around the access to this binding.
ERROR: LoadError: UndefVarError: `chain_rrule` not defined in `Base`
Stacktrace:
[1] macro expansion
@ ~/.julia/packages/Zygote/TWpme/src/compiler/interface2.jl:-1 [inlined]
[2] _pullback(::Zygote.Context{false}, ::typeof(>), ::Int64, ::Int64)
@ Zygote ~/.julia/packages/Zygote/TWpme/src/compiler/interface2.jl:91
[3] _pullback(::Zygote.Context{false}, ::typeof(Zygote.pow), ::Int64, ::Int64)
@ Zygote ~/.julia/packages/Zygote/TWpme/src/compiler/interface2.jl:91
[4] pullback(::Function, ::Zygote.Context{false}, ::Int64, ::Vararg{Int64})
@ Zygote ~/.julia/packages/Zygote/TWpme/src/compiler/interface.jl:90
The set of packages that fail with `UndefVarError`
PrecompileTools
Requires
EnzymeCore
RoundingEmulator
LoweredCodeUtils
CompTime
CryptoGroups
FlatBuffers
RecurrenceAnalysis
GeoParams
BlockTensorKit
CTBase
Tensorial
TemporalGPs
DimensionfulAngles
Tracy
ADOLC
IntervalLinearAlgebra
CSDP
PowerSystemCaseBuilder
GridMaps
AStarGridSearch
AdaptiveSparseGrids
XDiag
RustFFT
Presentation
XmlStructWriter
ToyPublicKeys
JuDGE
CircleFit
AbsSmoothFrankWolfe
PowerModelsAnnex
RadiationPatterns
SphericalScattering
SUNRepresentations
CategoryData
IESopt
HomalgProject
RHEOS
PowerPlots
ConstrainedDynamicsVis
Tasmanian
ForestMensuration
Supernovae
NuclearToolkit
CropRootBox
Packages that fail with Zygote undefvar error:
SymbolicIndexingInterface
Functors
Roots
SciMLJacobianOperators
Optimisers
MLUtils
SymbolicUtils
MarchingCubes
LinearOperators
CoordRefSystems
LogDensityProblemsAD
DataScienceTraits
TransmuteDims
GeoTables
DifferentiableFlatten
AbstractGPs
AbstractDifferentiation
NonconvexCore
GeoStatsBase
ReinforcementLearningCore
ParameterHandling
FourierTools
PrimitiveOneHot
VLBILikelihoods
JOLI
ReinforcementLearning
GeoStatsFunctions
ParameterSchedulers
EnergySamplers
GeoStatsModels
MLJFlux
ExponentialAction
ForwardDiffPullbacks
StandardizedRestrictedBoltzmannMachines
GPLikelihoods
BaytesMCMC
JUDI
UnderwaterAcoustics
GslibIO
FluxTraining
NonconvexIpopt
AutoDiffOperators
QuantumGradientGenerators
SliceMap
OptimizationNLopt
NonconvexMMA
CallableExpressions
GCMAES
ControllerFormats
ProximalAlgorithms
CenteredRBMs
Stheno
NonconvexSemidefinite
NonconvexPercival
JetPack
GeoIO
UnitfulChainRules
DiffImageRotation
RadonKA
TensorGames
BayesianLinearRegressors
DistributionMeasures
GraphSignals
CoordGridTransforms
ParametricMCPs
DifferentiableTrajectoryOptimization
ReinforcementLearningFarm
SurrogatesRandomForest
WaveOpticsPropagation
CountriesBorders
ReinforcementLearningZoo
RvSpectML
LoopFieldCalc
FactorLoadingMatrices
CannotWaitForTheseOptimisers
PositionalEmbeddings
AllocArrays
FinancialToolbox
MonotonicSplines
IsingModels
AdvRBMs
FlashAttentionWrapper
DifferentiableExpectations
PottsGumbelRBMLayers
LinearMixingModels
RandomFeatureMaps
BigO
DifferentiableFrankWolfe
SignalTemporalLogic
SNOW
ThermodynamicIntegration
NonconvexSearch
NonconvexNLopt
LowRankLayers
NonconvexMetaheuristics
FieldTracer
GraphNets
DiscoDiff
RecurrentLayers
LuxTestUtils
InvariantPointAttention
RobustNeuralNetworks
NonconvexNOMAD
ConjugateComputationVI
GaussianVariationalInference
MeshIntegrals
RelevancePropagation
MarginalLogDensities
TuringBenchmarking
OptimizationManopt
DiffFusion
DeconvOptim
JsonGrinder
DerivableFunctions
OptimizationFlux
MixtureDensityNetworks
DrillHoles
SuperfluidRotSpec
UlamMethod
SymbolicAnalysis
GlobalApproximationValueIteration
ParametrisedConvexApproximators
JointEnergyModels
RegressionDiscontinuity
GeoGrids
DeepQLearning
Gogeta
ObjectDetector
NonconvexJuniper
NonconvexPavito
CompressedBeliefMDPs
NonconvexBayesian
RvLineList
ColBERT
LocalAnisotropies
GeoStats
GeometricFlux
NeuralEstimators
ClapeyronHANNA
ElectrochemicalKinetics
ChainPlots
TaijaData
SimulatedNeuralMoments
Microstructure
PlantGeom
SwissVAMyKnife
TaijaPlotting
Metadata
Metadata
Assignees
Labels
No labels