Skip to content

Conversation

@DilumAluthge
Copy link
Member

@DilumAluthge DilumAluthge commented Jan 14, 2026

Backported PRs:

Need manual backport:

Contains multiple commits, manual intervention needed:

Non-merged PRs with backport label:

M-PERSIC and others added 10 commits January 14, 2026 17:43
This is as an alternative to changing all allocation functions to
mutating all memory and returning an aliasing pointer. This operates
usually late in the pipeline, so either should not make much difference,
but I think it should suffice to mark this volatile to prevent any
de-duplication of this load, and this should also be most conservative
for GC but more liberal for other optimizations.

Fixes #59547

Produced with dubious help by Claude.

(cherry picked from commit 218f691)
)

Currently we support removing GPL dependencies in the full source build.
This will also remove the GPL dependencies from the binary-dist target
when built with JLLs.

I almost feel like it would be simpler to have a new
SuiteSparse_NOGPL_jll package. Then in the default build, things stay as
they are. In the no gpl build use the new JLL. In the no GPL build, if
someone then tries to use a GPL SuiteSparse library, a warning can be
printed asking them to get a different build of Julia.

@DilumAluthge @andreasnoack @giordano Thoughts?

Co-authored-by: Viral B. Shah <ViralBShah@users.noreply.github.com>
(cherry picked from commit 441ebf9)
Fix the unbounded possible corruption of the user input by reverting to
a non-scoped begin instead of let.

```julia
julia> ex = Base.remove_linenums!(:(using A; using B; using C)); REPL.Numbered.get_usings!([], ex)
2-element Vector{Any}:
 :(using A)
 :(using C)

julia> ex
quote
    using B
end
```

(cherry picked from commit 05c07e1)
…50874)" (#59736)

This reverts commit eb4416b.

As of LLVM 16, we automatically emit:
```
.drectve `-exclude-symbols:"<symbol>"`
```

which mitigates this issue where it is supported by the linker (GCC 11+
and LLD 14+ are tested working)

PackageCompiler on Windows now ships GCC 14
(JuliaLang/PackageCompiler.jl#1012), so we
should no longer need this workaround that can make a 15-minute sysimage
compilation take an hour+

(cherry picked from commit 1cba9c2)
`$(build_datarootdir)/lib/julia` doesn't exist, libraries are in
`$(build_private_libdir)`.

See https://github.com/JuliaLang/julia/pull/59627/files#r2510807584.

(cherry picked from commit bf7e52b)
When starting julia, `Base.Filesystem.TEMP_CLEANUP` should be empty,
but is being left with these two files. The proposed fix is to set up
temporary files created by function `generate_precompile_statements` in
`contrib/generate_precompile.jl` to have no automatic cleanup. This
won't do harm since they will be removed by the cleanup of the
temporary directory created by the call to `mktempdir` in function
`generate_precompile_statements` (see the call `rm(tmpdir,
recursive=true)` in `base/file.jl`). These should be removed by the
atexit hook, but we didn't run `Base.__init__` or
`Base.Filesystem.__postinit__` hooks to re-register this cleanup
handler in the sys.so generation process (only in sysbase.so).

To test this issue, one can do:
`$ mkdir $TMPDIR/JuliaBuild`
`$ OLDTMPDIR=$TMPDIR`
`$ export TMPDIR=$TMPDIR/JuliaBuild`
`$ cd <julia's build root>`
`$ <build julia>`
`$ strings usr/lib/julia/sys.dylib|less # shows that the temp. dir.
JuliaBuild is hardcoded in the binaries`
`$ TMPDIR=$OLDTMPDIR`
`$ chmod u-x $TMPDIR/JuliaBuild`
`$ <run the built julia with ./julia and exit> # should try to use
$TMPDIR/JuliaBuild which is now inaccessible`

Without the fix, the last step triggers the infinite loop of ``Failed to
clean up temporary path''. With the fix, one can see that the binaries
(`usr/lib/julia/sys.dylib`) do not contain the temp. dir. anymore, and
the infinite loop of errors is not triggered.

Or simply by observing that `./julia -E 'Base.Filesystem.TEMP_CLEANUP'`
is not empty.

Fix #60078

(cherry picked from commit 1eea4b6)
It was exported in v1.7, not v1.10: #39588

(cherry picked from commit 1067db8)
@DilumAluthge DilumAluthge added the release Release management and versioning. label Jan 14, 2026
This removes the test file
`test/llvmpasses/gc-writebarrier-volatile.ll`, which is an llvmpasses
test that was added in PR #59559.

PR #59559 (commit
218f691)
is being backported to Julia 1.11 in commit
078105d.

The test doesn't work on Julia 1.11, because Julia 1.11 uses an older
LLVM version than Julia master.

Therefore, this commit drops the test. The remainder of the backport
commit
(078105d)
is left unmodified.
@DilumAluthge DilumAluthge self-assigned this Jan 19, 2026
Since this task's stack or scope field could have been modified after it
was marked by an incremental collection (and not just for copy stacks),
move the barrier back unconditionally here.

---------

Co-authored-by: Valentin Churavy <v.churavy@gmail.com>
Co-authored-by: Jeff Bezanson <jeff.bezanson@gmail.com>
(cherry picked from commit 14ca1ab)
@DilumAluthge DilumAluthge force-pushed the backports-release-1.11 branch from 3d73b64 to 29b3528 Compare January 19, 2026 19:28
@DilumAluthge
Copy link
Member Author

@nanosoldier runtests(ALL, vs = "#v1.11.8")

…60750)

I'm only backporting this because I know we're doing another 1.11
release anyway. This fixes bugs with GPUCompiler.jl that would otherwise
require expensive workarounds for every GPU kernel launch.
@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

