镜像站点 · 本页由第三方 GitHub 只读镜像提供,非 GitHub 官方站点,不接受任何登录或凭据输入。前往 github.com
Skip to content

fix(kernel): retire deferred updates with destroyed entities - #292

Merged
nick2781 merged 2 commits into
mainfrom
fix/kernel-retired-sync
Nov 5, 2026
Merged

nick2781 merged 2 commits into
mainfrom
fix/kernel-retired-sync

Conversation

@nick2781

@nick2781 nick2781 commented Nov 5, 2026 •

Copy link
Copy Markdown
Member

Disconnecting an Entity can leave its deferred updates queued after destruction, producing duplicate missing-Entity errors on the next flush. Retire those updates after destruction callbacks and before removing the Entity, including work already detached into the active flush.

Preserve live neighbors, destruction notifications, parent-container markers and updates belonging to a recreated Entity. Extract the current batch entry so reentrant destruction can remove later entries without invalidating iteration; no instance layout, virtual interface or wire change is introduced.

Validation: three permanent regressions fail on the former implementation and pass after the repair (127 assertions). Kernel initialization and its independent allocation/ownership checks pass, as do clang-format 18 and bilingual Nimbus/content checks. One bounded real-server replay against the rebuilt Kernel DSO completed 28 nested-replication cycles, 336 moves/actions/pongs and three fresh reconnects with zero server ERROR/FATAL lines; all processes stopped normally and the listener was released. Only Kernel was rebuilt for this comparison; the other five runtime components and configuration were byte-checked frozen inputs. This is local candidate evidence, not accepted-main, long-run or capacity acceptance.

Synchronized with accepted CI acceleration #291 at main b15140e571b2161028a40fdb59424c454d805ded; the Kernel patch is byte-identical to the locally tested version and full formatting passes after synchronization. Ready-for-review checks target 86ab6e2c4d7cc1ca4f1f1c513eddb71ab9f4e9bc; protected full queue checks remain required before squash merge. This is independent of the native Asio 5,000-connection stall investigation.

@nick2781
nick2781 marked this pull request as ready for review November 5, 2026 07:50
@nick2781
nick2781 added this pull request to the merge queue Nov 5, 2026
Merged via the queue into main with commit 7db3640 Nov 5, 2026
12 checks passed
@nick2781
nick2781 deleted the fix/kernel-retired-sync branch November 5, 2026 08:57
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