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