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

Backports release 1.12 #57871

Merged
merged 13 commits into from
Mar 26, 2025
Merged

Backports release 1.12 #57871

merged 13 commits into from
Mar 26, 2025

Conversation

KristofferC
Copy link
Member

@KristofferC KristofferC commented Mar 24, 2025

Backported PRs:

Need manual backport:

Non-merged PRs with backport label:

oscardssmith and others added 4 commits March 24, 2025 08:45
Previously this was just overfowing producing wrong answers (both for
the sign convention and just the wrong modulo class)
fixes #57851

(cherry picked from commit 0568917)
## Context

We send a signal 15 to shutdown our servers.

We noticed that some of our servers that receive the termination signal
are segfaulting in GC, which leads to false alarms in our internal
monitors that track GC-related crashes.

## Hypothesis

We suspect this pathological case may be happening:

- Process receives signal 15, which is captured by the signal listener
thread.
- Signal listener initiates process' teardown (e.g. through `raise`).
- IIRC such operation is not atomic in Linux, i.e. the kernel will
gradually kill the threads, but it's possible for us to spent a few ms
in a state where part of the threads in the system are alive, and part
have already been killed (this point needs some confirmation).
- With part of the process alive, and part of the process dead, we try
to enter a GC, see a bunch of Julia data structures in an
intermediate/corrupted state, which leads us to crash when running the
GC.

## Mitigation

Since our main goal is to get rid of the GC crashes that happen around
server shutdown, we believe that it would be sufficient to just prevent
the last bullet point. I.e. we prevent the system from even running a GC
when we're about to kill the process, and we wait for any ongoing GC to
finish.

Co-debugged with @kpamnany.

(cherry picked from commit e1e3a46)
This is mostly for GPUCompiler

(cherry picked from commit e78cf6c)
@KristofferC
Copy link
Member Author

