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
When a panic happens in the Wasm node, we call throw, and intentionally let the JavaScript worker die as a result.
This is totally intended. A panic could leave memory in a corrupted state, and calling functions again is undesirable.
See this paragraph for context.
It seems that, despite the worker errorring, the timeouts and sockets that are still alive in the worker continue to run and continue to call the smoldot Wasm again.
The text was updated successfully, but these errors were encountered:
To reproduce: put a panic!() somewhere in a background task, then observe how there are two panics instead of one.
The second panic (something regarding WouldBlock) comes from the fact that we call try_lock on a mutex that isn't expected to be locked but is still locked because of the first panic.
The proper fix is that we never reach again Wasm code again after the first panic happened.
When a panic happens in the Wasm node, we call
throw
, and intentionally let the JavaScript worker die as a result.This is totally intended. A panic could leave memory in a corrupted state, and calling functions again is undesirable.
See this paragraph for context.
It seems that, despite the worker errorring, the timeouts and sockets that are still alive in the worker continue to run and continue to call the smoldot Wasm again.
The text was updated successfully, but these errors were encountered: