Backports for Julia 1.10.11#58889
Conversation
…n-link-local IPv4 address (#58895) This is a manual backport of JuliaLang/Distributed.jl#137 to Julia 1.10.x. Targets `backports-release-1.10` (#58889). This is a bugfix, and thus it is eligible to be backported.
Skip setName on folded inputs, and ensure the correct pointer address space is used. (cherry picked from commit baca8ba)
…54840) Like #54671, but for `speccache_eq`. Saw another segfault with this in the stack trace, hence this fix. I also looked for other uses of `jl_smallintset_lookup` and there's one in `idset.c`. That doesn't appear to be racy but I'm not familiar with the code, so maybe you can take a look at it in case we need to push a fix for that one too @gbaraldi or @vtjnash? (cherry picked from commit dd1ed17)
Closes #57376 Closes #34037 - Adds a lock in `SimpleLogger` and `ConsoleLogger` for use on maxlog tracking and stream writes to improve threadsafety. Closely similar to #54497 - Turns the internal `_min_enabled_level` into a `Threads.Atomic`. There are [some direct interactions](https://juliahub.com/ui/Search?type=code&q=_min_enabled_level&w=true) to this internal in the ecosystem, but they should still work ``` julia> Base.CoreLogging._min_enabled_level[] = Logging.Info+1 LogLevel(1) ``` - Brings tests over from #57448 Performance seems highly similar: ### Master ``` julia> @time for i in 1:10000 @info "foo" maxlog=10000000 end [ Info: foo ... 0.481446 seconds (1.33 M allocations: 89.226 MiB, 0.49% gc time) ``` ### This PR ``` 0.477235 seconds (1.31 M allocations: 79.002 MiB, 1.77% gc time) ``` (cherry picked from commit 9af9650)
(cherry picked from commit 088bb90)
(cherry picked from commit f5e983e)
When this API was added, this function inlined, which is important, because the API relies on the allocation of the `Ref` being elided. At some point (I went back to 1.8) this regressed. For example, it is currently responsible for substantially all non-Expr allocations in JuliaParser. Before (parsing all of Base with JuliaParser): ``` │ Memory estimate: 76.93 MiB, allocs estimate: 719922. ``` After: ``` │ Memory estimate: 53.31 MiB, allocs estimate: 156. ``` Also add a test to make sure this doesn't regress again. (cherry picked from commit d6294ba)
(cherry picked from commit 8567a3a)
(cherry picked from commit 7b6065e)
Currently, `similar(::CodeUnits)` works as expected by going through the
generic `AbstractArray` method. However, the fallback method hit by
`similar(::Type{<:CodeUnits}, dims)` does not work, as it assumes the
existence of a constructor that accepts an `UndefInitializer`. This can
be made to work by defining a corresponding `similar` method that
returns an `Array`.
One could make a case that this is a bugfix since it was arguably a bug
that this method didn't work given that `CodeUnits` is an
`AbstractArray` subtype and the other `similar` methods work. If anybody
buys that argument, it could be nice to backport this; it came up in
some internal code that uses Arrow.jl and JSON3.jl together.
(cherry picked from commit 8e524c7)
(cherry picked from commit 2349f43)
(cherry picked from commit 1f6eff1)
[The "parsing" section of the "eval" dev docs page](https://docs.julialang.org/en/v1/devdocs/eval/#dev-parsing) was not updated when JuliaSyntax.jl was adopted in 1.10. This updates the text to reflect that it is the default parser and briefly mentions how to switch back. (cherry picked from commit ec27274)
|
Two open PRs to this branch currently: |
This updates 1.10 to contain two new OpenBLAS patches that come from upstream (they are included in newer OpenBLAS versions already). Specifically the patches do: * Use AVX512 kernels on modern processors * Fix incorrect CASUM computation in fallback kernel This fixes the reported linear algebra issue: JuliaLang/LinearAlgebra.jl#1406. I believe I updated all the checksums/files to make this work, specifically I did * Updated version number in `stdlib/OpenBLAS_jll/Project.toml` * Updated version number and sha in `deps/openblas.version` * Refresh checksums by running` make -f contrib/refresh_checksums.mk -j openblas` cc @giordano, @ViralBShah
This was originally added as a workaround for the behavior of sh to try to become the terminal process group leader, but no longer relevant since #25006 removed that flag again: ``` julia> run(detach(`bash -i -c "sleep 0"`)) bash: cannot set terminal process group (-1): Inappropriate ioctl for device bash: no job control in this shell Process(`bash -i -c 'sleep 0'`, ProcessExited(0)) ``` Long explanation: Julia recieves SIGTTOU when a process like "sh -i -c" exits (at least for bash and zsh, but not dash, ksh, or csh), since "sh -i" sometimes takes over the controlling terminal, causing julia to stop once the bash process exits. This can be quite annoying, but julia goes through some pains (in libuv) to ensure it doesn't steal the controlling terminal from the parent, and apparently bash is not so careful about it. However, since PR #25006, julia hasn't needed this workaround for this issue, so we can now follow the intended behavior when the child is in the same session group and steals the controlling terminal from the parent. Even if such behavior seems odd, this seems to be the intended behavior per posix design implementation that it gets SIGTTOU when julia later tries to change mode (from cooked -> raw after printing the prompt): http://curiousthing.org/sigttin-sigttou-deep-dive-linux. For some background on why this is a useful signal and behavior and should not be just blocked, see nodejs/node#35536. According to glibc, there's a half page of code for how to correctly implement a REPL mode change call: https://www.gnu.org/software/libc/manual/html_node/Initializing-the-Shell.html ``` $ ./julia -q shell> bash -i -c "sleep 1" [1]+ Stopped ./julia julia> run(`zsh -i -c "sleep 0"`) Process(`zsh -i -c 'sleep 0'`, ProcessExited(0)) julia> [1]+ Stopped ./julia ``` (cherry picked from commit 0cbe466)
The fields of `StringIndexError` are abstractly typed, so there's no reason to specialize on a concrete type. The change seems like it could prevent some invalidation on loading user code. --------- Co-authored-by: Shuhei Kadowaki <40514306+aviatesk@users.noreply.github.com> (cherry picked from commit bc33a3e)
The current method :jl_type_to_llvm takes a pointer-to-bool parameter isboxed, which if non-null, is set to true if the Julia Type requires boxing. However, one may want to know the julia type without boxing and there is no mechanism for doing so. Now there is `julia_struct_to_llvm`. (cherry picked from commit 85f1b8c)
The test on master uses opaque pointers which older LLVM versions don't support. Co-authored-by: Simeon David Schaub <simeon@schaub.rocks>
Changes from #43151, github just didn't want me to re-open it. As discussed on slack, any `hygienic-scope` within an outer `hygienic-scope` can read and write variables in the outer one, so it's not particularly hygienic. The result is that we can't safely nest macro calls unless they know the contents of all inner macro calls. Should fix #48910. Co-authored-by: Michiel Dral <m.c.dral@gmail.com> (cherry picked from commit ff33305)
That is, if it is called twice (e.g. because precompilation is disabled) with identical arguments, then this should not trigger an assertion. This should resolve oscar-system/GAP.jl#1314 (cherry picked from commit 1708d99)
Test suite: switch to `httpbingo.julialang`, fall back to `httpbin.julialang` on failure (cherry picked from commit 5ab8db3)
5982ccd to
ec3ef8b
Compare
Found by claude-code debugging a random zygote issue: SciML/NeuralPDE.jl#1020 (comment). `spvals` just doesn't exist within this function. This issue has apparently existed since Julia 1.6 (cherry picked from commit 94e72bb)
|
Last commit here (3c13ebe#diff-1756dda6c0a8d1636babf826421db423fe144b9d6db8aeb3358068269a5bfd6c) looks like it added some unrelated tests that fail. I'll remove them. Edit: Done. |
…60744) This PR bumps MbedTLS on Julia 1.10 to [2.28.1010](JuliaPackaging/Yggdrasil#12380), which is upstream 2.28.10 plus Debian's (2.16.9) security patches. [devdocs](https://docs.julialang.org/en/v1.12/devdocs/build/build/#Update-the-version-number-of-a-dependency)) Version numbers: - [x] `deps/$(libname).version`: `LIBNAME_VER`, `LIBNAME_BRANCH`, `LIBNAME_SHA1` and `LIBNAME_JLL_VER` - [x] `stdlib/$(LIBNAME_JLL_NAME)_jll/Project.toml`: `version` Checksum: - [x] `deps/checksums/$(libname)` - [ ] `deps/checksums/$(LIBNAME_JLL_NAME)-*/`: `md5` and `sha512` - I don't think this file exists anymore. It looks like the checksums have been combined into `deps/checksums/mbedtls`. Patches: - [x] `deps/$(libname).mk` - [x] `deps/patches/$(libname)-*.patch` --------- Co-authored-by: Andy Dienes <51664769+adienes@users.noreply.github.com> Co-authored-by: Ian Butterworth <i.r.butterworth@gmail.com> Co-authored-by: Kristoffer Carlsson <kcarlsson89@gmail.com> Co-authored-by: KristofferC <kristoffer.carlsson@juliacomputing.com> Co-authored-by: Max Horn <max@quendi.de> Co-authored-by: Milan Bouchet-Valat <nalimilan@club.fr> Co-authored-by: Eddie Groshev <eddie_g_89@hotmail.com> Co-authored-by: Jameson Nash <vtjnash@gmail.com> Co-authored-by: Valentin Churavy <v.churavy@gmail.com> Co-authored-by: Jeff Bezanson <jeff.bezanson@gmail.com> Co-authored-by: Mosè Giordano <765740+giordano@users.noreply.github.com> Co-authored-by: Em Chu <61633163+mlechu@users.noreply.github.com> Co-authored-by: Michiel Dral <m.c.dral@gmail.com> Co-authored-by: Erik Schnetter <schnetter@gmail.com>
3c13ebe to
c8be17d
Compare
|
@nanosoldier |
|
@nanosoldier |
|
Your benchmark job has completed - possible performance regressions were detected. A full report can be found here. |
|
The package evaluation job you requested has completed - possible new issues were detected. Report summary❗ Packages that crashed9 packages crashed only on the current version.
383 packages crashed on the previous version too. ✖ Packages that failed45 packages failed only on the current version.
2768 packages failed on the previous version too. ✔ Packages that passed tests29 packages passed tests only on the current version.
6633 packages passed tests on the previous version too. ➖ Packages that were skipped altogether1207 packages were skipped on the previous version too. |
|
Old PrecompileTools.jl seems to not work here: My guess is due to a6d3bd2. |
This reverts commit a6d3bd2.
|
@nanosoldier |
|
The package evaluation job you requested has completed - possible new issues were detected. Report summary✖ Packages that failed2 packages failed only on the current version.
3 packages failed on the previous version too. ✔ Packages that passed tests34 packages passed tests on the previous version too. |
|
Lookgs good, should be mergable once CI goes through. |
|
The Buildkite CI logs: That job runs under When I look on release-1.10, I don't see this failure. (I see some other failures, but I don't see any |
|
For the first attempt:
For the second attempt:
For the third attempt:
So, it looks like the same assertion failing every time. |
|
@KristofferC CI is all green now (after 925f31f - thank you @gbaraldi!) |
Backported PRs:
similarmethod forType{<:CodeUnits}#57826hygienic-scopes in inner macro expansions #58965@nospecializeforstring_index_err#57604powermodcorrectness on unsigned power of half typemax #59680@threadsthreadpool #59802jl_reinit_foreign_typeidempotent even with asserts #60827httpbingo.julialang, fall back tohttpbin.julialangon failure #60834Need manual backport:
CartesianIndicesiteration #58742SuiteSparsein pkgimages to precompile #60291Contains multiple commits, manual intervention needed:
@time_imports#55729structto hard #56755ndimsimplementation with intent behind code #56999full_nameafter precompiling extension #60456cpu_infotimes are expressed in milliseconds #60480Non-merged PRs with backport label:
jl_exit_threaded_regionexecuted whenthreading_runfinished or be interrupted #60822inline_cost_threshold == typemax(Int)#60121isfile_casesensitivefixes on Windows #55220@inboundsandBase.@propagate_inbounds#50157