Enum solana_rbpf::error::EbpfError
source · [−]pub enum EbpfError<E: UserDefinedError> {
Show 21 variants
UserError(E),
ElfError(ElfError),
SycallAlreadyRegistered(usize),
SyscallNotRegistered(usize),
SyscallAlreadyBound(usize),
CallDepthExceeded(usize, usize),
ExitRootCallFrame,
DivideByZero(usize),
ExecutionOverrun(usize),
CallOutsideTextSegment(usize, u64),
ExceededMaxInstructions(usize, u64),
JitNotCompiled,
InvalidVirtualAddress(u64),
InvalidMemoryRegion(usize),
AccessViolation(usize, AccessType, u64, u64, &'static str),
StackAccessViolation(usize, AccessType, u64, u64, i64),
InvalidInstruction(usize),
UnsupportedInstruction(usize),
ExhausedTextSegment(usize),
LibcInvocationFailed(&'static str, Vec<String>, i32),
VerifierError(VerifierError),
}
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(usize, usize)
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(usize, u64)
Attempt to call to an address outside the text segment
ExceededMaxInstructions(usize, u64)
Exceeded max instructions allowed
JitNotCompiled
Program has not been JIT-compiled
InvalidVirtualAddress(u64)
Invalid virtual address
InvalidMemoryRegion(usize)
Memory region index or virtual address space is invalid
AccessViolation(usize, AccessType, u64, u64, &'static str)
Access violation (general)
StackAccessViolation(usize, AccessType, u64, u64, i64)
Access violation (stack specific)
InvalidInstruction(usize)
Invalid instruction
UnsupportedInstruction(usize)
Unsupported instruction
ExhausedTextSegment(usize)
Compilation is too big to fit
LibcInvocationFailed(&'static str, Vec<String>, i32)
Libc function call returned an error
VerifierError(VerifierError)
ELF error
Trait Implementations
sourceimpl<E: Debug + UserDefinedError> Debug for EbpfError<E>
impl<E: Debug + UserDefinedError> Debug for EbpfError<E>
sourceimpl<E: UserDefinedError> Display for EbpfError<E>
impl<E: UserDefinedError> Display for EbpfError<E>
sourceimpl<E: UserDefinedError> Error for EbpfError<E>
impl<E: UserDefinedError> Error for EbpfError<E>
sourcefn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
The lower-level source of this error, if any. Read more
sourcefn backtrace(&self) -> Option<&Backtrace>
fn backtrace(&self) -> Option<&Backtrace>
backtrace
)Returns a stack backtrace, if available, of where this error occurred. Read more
1.0.0 · sourcefn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
sourceimpl<E: UserDefinedError> From<E> for EbpfError<E>
impl<E: UserDefinedError> From<E> for EbpfError<E>
sourceimpl<E: UserDefinedError> From<ElfError> for EbpfError<E>
impl<E: UserDefinedError> From<ElfError> for EbpfError<E>
sourceimpl<E: UserDefinedError> From<Error> for EbpfError<E>
impl<E: UserDefinedError> From<Error> for EbpfError<E>
sourcefn from(error: GoblinError) -> Self
fn from(error: GoblinError) -> Self
Performs the conversion.
sourceimpl<E: UserDefinedError> From<VerifierError> for EbpfError<E>
impl<E: UserDefinedError> From<VerifierError> for EbpfError<E>
sourcefn from(source: VerifierError) -> Self
fn from(source: VerifierError) -> Self
Performs the conversion.
impl<E: Eq + UserDefinedError> Eq for EbpfError<E>
impl<E: UserDefinedError> StructuralEq for EbpfError<E>
impl<E: UserDefinedError> StructuralPartialEq for EbpfError<E>
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
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more