Skip to content

fix(occt): treat a broken wasm function table as a dead heap - #880

Merged
w1ne merged 2 commits into
developfrom
fix/wasm-signature-poison
Oct 7, 2026
Merged

w1ne merged 2 commits into
developfrom
fix/wasm-signature-poison

Conversation

@w1ne

@w1ne w1ne commented Oct 7, 2026

Copy link
Copy Markdown
Owner

Summary

  • Classify null function / function signature mismatch as a dead OCCT wasm heap.
  • Recompute already resets and retries once on poison. If that retry is still poisoned, meshing throws instead of returning a normal feature failure, so the host recycles the process.
  • A healthy model does not take this path.

Test

  • npx vitest run src/kernel/backends/occt/occtException.test.ts — 18 passed.
  • npx eslint on the three changed files — clean.

Signature mismatch was stored as an ordinary feature failure, so the
worker stayed up and the viewer never got a mesh. Classify it as
poison so recompute resets and retries once. If that retry is still
poisoned, throw so the host recycles the process.
@w1ne
w1ne enabled auto-merge October 7, 2026 09:56
Returning a per-feature diagnostic kept the dead worker in service.
meshFeaturesPerFeature stays under the line limit; the throw is what
the host recycles on.
@w1ne
w1ne merged commit 4699cd7 into develop Oct 7, 2026
16 checks passed
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