Enum solana_rbpf::error::EbpfError[][src]

pub enum EbpfError<E: UserDefinedError> {
Show variants UserError(E), ElfError(ElfError), SycallAlreadyRegistered(usize), SyscallNotRegistered(usize), SyscallAlreadyBound(usize), CallDepthExceeded(usizeusize), ExitRootCallFrame, DivideByZero(usize), ExecutionOverrun(usize), CallOutsideTextSegment(usizeu64), ExceededMaxInstructions(usizeu64), JitNotCompiled, InvalidVirtualAddress(u64), VirtualAddressOverlap(u64), AccessViolation(usizeAccessTypeu64u64, &'static str), StackAccessViolation(usizeAccessTypeu64u64i64), InvalidInstruction(usize), UnsupportedInstruction(usize), ExhausedTextSegment(usize),
}
Expand description

Error definitions

Variants

UserError(E)

User defined error

ElfError(ElfError)

ELF error

SycallAlreadyRegistered(usize)

Syscall was already registered before

SyscallNotRegistered(usize)

Syscall was not registered before bind

SyscallAlreadyBound(usize)

Syscall already has a bound context object

CallDepthExceeded(usizeusize)

Exceeded max BPF to BPF call depth

ExitRootCallFrame

Attempt to exit from root call frame

DivideByZero(usize)

Divide by zero“

ExecutionOverrun(usize)

Exceeded max instructions allowed

CallOutsideTextSegment(usizeu64)

Attempt to call to an address outside the text segment

ExceededMaxInstructions(usizeu64)

Exceeded max instructions allowed

JitNotCompiled

Program has not been JIT-compiled

InvalidVirtualAddress(u64)

Invalid virtual address

VirtualAddressOverlap(u64)

Virtual address overlap

AccessViolation(usizeAccessTypeu64u64, &'static str)

Access violation (general)

StackAccessViolation(usizeAccessTypeu64u64i64)

Access violation (stack specific)

InvalidInstruction(usize)

Invalid instruction

UnsupportedInstruction(usize)

Unsupported instruction

ExhausedTextSegment(usize)

Compilation is too big to fit

Trait Implementations

impl<E: Debug + UserDefinedError> Debug for EbpfError<E>[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

impl<E: UserDefinedError> Display for EbpfError<E>[src]

fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

impl<E: UserDefinedError> Error for EbpfError<E>[src]

fn source(&self) -> Option<&(dyn Error + 'static)>[src]

The lower-level source of this error, if any. Read more

fn backtrace(&self) -> Option<&Backtrace>[src]

🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

fn description(&self) -> &str1.0.0[src]

👎 Deprecated since 1.42.0:

use the Display impl or to_string()

fn cause(&self) -> Option<&dyn Error>1.0.0[src]

👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

impl<E: UserDefinedError> From<E> for EbpfError<E>[src]

fn from(source: E) -> Self[src]

Performs the conversion.

impl<E: UserDefinedError> From<ElfError> for EbpfError<E>[src]

fn from(source: ElfError) -> Self[src]

Performs the conversion.

impl<E: UserDefinedError> From<Error> for EbpfError<E>[src]

fn from(error: GoblinError) -> Self[src]

Performs the conversion.

impl<E: PartialEq + UserDefinedError> PartialEq<EbpfError<E>> for EbpfError<E>[src]

fn eq(&self, other: &EbpfError<E>) -> bool[src]

This method tests for self and other values to be equal, and is used by ==. Read more

fn ne(&self, other: &EbpfError<E>) -> bool[src]

This method tests for !=.

impl<E: Eq + UserDefinedError> Eq for EbpfError<E>[src]

impl<E: UserDefinedError> StructuralEq for EbpfError<E>[src]

impl<E: UserDefinedError> StructuralPartialEq for EbpfError<E>[src]

Auto Trait Implementations

impl<E> RefUnwindSafe for EbpfError<E> where
    E: RefUnwindSafe

impl<E> Send for EbpfError<E> where
    E: Send

impl<E> Sync for EbpfError<E> where
    E: Sync

impl<E> Unpin for EbpfError<E> where
    E: Unpin

impl<E> UnwindSafe for EbpfError<E> where
    E: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<!> for T[src]

pub fn from(t: !) -> T[src]

Performs the conversion.

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

pub default fn to_string(&self) -> String[src]

Converts the given value to a String. Read more

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

pub fn vzip(self) -> V