-
-
Notifications
You must be signed in to change notification settings - Fork 5.7k
Backports for Julia 1.11.9 #60692
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 for Julia 1.11.9 #60692
Conversation
(cherry picked from commit b80dd58)
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)
(cherry picked from commit bcbe9fe)
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)
(cherry picked from commit 5ee0816)
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.
… full-length commit hash
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)
3d73b64 to
29b3528
Compare
|
@nanosoldier |
…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.
|
The package evaluation job you requested has completed - possible new issues were detected. Report summary❗ Packages that crashed3 packages crashed only on the current version.
86 packages crashed on the previous version too. ✖ Packages that failed26 packages failed only on the current version.
3340 packages failed on the previous version too. ✔ Packages that passed tests29 packages passed tests only on the current version.
6504 packages passed tests on the previous version too. ➖ Packages that were skipped altogether1 packages were skipped only on the current version.
1329 packages were skipped on the previous version too. |
|
@nanosoldier |
Backport of #60695 particularly
…#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.
|
@nanosoldier |
|
The package evaluation job you requested has completed - possible new issues were detected. Report summary❗ Packages that crashed12 packages crashed only on the current version.
84 packages crashed on the previous version too. ✖ Packages that failed30 packages failed only on the current version.
3317 packages failed on the previous version too. ✔ Packages that passed tests48 packages passed tests only on the current version.
6509 packages passed tests on the previous version too. ➖ Packages that were skipped altogether1329 packages were skipped on the previous version too. |
|
@nanosoldier |
|
The package evaluation job you requested has completed - possible new issues were detected. Report summary❗ Packages that crashed4 packages crashed only on the current version.
✖ Packages that failed2 packages failed only on the current version.
4 packages failed on the previous version too. ✔ Packages that passed tests1 packages passed tests only on the current version.
22 packages passed tests on the previous version too. |
|
@nanosoldier |
|
The package evaluation job you requested has completed - possible new issues were detected. Report summary✖ Packages that failed1 packages failed only on the current version.
✔ Packages that passed tests5 packages passed tests on the previous version too. |
|
PkgEval now only contains the known JuliaInterpreter failure in |
|
Discussed and approved out of band. |
Backported PRs:
@nospecializeforstring_index_err#57604Need manual backport:
onefor theSizedArraytest helper #58209hygienic-scopes in inner macro expansions #58965SuiteSparsein pkgimages to precompile #60291Contains multiple commits, manual intervention needed:
CoreLogging: prevent someAnnotated*-related instability #59467Non-merged PRs with backport label:
isfile_casesensitivefixes on Windows #55220@inboundsandBase.@propagate_inbounds#50157