Enum wasmer_vm::Trap

source ·
pub enum Trap {
    User(Box<dyn Error + Send + Sync>),
    Wasm {
        pc: usize,
        backtrace: Backtrace,
        signal_trap: Option<TrapCode>,
    },
    Lib {
        trap_code: TrapCode,
        backtrace: Backtrace,
    },
    OOM {
        backtrace: Backtrace,
    },
}
Expand description

Stores trace message with backtrace.

Variants§

§

User(Box<dyn Error + Send + Sync>)

A user-raised trap through raise_user_trap.

§

Wasm

Fields

§pc: usize

The program counter in generated code where this trap happened.

§backtrace: Backtrace

Native stack backtrace at the time the trap occurred

§signal_trap: Option<TrapCode>

Optional trapcode associated to the signal that caused the trap

A trap raised from the Wasm generated code

Note: this trap is deterministic (assuming a deterministic host implementation)

§

Lib

Fields

§trap_code: TrapCode

Code of the trap.

§backtrace: Backtrace

Native stack backtrace at the time the trap occurred

A trap raised from a wasm libcall

Note: this trap is deterministic (assuming a deterministic host implementation)

§

OOM

Fields

§backtrace: Backtrace

Native stack backtrace at the time the OOM occurred

A trap indicating that the runtime was unable to allocate sufficient memory.

Note: this trap is nondeterministic, since it depends on the host system.

Implementations§

Construct a new Wasm trap with the given source location and backtrace.

Internally saves a backtrace when constructed.

Construct a new Wasm trap with the given trap code.

Internally saves a backtrace when constructed.

Construct a new OOM trap with the given source location and trap code.

Internally saves a backtrace when constructed.

Trait Implementations§

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
The archived version of the pointer metadata for this type.
Converts some archived metadata to the pointer metadata for itself.
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Deserializes using the given deserializer

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type for metadata in pointers and references to Self.
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.