3 packages crashed only on the current version.

  • The process was aborted: 1 packages
  • An internal error was encountered: 1 packages
  • A segmentation fault happened: 1 packages

86 packages crashed on the previous version too.

✖ Packages that failed

26 packages failed only on the current version.

  • Package has test failures: 2 packages
  • Package tests unexpectedly errored: 3 packages
  • Tests became inactive: 2 packages
  • Test duration exceeded the time limit: 17 packages
  • Test log exceeded the size limit: 2 packages

3340 packages failed on the previous version too.

✔ Packages that passed tests

29 packages passed tests only on the current version.

  • Other: 29 packages

6504 packages passed tests on the previous version too.

➖ Packages that were skipped altogether

1 packages were skipped only on the current version.

  • Package could not be installed: 1 packages

1329 packages were skipped on the previous version too.

@DilumAluthge
Copy link
Member Author

@nanosoldier runtests(ALL, vs = "#v1.11.8")

wsmoses and others added 3 commits January 21, 2026 16:00
…#60774)

Stdlib: SparseArrays
URL: https://github.com/JuliaSparse/SparseArrays.jl.git
Stdlib branch: release-1.11
Julia branch: backports-release-1.11
Old commit: 2420351
New commit: e4ffd9f
Julia version: 1.11.8
SparseArrays version: 1.11.0 (Does not match)
Bump invoked by: @dkarrasch
Powered by:
[BumpStdlibs.jl](https://github.com/JuliaLang/BumpStdlibs.jl)

Diff:
JuliaSparse/SparseArrays.jl@2420351...e4ffd9f

```
$ git log --oneline 2420351..e4ffd9f
e4ffd9f Backports to v1.11 (#670)
1da3028 Separate out tests for the GPL build and do not run them when GPL libs are not present (#658)
```

Co-authored-by: dkarrasch <26658441+dkarrasch@users.noreply.github.com>
…59689)

This PR addresses an issue with `IOError` not being exported from `Base`
and therefore being unavailable within `Random` if not fully qualified.

I'm not entirely certain which branch to make this PR to: `release-1.11`
or `backports-release-1.11`. Please change the target branch to the
appropriate one if necessary.
@DilumAluthge
Copy link
Member Author

@nanosoldier runtests(ALL, vs = "#v1.11.8")

@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

12 packages crashed only on the current version.

  • The process was aborted: 5 packages
  • Invalid LLVM IR was generated: 2 packages
  • GC corruption was detected: 1 packages
  • A segmentation fault happened: 4 packages

84 packages crashed on the previous version too.

✖ Packages that failed

30 packages failed only on the current version.

  • Package has test failures: 4 packages
  • Package tests unexpectedly errored: 5 packages
  • Tests became inactive: 4 packages
  • Test duration exceeded the time limit: 17 packages

3317 packages failed on the previous version too.

✔ Packages that passed tests

48 packages passed tests only on the current version.

  • Other: 48 packages

6509 packages passed tests on the previous version too.

➖ Packages that were skipped altogether

1329 packages were skipped on the previous version too.

@DilumAluthge
Copy link
Member Author

@nanosoldier runtests(["JuliaInterpreter", "GeoInterface", "Keccak", "ExaModels", "UCX", "ExtXYZ", "CharacteristicInvFourier", "HiddenMarkovModels", "Surge", "BenchmarkProfiles", "Herb", "EnzymeTestUtils", "MicroMagnetic", "Clarabel", "FrankWolfe", "VLBILikelihoods", "FrameFun", "SteadyStateDiffEq", "FMI", "DECAES", "JetPack", "BackgroundSubtraction", "PALEOocean", "ParametrisedConvexApproximators", "PlasmaEquilibriumToolkit", "TropicalNN", "QuantumCollocation", "StochasticDelayDiffEq", "CoralBlox", "SynapseElife", "ElectroPhysiology", "MixedModelsMakie", "TumorGrowth"], vs = "#v1.11.8")

@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

4 packages crashed only on the current version.

  • The process was aborted: 1 packages
  • GC corruption was detected: 1 packages
  • A segmentation fault happened: 2 packages

✖ Packages that failed

2 packages failed only on the current version.

  • Package tests unexpectedly errored: 2 packages

4 packages failed on the previous version too.

✔ Packages that passed tests

1 packages passed tests only on the current version.

  • Other: 1 packages

22 packages passed tests on the previous version too.

@DilumAluthge
Copy link
Member Author

@nanosoldier runtests(["JuliaInterpreter", "MicroMagnetic", "PlasmaEquilibriumToolkit", "VLBILikelihoods", "EnzymeTestUtils", "HiddenMarkovModels"], vs = "#v1.11.8")

@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 failed

1 packages failed only on the current version.

  • Package tests unexpectedly errored: 1 packages

✔ Packages that passed tests

5 packages passed tests on the previous version too.

@DilumAluthge
Copy link
Member Author

PkgEval now only contains the known JuliaInterpreter failure in check_builtins, which we can ignore. Apart from that, PkgEval shows no other packages failing, so I think PkgEval is clean.

@DilumAluthge DilumAluthge marked this pull request as ready for review January 26, 2026 16:53
@DilumAluthge DilumAluthge requested a review from a team as a code owner January 26, 2026 16:53
@DilumAluthge DilumAluthge requested review from KristofferC and removed request for a team January 26, 2026 16:53
@DilumAluthge
Copy link
Member Author

Discussed and approved out of band.

@DilumAluthge DilumAluthge merged commit b76713d into release-1.11 Jan 26, 2026
8 checks passed
@DilumAluthge DilumAluthge deleted the backports-release-1.11 branch January 27, 2026 22:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

don't squash Don't squash merge release Release management and versioning.

Projects

None yet

Development

Successfully merging this pull request may close these issues.