@nanosoldier runtests(["SIMDTypes", "LazyBroadcast", "SyntaxTree", "MistyClosures", "DontMaterialize", "Fuzzy", "ModuleDocstrings", "Syslogs", "TraceFuns", "CatViews", "TypeTree", "Bits", "FindDefinition", "ExprTools", "MultiThreadedCaches", "FuzzyCompletions", "CoverageTools", "WidthLimitedIO", "SingleFloats", "WithAlloc", "CountFlops", "InterProcessCommunication", "OverflowContexts", "StringAlgorithms", "CellLists", "MappedArrays", "MallocArrays", "PtrArrays", "CompTime", "Recyclers", "InternedStrings", "OperatorScaling", "Infinities", "PrecompileTools", "OptimalSortingNetworks", "RNGPool", "Adapt", "RoundingEmulator", "NarrativeTest", "ReferenceImplementations", "EnzymeCore", "StarAlgebras", "FunctionFusion", "ThreadLocalCounters", "Match", "RuntimeGeneratedFunctions", "ChangePrecision", "BracedErrors", "YaoHIR", "FieldFlags", "TestEnv", "BSON", "TypeStability", "FlatBuffers", "Interfaces", "KeywordCalls", "CommonRLInterface", "Spec", "Abaco", "Umlaut", "NormalHermiteSplines", "JACC", "MicroFloatingPoints", "LoweredCodeUtils", "BorrowChecker", "Hygienic", "FileCmp", "LambertW", "Baobzi", "HeterogeneousComputing", "TypedSyntax", "LMDB", "ResumableFunctions", "DotCall", "GAFramework", "CellularAutomata", "DRIPs", "GridMaps", "TrixiBase", "PlutoMonacoEditor", "COESA", "SortedVectors", "Tracy", "MixedStructTypes", "Colors", "StaticArraysBlasInterfaces", "TimeRecords", "RBNF", "ScikitSpatial", "SimpleExpressions", "Cliffords", "CircularArrayBuffers", "PlutoHooks", "MaybeInplace", "BibInternal", "BitBasis", "ForwardMethods", "ProgressMeter", "RollingWindowArrays", "OpenQASM", "JuliaWorkspaces", "SimJulia", "BioAtomsCount", "Mueller", "FixedPointDecimals", "BioVossEncoder", "DimensionfulAngles", "NL2sol", "ConstraintCommons", "Accessors", "HypertextTemplates", "AStarGridSearch", "QuanticsGrids", "GenericSchur", "PiecewiseLinearFunctions", "GeometryTypes", "PDMats", "SimpleI18n", "StaticLint", "BioMarkovChains", "ShortFFTs", "LaTeXEscapes", "PDDL", "ConcurrentSim", "GraphQLGen", "SHTns", "Divergences", "ADTypes", "ODEInterface", "RNGTest", "MultiBroadcastFusion", "NiLang", "PolarizedTypes", "GitCommand", "XDiag", "DispatchDoctor", "DiffieHellman", "AutoPrettyPrinting", "CallableExpressions", "SnapshotTests", "LaTeXTabulars", "MCP2221Driver", "FCSFiles", "DifferentiableFlatten", "Binning2D", "Delaunator", "DiscretePIDs", "DocSeeker", "Cosmology", "RustFFT", "SMCExamples", "PositionalEmbeddings", "CayleyMengerDeterminant", "LinearMapsAA", "SigmaProofs", "GenericLinearAlgebra", "FINUFFT", "FiniteDifferences", "WGSLTypes", "Cthulhu", "InteractiveErrors", "Revise", "CellArrays", "BoundedDegreeGraphs", "FastCholesky", "FastPower", "DynamicQuantumCircuits", "SpectralKit", "ConvexHulls2d", "ShuffleProofs", "UnitfulAssets", "RRTMGP", "MarchingCubes", "OpenSSLGroups", "ColPack", "UCX", "AccessorsExtra", "MarkovKernels", "SquashFS", "QuadGK", "FeatureSelection", "InPartS", "Stencils", "AllocCheck", "InteratomicPotentials", "SolverTools", "NearestNeighborDescent", "TerminalGat", "NLSolvers", "Polyester", "NonhomotheticCES", "AtomicSymmetries", "PlayingCards", "DuckDB", "GPUCompiler", "LibFaceDetection", "WannierIO", "OpticalPropagation", "TypedMatrices", "StructArrays", "NestedGraphs", "ADOLC", "QuasiArrays", "LatinHypercubeSampling", "MolecularMinimumDistances", "GridWorlds", "PAndQ", "OpenDSSDirect", "PkgJogger", "JET", "NeidArchive", "QXZoo", "ExifViewer", "LogDensityProblemsAD", "AdmittanceModels", "StableHashTraits", "ExaTron", "Proj", "QEDcore", "HuggingFaceTokenizers", "LFRBenchmarkGraphs", "Term", "CharacteristicInvFourier", "LinkedInAPI", "NLPModelsModifiers", "AprilTags", "MathematicalSystems", "PyQDecoders", "LinearAlgebraForCAP", "PyBullet", "Groups", "FiniteHorizonGramians", "ImageShow", "DictArrays", "SparseIR", "PyFOOOF", "YAAD", "PyMNE", "Pyehtim", "BurrowsWheelerAligner", "QEDprocesses", "ParaReal", "FixedEffects", "IntervalLinearAlgebra", "CometLogger", "LinearElasticityBase", "UnitfulLinearAlgebra", "DedekindCutArithmetic", "Presentation", "QuantumAlgebra", "Toolips", "Rotations", "Norg", "EnergyExpressions", "PyCallJLD2", "DoubleFloats", "QEDfields", "Wandb", "TransformVariables", "EcRequests", "DiffPointRasterisation", "Kronecker", "StructuredLight", "ImageMagick", "NearestCorrelationMatrix", "XmlStructWriter", "MonotonicSplines", "PyThermo", "Quante", "AtiyahBott", "CCBlade", "SymPyCore", "SparseMatrixColorings", "MatrixFactorizations", "ConstitutiveModels", "BibParser", "DataToolkit", "AngularMomentumAlgebra", "Bibliography", "FoldRNA", "AbstractNeuralNetworks", "ThermiaAPI", "ScHoLP", "TensorCrossInterpolation", "SymbolicIndexingInterface", "AutoDiffOperators", "PythonPlot", "Quaternionic", "Tensors", "RationalPolygons", "ConstrainedShortestPaths", "FinancialToolbox", "NeptuneAILogger", "SymbolicWedderburn", "MacOSIOReport", "NomnomlJS", "ToyPublicKeys", "LandauDistribution", "FiberNlse", "Herb", "SparseMatricesCOO", "JustPIC", "MvNormalCalibration", "DiscreteChoiceCalculations", "Air", "ASEconvert", "SoleBase", "ImplicitGlobalGrid", "DataToolkitCommon", "ParametricBodies", "SLEEFMath", "Seaborn", "Experimenter", "CCDReduction", "DistributionFits", "ComradeBase", "Ephemerides", "NCDatasets", "Dynesty", "TrustRegionMethods", "CliqueTrees", "SymFEL", "HopTB", "PiccoloQuantumObjects", "RangeEnclosures", "CatBoost", "FactorRotations", "JuDGE", "NeutralLandscapes", "BlackBoxOptim", "FrechetDist", "TuePlots", "ContinuumArrays", "ConstrainedControl", "SymPyPythonCall", "OutlierDetectionPython", "QEDevents", "PlutoStyles", "LaTeXCompilers", "GraphPPL", "AtomsIOPython", "ConstrainedDynamics", "PlutoTeachingTools", "PlutoSplitter", "QuantumElectrodynamics", "MonteCarloSummary", "SimilaritySearch", "FlashAttentionWrapper", "SpatialEcology", "HiddenMarkovModels", "Ipaper", "JupyterPlutoConverter", "SunAsAStar", "ConstraintDomains", "MultiScaleTreeGraph", "AbstractLogic", "StaticWebPages", "ReinforcementLearningTrajectories", "TemporalGPs", "PRASCapacityCredits", "AutomotiveSimulator", "ShiftedProximalOperators", "Speasy", "TopologicalNumbers", "BitSAD", "PlutoPlotly", "LaserTypes", "DifferentiableExpectations", "SlidingDistancesBase", "AbsSmoothFrankWolfe", "IntervalMDP", "Octavian", "StrategicGames", "MicroMagnetic", "ShaneGPUCountMinSketch", "ExplainableAI", "UMAP", "ChowLiuTrees", "PyPlotUtils", "IndexSpaces", "PowerModelsAnnex", "ChaChaCiphers", "WaterModels", "CSDP", "Santiago", "MatrixProfile", "AstroForceModels", "NeumannKelvin", "SciMLJacobianOperators", "Gaugefields", "MLUtils", "Galley", "Synaptogen", "LuxCUDA", "GEMPIC", "VLBILikelihoods", "SlottedRandomAccess", "EnergyModelsRenewableProducers", "InventoryManagement", "FastTransforms", "PolynomialAmoebas", "VlasiatorPyPlot", "ZarrDatasets", "DifferentiableFrankWolfe", "InfiniteOpt", "OSQP", "Gtk", "DoseCalculators", "RegressionDynamicCausalModeling", "RadiationPatterns", "SeeToDee", "BayesianQuadrature", "CUDASIMDTypes", "TwoDots", "Mice", "PoincareInvariants", "XCALibre", "Mango", "ElementaryFluxModes", "InspectDR", "TransferFunctions", "GtkSourceWidget", "SymbolicUtils", "TransmuteDims", "SimulationLogs", "Maxnet", "SignalTemporalLogic", "AbstractCosmologicalEmulators", "EwaldSummations", "GEOTRACES", "PrefectInterfaces", "BlochSimulators", "MTH229", "BcdiStrain", "DACE", "TensorCast", "ReferenceFiniteElements", "DocstringAsImage", "FeynmanDiagram", "ApproxFunFourier", "MarkovChainHammer", "LowLevelParticleFilters", "GraphSignals", "KiteUtils", "OrdinaryDiffEqFeagin", "ODE", "RegNets", "EHTUVData", "Sensemakr", "DifferentiableMetabolism", "FinEtools", "InfrastructureSystems", "TokenCompression", "KomaMRICore", "ArDCA", "EtherSPH", "TensorKitSectors", "MaterialPointGenerator", "FourierFlows", "ProfileView", "OrdinaryDiffEqAdamsBashforthMoulton", "SphericalScattering", "TestImages", "Jadex", "VLBIImagePriors", "SignalAlignment", "ODEInterfaceDiffEq", "XGBoost", "EmpiricalPotentials", "FiniteElementContainers", "HuggingFaceDatasets", "TensorOperationsTBLIS", "SimSpread", "OrdinaryDiffEqSSPRK", "SIMIlluminationPatterns", "MRFingerprintingRecon", "DynamicHMC", "JOLI", "GraphsOptim", "RigorousCoupledWaveAnalysis", "ImageGather", "ImageSegmentation", "PhysicalMeshes", "SpinGlassTensors", "DrugInteractions", "CudaRBMs", "Gadfly", "PySA", "Polynomials4ML", "SparseKmeansFeatureRanking", "DecisionMakingPolicies", "SUNRepresentations", "CaratheodoryFejerApprox", "PhysicalFFT", "LinearRegressionKit", "PassiveTracerFlows", "DECAES", "EclipsingBinaryStars", "TransitionsInTimeseries", "PowerSystemCaseBuilder", "VisualRegressionTests", "JUDI", "PsychomotorVigilanceTask", "TwoDotsModels", "PhysicalFDM", "PsychometricsBazaarBase", "MCMCDebugging", "FusibleBroadcasts", "SimpleBoundaryValueDiffEq", "ConstraintExplorer", "ParallelAnalysis", "CategoryData", "Wflow", "PALEOboxes", "TaylorInversion", "Jabalizer", "GilaElectromagnetics", "OrdinaryDiffEqExtrapolation", "MPIMeasurements", "StartUpDG", "RecurrentLayers", "GMT", "UnROOT", "GeophysicalFlows", "MRISimulation", "IterativeLQR", "PyBraket", "IESopt", "DynACof", "TimeSeriesClassification", "MaterialPointVisualizer", "BcdiMeso", "ACTRSimulators", "LatticeModels", "BoundaryValueDiffEqMIRKN", "ITensorGPU", "NDTensors", "ImageNetDataset", "SpikeSorting", "EntropyScaling", "Spehulak", "WordCloud", "Qaintmodels", "RHEOS", "OptimizationOptimJL", "ElectronLiquid", "DiffEqFinancial", "RelevancePropagation", "ArviZPythonPlots", "MarginalLogDensities", "EnergySamplers", "PlutoPages", "BLAKJac", "QuantitativeSusceptibilityMappingTGV", "PackageMaker", "TaylorDiff", "GridapTopOpt", "DIVAnd_HFRadar", "DeconvOptim", "MeshIntegrals", "BetaML", "ONSAS", "EvoDynamics", "ExpressionTreeForge", "ConstrainedDynamicsVis", "GeometryOptimization", "ExponentialFamilyManifolds", "PALEOsediment", "FastMPOContractions", "DistributedStwdLDA", "RingStarProblems", "KernelInterpolation", "ComputerAdaptiveTesting", "ProbabilisticCircuits", "Walrus", "FluxTraining", "SourceCodeMcCormick", "Swalbe", "PartiallySeparableNLPModels", "CameraCalibrations", "SwitchOnSafety", "DynamicMovementPrimitives", "QSFit", "GenericCharacterTables", "ReinforcementLearningFarm", "SymbolicAnalysis", "PowerPlots", "SpinGlassNetworks", "WaveOpticsPropagation", "GeoStatsFunctions", "TropicalNN", "ImageQuilting", "MGVI", "Phonetics", "DIVAnd", "Tasmanian", "SystemBenchmark", "Omniscape", "ReinforcementLearningCore", "Images", "ImageFeatures", "GeoEstimation", "ColorSchemeTools", "GeometricalOptics", "FastBEAST", "ImageTracking", "PALEOmodel", "LogicCircuits", "ReinforcementLearningZoo", "ScatteringOptics", "FMISensitivity", "DecomposingPolynomialSystems", "MultiStateSystems", "FractionalSystems", "NonconvexJuniper", "MimiRFFSPs", "ECCO", "RvLineList", "GeoStatsTransforms", "Fronts", "GNNGraphs", "LocalAnisotropies", "GtkUtilities", "vSmartMOM", "UnfoldBIDS", "NonlinearSolveHomotopyContinuation", "DiffusionGarnet", "Yunir", "DynamicalSystems", "PortfolioAnalytics", "OptimizationMOI", "ClimaCalibrate", "PowerSystemsMaps", "CellMLToolkit", "HierarchicalGaussianFiltering", "SolverBenchmark", "PRONTO", "MNPDynamics", "WGPUgfx", "GeometricFlux", "ChargeTransport", "HetaSimulator", "Bactos", "OpenQuantumSystems", "Fable", "SequentialSamplingModels", "Pesto", "NuclearToolkit", "DataDrivenDMD", "GeneticsMakie", "DataDrivenSparse", "FSimPlots", "TemporalNetworks", "MAGEMinApp", "DiagrammaticEquations", "QuantumOptics", "TidierPlots", "RigorousInvariantMeasures", "CropRootBox", "Biofilm", "SBMLToolkitTestSuite", "CDGRNs", "TaijaPlotting", "SMLMSim", "CalibrateEmulateSample", "WaveguideQED", "DiskArrayEngine", "Microstructure", "SwissVAMyKnife", "MRINavigator"], vs = ":release-1.11")

