[libos] Enable backtrace for memory allocation failure
This commit is contained in:
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,
|
||||||
|
Loading…
Reference in New Issue
Block a user