[libos] Enable backtrace for memory allocation failure

This commit is contained in:
Zheng, Qi 2023-01-29 10:52:47 +08:00 committed by volcano
parent 6107a32675
commit 386e968ccb

@ -103,6 +103,9 @@ pub extern "C" fn occlum_ecall_init(
// Enable global backtrace // Enable global backtrace
unsafe { backtrace::enable_backtrace(&ENCLAVE_PATH, PrintFormat::Short) }; unsafe { backtrace::enable_backtrace(&ENCLAVE_PATH, PrintFormat::Short) };
// Add hook for allocation error
std::alloc::set_alloc_error_hook(oom_handle);
}); });
// Parse host file // Parse host file
@ -149,6 +152,11 @@ pub extern "C" fn occlum_ecall_init(
0 0
} }
// hook for memory allocation error
fn oom_handle(layout: std::alloc::Layout) {
panic!("memory allocation of {} bytes failed\n", layout.size());
}
#[no_mangle] #[no_mangle]
pub extern "C" fn occlum_ecall_new_process( pub extern "C" fn occlum_ecall_new_process(
path_buf: *const c_char, path_buf: *const c_char,