@nanosoldier
Copy link
Collaborator

The package evaluation job you requested has completed - possible new issues were detected.
The full report is available.

Report summary

❗ Packages that crashed

14 packages crashed only on the current version.

  • The process was aborted: 1 packages
  • Invalid LLVM IR was generated: 1 packages
  • An internal error was encountered: 10 packages
  • A segmentation fault happened: 2 packages

✖ Packages that failed

587 packages failed only on the current version.

  • Package has syntax issues: 3 packages
  • Package fails to precompile: 265 packages
  • Illegal method overwrites during precompilation: 12 packages
  • Package has test failures: 81 packages
  • Package tests unexpectedly errored: 173 packages
  • Networking-related issues were detected: 1 packages
  • There were unidentified errors: 1 packages
  • Tests became inactive: 5 packages
  • Test duration exceeded the time limit: 44 packages
  • Test log exceeded the size limit: 2 packages

32 packages failed on the previous version too.

✔ Packages that passed tests

37 packages passed tests on the previous version too.

nsajko and others added 8 commits March 26, 2025 14:19
Should prevent some invalidation in the sysimage.

(cherry picked from commit f49f46d)
Should make the sysimage less vulnerable to invalidation.

As far as I understand this change can't break any code, because:
* the macro definition requires `AbstractString`
* the way Julia macros work, the argument is either a literal or an
`Expr`
* `String` is the only `AbstractString` with literals

