oven-sh/bun · error

FIXME TODO

Error message

FIXME TODO

What it means

Error "FIXME TODO" thrown in oven-sh/bun.

Source

Thrown at src/event_loop/MiniEventLoop.rs:424

        unsafe { (*self.loop_ptr()).wakeup() };
    }
}

// ───────────── EventLoopCtx adapter (bun_io cycle-break) ─────────────────
// `bun_io::file_poll::Store::put` and friends take an erased `EventLoopCtx`
// instead of naming `MiniEventLoop`/`VirtualMachine` directly. This crate owns
// `MiniEventLoop`, so the Mini-side vtable lives here. The Js-side vtable lives
// in `bun_runtime` (it must name `jsc::VirtualMachine`).

bun_io::link_impl_EventLoopCtx! {
    Mini for MiniEventLoop => |this| {
        platform_event_loop_ptr() => (*this).loop_ptr(),
        // `file_polls_raw` to avoid aliased `&mut MiniEventLoop` while `tick*`
        // holds `&mut self` across the re-entrant `UwsLoop::tick()` that
        // reaches this body.
        file_polls_ptr()  => MiniEventLoop::file_polls_raw(this),
        // Mini has no pending_unref_counter; the upstream deliberately panics.
        increment_pending_unref_counter() => panic!("FIXME TODO"),
        after_event_loop_callback() => (*this).after_event_loop_callback,
        set_after_event_loop_callback(cb, ctx) => {
            (*this).after_event_loop_callback = cb;
            (*this).after_event_loop_callback_ctx = ctx;
        },
        pipe_read_scratch() => &raw const *(*this).pipe_read_scratch,
    }
}

impl MiniEventLoop {
    /// `this` is the per-thread `MiniEventLoop` singleton; the returned ctx
    /// must not outlive it.
    #[inline]
    pub fn as_event_loop_ctx(this: &mut MiniEventLoop) -> bun_io::EventLoopCtx {
        // SAFETY: `this` is a live `&mut`, so the pointer handed to `new` is
        // non-null and exclusively borrowed for the call's duration.
        unsafe { bun_io::EventLoopCtx::new(bun_io::EventLoopCtxKind::Mini, this) }
    }

View on GitHub (pinned to 8c5296ac45)

When it happens

Trigger: Thrown at src/event_loop/MiniEventLoop.rs:424 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/beaaf9b5aad1515f. Report an issue: GitHub.