julia
Architecture for robust cancellation
#60281
Open

Architecture for robust cancellation #60281

Keno wants to merge 104 commits into master from kf/cancel
Keno
Keno Keno marked this pull request as draft 256 days ago
jakobnissen
jpsamaroo
Keno
Keno
Keno
Keno
vtjnash vtjnash added needs nanosoldier run
vtjnash vtjnash added needs pkgeval
vtjnash
vtjnash commented on 2025-12-04
Keno Keno force pushed from cfb31dbd to 044f2ca2 251 days ago
Keno Keno force pushed from 0c856477 to d7d77812 41 days ago
Keno Keno changed the title Very WIP: Architecture for robust cancellation WIP: Architecture for robust cancellation 41 days ago
Keno
Keno
giordano
Keno
Keno
Keno Keno force pushed from fe1a599d to f5e2ade0 39 days ago
davidanthoff
Keno
Keno Keno force pushed from 325a6e8f to 46e48bfe 38 days ago
Keno
Keno Keno force pushed from 46e48bfe to c1fcfe18 38 days ago
Keno
Keno Keno force pushed from a2d44ff2 to def39be2 34 days ago
Keno Keno force pushed from def39be2 to 8d257235 34 days ago
Keno Keno force pushed from 1d6e4ba3 to 5e7ecf0f 33 days ago
Keno Keno marked this pull request as ready for review 31 days ago
Keno Keno requested a review from udesou udesou 31 days ago
Keno Keno requested a review from qinsoon qinsoon 31 days ago
Keno Keno requested a review from d-netto d-netto 31 days ago
Keno Keno requested a review from giordano giordano 31 days ago
Keno Keno changed the title WIP: Architecture for robust cancellation Architecture for robust cancellation 31 days ago
Keno
Keno Keno force pushed from 3bd90c20 to f2d10298 30 days ago
gbaraldi
gbaraldi
gbaraldi commented on 2026-07-14
topolarity
topolarity commented on 2026-07-14
vtjnash
vtjnash commented on 2026-07-14
topolarity
topolarity commented on 2026-07-14
topolarity
topolarity commented on 2026-07-14
topolarity
topolarity commented on 2026-07-14
Keno
Keno
Keno deps: Bump libuv for uv_write_t cancellation support
088d4bc3
Keno base/runtime: Add cancellation-request and waitee wait architecture
92d040d7
Keno compiler: Add cancellation_point! codegen and reset-point lowering
3384c966
Keno stream: Support cancellation of in-flight uv_write requests
0aaed071
Keno codegen: Avoid deprecated ArrayRef(std::nullopt_t) constructor
a648ff9d
Keno signals/REPL: Delegate SIGINT to a cancellation listener task
2caaeb93
Keno runtime: Fix reset_ctx initialization and publication ordering
3bcf9de6
Keno test: Add cancellation test suite
f4398bb6
Keno signals: Address static analysis findings
ce45db3f
Keno base/runtime: Harden cancellation delivery and task abandonment
cd1d9205
Keno signals: Enable ^C cancellation on macOS, OpenBSD and Windows
9b1c64ba
Keno Fix typos
fee6f61f
Keno test: Always run threaded cancellation tests
a464b1d4
Keno codegen: Emit a GC safepoint at cancellation points
a9a02989
Keno base: Retry asynchronous cancellation signal delivery
0a57ab79
Keno base: Discard tasks cancelled before start from the workqueues
89bd7c4b
Keno base: Make closewrite waits cancellable
2be492a1
Keno base: Propagate cancellation to child tasks in Experimental.@sync
61327a93
Keno test: Extend cancellation test coverage
58a1d7bf
Keno signals: Remove unused mach SIGINT delivery functions
d8318a92
Keno deps: Fix stale OpenBLAS source-build patches
22551932
Keno deps: Patch OpenBLAS with an operation-cancellation API
6e831de3
Keno base: Add asynchronous cancellation hooks for foreign waits
c3192186
Keno build: Force the libuv source build until a staged LibUV_jll exists
456d819e
Keno base: Deliver ^C notifications while the io thread runs foreign code
44353cde
Keno stdlib: Bump LinearAlgebra to the BLAS-cancellation staging branch
3548c832
Keno build: Force the OpenBLAS source build for the cancellation patch
b179f090
Keno deps: Bump libuv to fix C++ -pedantic compilation of uv.h
4039b2e0
Keno base: Implement the unfriendly cancellation request severities
ab63d623
Keno base: Escalate repeat ^C through the cancellation severities
f9ba7953
Keno src: Do not acknowledge fire-and-forget cancellation signals
97348a7e
Keno base: Make ^C escalation timer-guided and its delivery reliable
0af97c60
Keno base: Make repeated ^C escalation episodes work in one session
a66fac13
Keno base: Run a sigint listener per threadpool
002e8524
Keno deps: Simplify the OpenBLAS cancellation API to generation slots
7d022840
Keno base: Move the dynamic-scope types to an early bootstrap file
1f07f1cb
Keno base: Rearchitect cancellation around cancellation token trees
1397683a
Keno build: Pin JuliaC to a staging branch with the sigint-listener trim stub
a1072181
Keno base: Add explicit `cancel` keyword arguments across the blocking API
69a88d84
Keno base: Make cancellation uniformly level-triggered with re-armed ^C ep…
d95f2632
Keno base: Close the ^C episode when interactive work items complete
346da494
Keno base: Fold the wait node into Task as a second link set
c9344123
Keno base: Hold cancellation-tree children weakly
8562dc3d
Keno doc: Add a manual chapter on task cancellation
f6a9cd88
Keno base: Replace with_cancel_token with the ScopedValues API
4bde6bd6
Keno base: Let tasks wait for a token's cancellation as an event
19788efe
Keno base: Keep a second ^C from killing the fatal error report
ac21a8fc
Keno test: Cover the ^C issues targeted by the cancellation rework
28cd4479
Keno base: Allow linking a cancellation source under several parents
6ea0f1a4
Keno base: Deliver foreign-call cancellation via the reset context
466a2ced
Keno base: Let a reset region and a cancellation handler be active together
5e944268
Keno base: Make BigInt/GMP computations cancellable at SAFE
bf47463e
Keno test: Update the exit_on_sigint stress test to cancellation semantics
283f51b8
Keno doc: Cover GC and cancellation for foreign calls in the C-interop cha…
3af32085
Keno base: Deliver cancellation handlers on macOS and Windows
852a4429
Keno base: Make BigInt/GMP computations cancellable at SAFE
bf47463e
Keno codegen: Publish the reset region after cancellation-point bookkeeping
4733dbb4
Keno base: Deliver region interruptions only for real cancellations
934510d9
Keno base: Mark the ^C episode source cancelled from the signal thread
e9e52135
Keno stdlib: Bump LinearAlgebra for the cancel_handler BLAS rework
2506100f
Keno deps: Bump OpenBLAS_jll to 0.3.33+1 for the cancellation patch
1849efba
Keno src: Satisfy the static-or-declared check for cancellation code
cf5db298
Keno base: Tolerate foreign wakeups in Timer and AsyncCondition waits
06844f6c
Keno REPL: Reconcile the new interrupt tests with cancellation semantics
7e222a5c
Keno stdlib: Bump Distributed to scope worker interrupts to the requests
4c15703b
Keno src: Make the cancellation-delivery attributes portable
9be2ee90
Keno deps: Bump libuv to link libsynchronization on Windows
318281b6
Keno build: Link libsynchronization into the Windows binaries
e0714281
Keno src: Forward-declare the Windows cancel-delivery initializer
05909909
Keno build: Resolve libsynchronization through the compiler
885509a3
Keno Compiler: Keep RSIIMO out of the escape-analysis qualification
d6c088d9
Keno base: Harden cancellation edges found in review
dfb9ab17
Keno src: Fix abandonment, ancestry, locking, and rooting defects
efe878c8
Keno deps: Rebase the GMP realloc patch onto the alloc-overflow patch
ac02d375
Keno test: Match the cancellation-lowering test to the sp-word layout
058ac9ce
Keno build: Hash the cancellation pass and accept version-file comments
0ee06edb
Keno stdlib: Bump Distributed for the Julia compatibility bound
c38f0534
Keno base: Give lock parking its own Task link set
18543fb0
Keno build: Hash the layout-defining headers for the object cache
65cd2645
Keno src: Make task abandonment an acknowledged handshake
4231f44c
Keno src: Harden cancellation delivery state
36cfe16f
Keno base: Root detached write buffers and fix delivery bookkeeping
5e7aac63
Keno stdlib: Bump LinearAlgebra to bind cancellation to the active BLAS
3d95ade2
Keno base: Complete the cancel keyword on documented blocking operations
9c8f08de
Keno src: Let a standing rescue-timer offer survive the accepting press
6ba9e34c
Keno src: Make the GMP allocator guards nest through finalizers
7edb3c09
Keno deps: Give mpz_mul the interruption-safe reallocation order
1cdaaba2
Keno src: Add an env-gated GMP allocation log for corruption hunts
97462269
Keno build: Build GMP from source until the JLL carries the mpz patches
34297e46
Keno base: Route buffered-stream vector writes through their own method
c251500a
Keno deps: Bump GMP_jll to 6.3.0+4 for the mpz reallocation patch
a313d5af
Keno src: Deliver a pending ^C to scoped tasks without the listener
7a32ba2f
Keno base: Complete parked-waiter wakes when a press finds the episode ack…
5826af4d
Keno test: Adapt the cancellation tests to single-threaded workers
4569e613
Keno src: Harden the C-side direct task abandonment against races
e5233418
Keno base: Keep the owner-carrying uv_write path statically resolvable
153cb1e4
Keno test: Adapt tests to CI timing, topology, and platform limits
3e0e54d7
Keno base: Honor @nospecialize on the owner-carrying uv_write chain
8c3534a9
Keno src: Complete the thread suspension before Windows cancellation delivery
1c429e54
Keno src: Discriminate FreeBSD rescue-timer SIGINTs and bound abandon deli…
799f94e2
Keno test: Gate handler-delivery tests and never hang on a wedged pty session
152356ae
Keno test: Ignore test-defined isequal methods in missing.jl's inference s…
647bf3a7
Keno codegen: Treat atomic operations as reset-unsafe points
a74971ad
Keno base: Re-arm @sync teardown waits across severity escalations
74fa2806
Keno src: Refuse task abandonment inside the scheduler's sleep transition
6493f149
Keno Keno force pushed from f2d10298 to 6493f149 28 days ago

Login to write a write a comment.

Login via GitHub

Assignees
No one assigned
Labels
Milestone