Skip to content

OptimizedNodeBridge should prevent calls after dispose #86

@bbopen

Description

@bbopen

Summary

OptimizedNodeBridge sets disposed=true but call/instantiate/callMethod do not check it. Calls after dispose() can spawn new workers and continue executing, violating the expected lifecycle.

Failure mode

  • bridge.dispose() is called.
  • A subsequent bridge.call() still executes, spawning new processes.

Evidence

  • src/runtime/optimized-node.ts call/instantiate/callMethod/executeRequest do not guard on this.disposed.

Proposed fix

  • Add a guard that throws BridgeDisposedError in executeRequest (or in public methods).
  • Ensure dispose() prevents any new work from being scheduled.

Acceptance criteria

  • Calls after dispose reliably throw BridgeDisposedError and do not spawn processes.
  • Add a regression test for use-after-dispose.

Metadata

Metadata

Assignees

Labels

area:runtime-nodeArea: Node runtime bridgebugSomething isn't workingpriority:p2Priority P2 (medium)

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions