Major issues wit Julia 1.13.2 (workaround available)

I was bitten by two major issues with Julia 1.13.2:

`Pkg.add` fails with `Unknown package: <name>` on Julia 1.13.2 · Issue #4866 · JuliaLang/Pkg.jl · GitHub . I implemented a workaround in one of my packages, but it probably also effect other packages. It will hopefully be fixed in 1.13.3.

And Building a system image using Julia 1.13 fails (due to excessive RAM usage) · Issue #63141 · JuliaLang/julia · GitHub . The bad thing with this issue: If you have only 16 GB RAM, there is no workaround other then using an older Julia version.

While this does not effect me directly, only my Github runners, it does effect my students.

As long as system images are needed to achieve reasonable TTFX times, I would suggest to add an automated test for #63141 to the release process.

It turned out that the main cause of the second issue is not Julia 1.13 itself, but PackageCompiler.

Since #1096 (released in PackageCompiler 2.4.1), create_sysimage defaults to cpu_target="sysimage" on Julia 1.13+, while older Julia versions keep "native". With the official Julia binaries this expands to

generic;sandybridge,-xsaveopt,clone_all;haswell,-rdrnd,base(1);x86-64-v4,-rdrnd,base(1)

so every function is compiled at least twice, plus partial clones for two more targets. For large sysimages this makes the “compiling incremental system image” step need more than twice the memory and several times as long.

Workaround: Use cpu_target="native". This fixed the issue for me.

New issue in PackageCompiler: Default `cpu_target="sysimage"` on Julia 1.13 more than doubles sysimage build memory and time · Issue #1143 · JuliaLang/PackageCompiler.jl · GitHub

But this only shows that before making a new release of Julia, a test in combination with PackageCompiler should be done.