(cherry picked from commit 87f4d3a)
Should make the sysimage less vulnerable to invalidation.

As far as I understand this change can't break any code, because:
* the macro definition requires `AbstractString`
* the way Julia macros work, the argument is either a literal or an
`Expr`
* `String` is the only `AbstractString` with literals

(cherry picked from commit 7acb2a6)
Fixes this, which breaks expectations from the way `@time` doesn't
introduce a new scope.
```
julia> using Profile

julia> @Profile x = 1
1

julia> x
ERROR: UndefVarError: `x` not defined in `Main`
Suggestion: check for spelling errors or missing imports.
```

(cherry picked from commit d6af199)
When SSL_CERT_FILE or SSL_CERT_DIR is set, it is [impossible to set this
location](https://github.com/libgit2/libgit2/blob/4dcdb64c6844d76776745cdc25071a72c1af84d6/src/libgit2/settings.c#L206-L222)
in LibGit2_jll on Apple and Windows because [it isn't built with support
for
that](https://github.com/JuliaPackaging/Yggdrasil/blob/7123a60a68102ba6cd953e13a4e45845dc37fd82/L/LibGit2/build_tarballs.jl#L67).
Until now we've errored out with a message telling users to set
JULIA_SSL_CA_ROOTS_PATH to an empty string, which is a somewhat
problematic workaround because the Windows environment variables UI
doesn't allow empty values, and [setting it to an empty string from
PowerShell unsets
it](https://discourse.julialang.org/t/how-to-fix-ssl-cert-issues-in-pkg/115495/7?u=visr).
This PR changes the behavior to allow this expected error.

Variables like SSL_CERT_FILE are for instance [set by the Conda OpenSSL
package on environment
activation](https://github.com/conda-forge/openssl-feedstock/blob/83b5e2a793bc95d19e6cc2d9d28068f1a6ff6b79/recipe/activate-win.ps1)
used by e.g. Python, ensuring many people cannot use Pkg operations that
use LibGit2, like `dev Example`, `add Example#master`. See more user
reports [on
Discourse](https://discourse.julialang.org/search?q=JULIA_SSL_CA_ROOTS_PATH).

Together with JuliaLang/NetworkOptions.jl#37
this should improve the experience of users trying out Julia from a
Conda environment. This should also be fine to backport.

(cherry picked from commit 7fa969a)
Addresses part of #57547. Currently, we only show the "all-underscore
variable name not allowed" error when the offending symbol is in value
position according to `compile`, but an earlier pass would keep them as
raw symbols regardless. This led to raw symbols making their way out of
lowering in an edge case.

This change: Reject all-underscore variables unless they're being
written to. Also, improve an error message slighly.

(cherry picked from commit 3360a44)
Fixes a regression introduced in #57755 seen on PkgEval in
#57755 (comment)

(cherry picked from commit 1d2e165)
@KristofferC KristofferC merged commit e892948 into release-1.12 Mar 26, 2025
8 checks passed
@KristofferC KristofferC deleted the backports-release-1.12 branch March 26, 2025 20:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.