pub enum TerminationDetails {
Signal,
CtxNotFound,
YieldTypeMismatch,
BorrowError(&'static str),
Provided(Box<dyn Any + 'static>),
Remote,
}Expand description
Information about a terminated guest.
Guests are terminated either explicitly by Vmctx::terminate(), or implicitly by signal
handlers that return SignalBehavior::Terminate. It usually indicates that an unrecoverable
error has occurred in a hostcall, rather than in WebAssembly code.
Variants§
Signal
Returned when a signal handler terminates the instance.
CtxNotFound
Returned when get_embed_ctx or get_embed_ctx_mut are used with a type that is not present.
YieldTypeMismatch
Returned when the type of the value passed to Instance::resume_with_val() does not match
the type expected by Vmctx::yield_expecting_val() or Vmctx::yield_val_expecting_val, or
if Instance::resume() was called when a value was expected.
Note: If you see this termination value, please report it as a Lucet bug. The types of
resumed values are dynamically checked by Instance::resume() and
Instance::resume_with_val(), so this should never arise.
BorrowError(&'static str)
Returned when dynamic borrowing rules of methods like Vmctx::heap() are violated.
Provided(Box<dyn Any + 'static>)
Calls to lucet_hostcall_terminate provide a payload for use by the embedder.