oven-sh/bun · error · MachoError

MissingRequiredSegment

Error message

MissingRequiredSegment

What it means

Error "MissingRequiredSegment" thrown in oven-sh/bun.

Source

Thrown at src/exe_format/macho.rs:28

const SEGNAME_BUN: [u8; 16] = *b"__BUN\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00";
const SECTNAME: [u8; 16] = *b"__bun\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00";

#[derive(Debug, Copy, Clone, PartialEq, Eq, thiserror::Error, strum::IntoStaticStr)]
pub enum MachoError {
    #[error("InvalidObject")]
    InvalidObject,
    #[error("MissingLinkeditSegment")]
    MissingLinkeditSegment,
    #[error("OffsetOutOfRange")]
    OffsetOutOfRange,
    #[error("OffsetOverflow")]
    OffsetOverflow,
    #[error("InvalidLinkeditOffset")]
    InvalidLinkeditOffset,
    #[error("OverlappingSegments")]
    OverlappingSegments,
    #[error("MissingRequiredSegment")]
    MissingRequiredSegment,
    #[error("OutOfMemory")]
    OutOfMemory,
}
bun_core::oom_from_alloc!(MachoError);

pub struct MachoFile {
    pub(crate) header: macho::mach_header_64,
    pub(crate) data: Vec<u8>,
    pub(crate) segment: macho::segment_command_64,
    pub(crate) section: macho::section_64,
}

/// Expands to one `shift_one` call per named field.
macro_rules! shift_fields {
    ($shifter:expr, $value:expr, $($field:ident),+ $(,)?) => {{
        $( $shifter.shift_one(&mut $value.$field)?; )+
    }};

View on GitHub (pinned to 8c5296ac45)

When it happens

Trigger: Thrown at src/exe_format/macho.rs:28 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of oven-sh/bun@8c5296ac45 (2026-08-16). Data as JSON: /api/errors/e0fe6b380bf6abef. Report an issue: GitHub.