oven-sh/bun · error
getentropy failed
Error message
getentropy failed
What it means
Error "getentropy failed" thrown in oven-sh/bun.
Source
Thrown at src/bun_core/util.rs:2739
};
if rc < 0 {
let err = crate::ffi::errno();
if err == libc::EINTR {
continue;
}
panic!("getrandom failed: errno {err}");
}
filled += rc as usize;
}
}
#[cfg(any(target_os = "macos", target_os = "ios", target_os = "freebsd"))]
{
// getentropy caps at 256 bytes per call.
for chunk in bytes.chunks_mut(256) {
// SAFETY: chunk is a valid writable slice ≤ 256 bytes.
let rc = unsafe { libc::getentropy(chunk.as_mut_ptr().cast(), chunk.len()) };
if rc != 0 {
panic!("getentropy failed");
}
}
}
#[cfg(windows)]
{
unsafe extern "system" {
// advapi32!SystemFunction036 a.k.a. RtlGenRandom — what BoringSSL uses on Windows.
#[link_name = "SystemFunction036"]
fn RtlGenRandom(buf: *mut u8, len: u32) -> u8;
}
for chunk in bytes.chunks_mut(u32::MAX as usize) {
// SAFETY: chunk fits in u32; RtlGenRandom writes exactly that many bytes.
let ok = unsafe { RtlGenRandom(chunk.as_mut_ptr(), chunk.len() as u32) };
if ok == 0 {
panic!("RtlGenRandom failed");
}
}
}View on GitHub (pinned to 8c5296ac45)
When it happens
Trigger: Thrown at src/bun_core/util.rs:2739 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/44bc43a655369c32.
Report an issue: GitHub.