You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
UnboundLocalError in _flush_events masks WASM trap errors #111
If flush_event_queue() raises (e.g. a WASMAbortError from the AssemblyScript bucketing engine trapping during flush), payloads is never assigned. The if payloads: check on line 97 then raises UnboundLocalError: local variable 'payloads' referenced before assignment.
The _flush_lock releases correctly (the with block handles that), but the UnboundLocalError propagates into run()'s generic except, which logs a vague warning. The original WASM error is effectively masked.
Context
Found during a cross-SDK audit related to dotnet-server-sdk #204, where the WASM bucketing engine traps during flush due to AssemblyScript throw new Error(...) (e.g. "Request Payload has not finished sending" in requestPayloadManager.ts:281).
The Python SDK does not have the same flush-mutex-leak as .NET (with self._flush_lock always releases), but it does have this related masking issue.
Activity