{"record":{"id":"44bc43a655369c32","repo":"oven-sh/bun","slug":"getentropy-failed","errorCode":null,"errorMessage":"getentropy failed","messagePattern":"getentropy failed","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/bun_core/util.rs","lineNumber":2739,"sourceCode":"            };\n            if rc < 0 {\n                let err = crate::ffi::errno();\n                if err == libc::EINTR {\n                    continue;\n                }\n                panic!(\"getrandom failed: errno {err}\");\n            }\n            filled += rc as usize;\n        }\n    }\n    #[cfg(any(target_os = \"macos\", target_os = \"ios\", target_os = \"freebsd\"))]\n    {\n        // getentropy caps at 256 bytes per call.\n        for chunk in bytes.chunks_mut(256) {\n            // SAFETY: chunk is a valid writable slice ≤ 256 bytes.\n            let rc = unsafe { libc::getentropy(chunk.as_mut_ptr().cast(), chunk.len()) };\n            if rc != 0 {\n                panic!(\"getentropy failed\");\n            }\n        }\n    }\n    #[cfg(windows)]\n    {\n        unsafe extern \"system\" {\n            // advapi32!SystemFunction036 a.k.a. RtlGenRandom — what BoringSSL uses on Windows.\n            #[link_name = \"SystemFunction036\"]\n            fn RtlGenRandom(buf: *mut u8, len: u32) -> u8;\n        }\n        for chunk in bytes.chunks_mut(u32::MAX as usize) {\n            // SAFETY: chunk fits in u32; RtlGenRandom writes exactly that many bytes.\n            let ok = unsafe { RtlGenRandom(chunk.as_mut_ptr(), chunk.len() as u32) };\n            if ok == 0 {\n                panic!(\"RtlGenRandom failed\");\n            }\n        }\n    }","sourceCodeStart":2721,"sourceCodeEnd":2757,"githubUrl":"https://github.com/oven-sh/bun/blob/8c5296ac459e8252d3cd702f3fbcbb0c249d95d5/src/bun_core/util.rs#L2721-L2757","documentation":"Error \"getentropy failed\" thrown in oven-sh/bun.","triggerScenarios":"Thrown at src/bun_core/util.rs:2739 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"8c5296ac459e8252d3cd702f3fbcbb0c249d95d5","analyzedAt":"2026-08-16T08:01:58.794Z","schemaVersion":2},"datasetVersion":"2026-08-16T08:17:34.114Z"}