Skip to content

fix: reject native entry after remote lease expiry - #377

Merged
ovasylenko merged 1 commit into
mainfrom
fix/lease-aware-native-entry
Oct 29, 2026
Merged

ovasylenko merged 1 commit into
mainfrom
fix/lease-aware-native-entry

Conversation

@ovasylenko

Copy link
Copy Markdown
Contributor

A native callback waiting for a physical thread could enter host code after its remote lease expired if the runtime and timer driver were stalled. Ready work could also advance before the delayed lease timer ran.

Publish read-only monotonic lease authority, revoke it before supervised futures are destroyed, and check it at physical mobile callback entry and result publication. Keep the existing local handler registration API and StepContext shape compatible.

Validation:

  • Reproduced the real queued-callback failure on clean main at 8e23c25; the same regression passes with this fix.
  • All 711 mobile tests passed on the isolated main-based checkout.
  • All 16 lease, three registry and 27 executor tests passed.
  • Strict all-target workspace Clippy, the actual WASM target and formatting passed.

Full CI and Mobile SDK workflow success are required before merge.

@ovasylenko
ovasylenko merged commit 863da18 into main Oct 29, 2026
25 checks passed
@ovasylenko
ovasylenko deleted the fix/lease-aware-native-entry branch October 29, 2026 20:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant