Julia 1.12 + PythonCall => Crash
This is a crosspost to PythonCall.jl https://github.com/JuliaPy/PythonCall.jl/issues/711
Pluto is on v0.20.21
Julia 1.12.0 (1.12.1 also crashes)
Julia 1.11.5
(please ignore the different browser, both were run on the same computer just different browsers)
The micromamba ENV doesnt matter for the crash - but I need to use it also in REPL-mode, else I run into a weird Pixi-infinite loop, and the 1.11 version hangs forever :)
Julia 1.12 is cursed 👻
Does this only happen in Pluto?
My claude code's analysis of Julia's 1.12.2 "release notes"
Julia v1.12.2 - Release Notes
Overview
Release Type: Patch release (backward compatible)
Status: Testing period (as of November 13, 2025)
What's Included:
- Bug fixes only
- Performance enhancements
- No new features
- Non-breaking changes for existing code
- 26 commits total
Bug Fixes
TOML Parsing (#59999)
- Fixed fractional seconds parsing in TOML dates/times
- Example: "00:00:00.2" now correctly parses as 200ms instead of 12ms
- Only the first three digits after the decimal point are considered
Concurrent Programming Fixes
waitall fixes:
- Fixed
waitallthrowing errors when all tasks are done (#59905) - Fixed
waitalldeadlock when errors occur with failfast mode (#60030)- When errors occur,
waitallmay skip allocating Channel producers, leading to deadlock - Simplified to use separate loops for wait and return computation
- When errors occur,
Interpreter improvements:
- Fixed accidental save/restore of sigmask when interpreting try blocks (#59878)
- Improves performance for interpreter-executed try blocks
- Noticed during bug hunting of LicenseCheck.jl issue
Inference & Compilation
Inference cycle handling (#59974):
- Fixed to revisit all methods in cycles
- When encountering complicated cycles within cycles, make sure to revisit all applicable methods explicitly
- Prevents caching of incorrect
Union{}return types - Fixes #59943
Other compiler fixes:
- Fixed
pointerarith_tfuncfor Const ptr (#60011) - Set types of boxed variables in
abstract_eval_nonlinearized_foreigncall_name(#59921)- Prevents invalidations of
isready()from loading Distributed on 1.12
- Prevents invalidations of
Markdown Parser (#59977)
- Fixed to disallow spaces between
]and(in links - Now consistent with other Markdown implementations
- Links must be written as
[desc](URL)without space between]and( - Resolves JuliaDocs/Documenter.jl#2681
Workspace/Project Management (#59849)
- Allow specifying projects in a workspace more than one level under it
REPL Fixes
- Fixed string completion with cursor in the middle of text
- Made interactive precompiles test more robust (#60006)
Performance Improvements
Type Stability Enhancements
isfinite type assertion (#59888):
- Type-assert
isfinite(::AbstractFloat)return value
DataType.layout type assertions (#59886):
- Type-assert
DataType.layoutin Base functions - Prevents many invalidations, especially with UnsafePointers.jl
- UnsafePointers is a dependency of PythonCall, so widely beneficial
- Before:
.layoutfield was getting inferred asAny, causing invalidations when UnsafePointers.jl defined newconvert()methods - After: Proper type assertions prevent these invalidations
TOML type assertions (#59932):
- Type-assert the return type of
collect(...)in TOML
Build System
Git handling (#60023):
- Don't trigger full rebuild if git is dirty
Stdlib & Dependency Updates
LinearAlgebra
Bumped from 24f5e21 → 5567504
Changes:
- Overload array constructors for BunchKaufman (#1461)
- Generic fallback for
fillstored!(#1389)
Pkg
- Bumped to latest 1.12
Security Updates
OpenSSL (#59941):
- Updated to version 3.5.4
LibCURL (#59983):
- Bumped LibCURL_jll to 8.15.0
Other Dependencies
p7zip (#60025):
- Updated to 17.7.0
- Infrastructure improvements:
- Moved p7zip binary from bindir to private_libexecdir
- Added Windows DLL handling for binary builder installs
- Simplified p7zip_jll.jl by removing LIBPATH handling
- Added P7ZIP_BUILD_OPTS variable for consistent build flags
Compiler/Interpreter Improvements
Abstract Interpretation (#59908)
- Allow ad-hoc cancellation of concrete evaluation
- Particularly useful for JET analyzer
- Enables fallback to abstract interpretation only when concrete evaluation causes errors
- Helps avoid tradeoff between precision and error reporting
Reflection (#59915)
- Enable
Base._whichwith non-baseCompiler.MethodTableView - Fixes method errors when packages using non-Base compilers call
Base._which - Properly determines module context of
mt::Compiler.MethodTableView
Documentation
-
llvmcall docs (#59873):
- Updated to reflect that opaque pointers are now supported
-
Core.GlobalMethods reference (#59976):
- Updated left-over reference (renamed in #59158)
-
Names docstring (#59937):
- Added compat & implicit using information
- Follow-up of #54609
Testing Information
How to test:
- Available via
1.12-nightlychannel in juliaup:juliaup add 1.12-nightly - Can be tested in GitHub Actions with
1.12-nightlyversion specifier
Report issues:
- Julia GitHub issue tracker: https://github.com/JuliaLang/julia/issues
Links
- Discourse announcement: https://discourse.julialang.org/t/julia-v1-12-2-testing-period/133847/
- Commit comparison: https://github.com/JuliaLang/julia/compare/v1.12.1...release-1.12
- Julia repository: https://github.com/JuliaLang/julia
Summary
Julia v1.12.2 is a stability and performance-focused release containing bug fixes, type stability improvements, stdlib updates, and security patches. Key highlights include:
- Fixes to concurrent programming functions (
waitall) - TOML parsing corrections
- Inference improvements preventing incorrect type caching
- Invalidation prevention optimizations benefiting widely-used packages like PythonCall
- Security updates for OpenSSL and LibCURL
- Multiple type stability improvements throughout Base
This release maintains backward compatibility and introduces no new features, focusing entirely on reliability and performance.
says that https://github.com/JuliaLang/julia/pull/59920 may help?
Can you test with julia +1.12-nightly?
Update: it doesn't work ðŸ«
only in pluto - I don't really know much about malt to test it from the REPL unfortunately
But can you test it in the REPL without Malt?
sure, that worksl no error, else I wouldnt be here :-D