Skip to content

node-modules/node-segfault-handler-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

59490aa · Feb 1, 2025

History

10 Commits
Feb 1, 2025
Feb 1, 2025
Feb 1, 2025
Feb 1, 2025
Feb 1, 2025
Feb 1, 2025
Feb 1, 2025
Feb 1, 2025
Feb 1, 2025
Feb 1, 2025
Jan 28, 2025
Feb 1, 2025
Feb 1, 2025
Feb 1, 2025
Feb 1, 2025
Feb 1, 2025
Feb 1, 2025
Feb 1, 2025
Feb 1, 2025
Feb 1, 2025

Repository files navigation

Quick Start

Install

npm i --save node-segfault-handler-rs

Manually register.

const { register } = require('node-segfault-handler-rs');

register();

Use node -r option

node -r node-segfault-handler-rs/register

Log

rust backtrace start
Backtrace [
    { fn: "std::backtrace_rs::backtrace::libunwind::trace", file: "/rustc/9fc6b43126469e3858e2fe86cafb4f0fd5068869/library/std/src/../../backtrace/src/backtrace/libunwind.rs", line: 116 },
    { fn: "std::backtrace_rs::backtrace::trace_unsynchronized", file: "/rustc/9fc6b43126469e3858e2fe86cafb4f0fd5068869/library/std/src/../../backtrace/src/backtrace/mod.rs", line: 66 },
    { fn: "std::backtrace::Backtrace::create", file: "/rustc/9fc6b43126469e3858e2fe86cafb4f0fd5068869/library/std/src/backtrace.rs", line: 331 },
    { fn: "node_segfault_handler_rs::segfault_handler::segfault_action", file: "./src/segfault_handler.rs", line: 12 },
    { fn: "__os_alloc_slow" },
    { fn: "node_segfault_handler_rs::__napi__cause_sigsegv::{{closure}}", file: "./src/lib.rs", line: 9 },
    { fn: "napi::bindgen_prelude::within_runtime_if_available", file: "/Users/killa/.cargo/registry/src/index.crates.io-6f17d22bba15001f/napi-2.16.13/src/lib.rs", line: 162 },
    { fn: "node_segfault_handler_rs::__napi__cause_sigsegv", file: "./src/lib.rs", line: 9 },
]
rust backtrace end
c backtrace start
0   node-segfault-handler-rs.darwin-arm 0x0000000116c4da28 _ZN24node_segfault_handler_rs16segfault_handler15segfault_action17h10628a5b3a9c0f7bE + 576
1   libsystem_platform.dylib            0x000000019a19ee04 _sigtramp + 56
2   node-segfault-handler-rs.darwin-arm 0x0000000116c4dfcc _ZN24node_segfault_handler_rs21__napi__cause_sigsegv28_$u7b$$u7b$closure$u7d$$u7d$17hd374b5527e7afc97E + 28
3   node-segfault-handler-rs.darwin-arm 0x0000000116c4c994 _ZN4napi15bindgen_prelude27within_runtime_if_available17h144884eeb82fdcd8E + 24
4   node-segfault-handler-rs.darwin-arm 0x0000000116c4ca08 _ZN24node_segfault_handler_rs21__napi__cause_sigsegv17h35cd5920ef74f338E + 32
5   node                                0x0000000100e7cda8 _ZN6v8impl12_GLOBAL__N_123FunctionCallbackWrapper6InvokeERKN2v820FunctionCallbackInfoINS2_5ValueEEE + 108
6   node                                0x00000001010b9bc8 _ZN2v88internal12_GLOBAL__N_119HandleApiCallHelperILb0EEENS0_11MaybeHandleINS0_6ObjectEEEPNS0_7IsolateENS0_6HandleINS0_10HeapObjectEEENS8_INS0_20FunctionTemplateInfoEEENS8_IS4_EEPmi + 728
7   node                                0x00000001010b92c0 _ZN2v88internal21Builtin_HandleApiCallEiPmPNS0_7IsolateE + 192
8   node                                0x0000000101940b24 Builtins_CEntry_Return1_ArgvOnStack_BuiltinExit + 100
9   node                                0x00000001018b83e4 Builtins_InterpreterEntryTrampoline + 260
10  node                                0x00000001018b83e4 Builtins_InterpreterEntryTrampoline + 260
11  node                                0x00000001018b83e4 Builtins_InterpreterEntryTrampoline + 260
12  node                                0x00000001018b650c Builtins_JSEntryTrampoline + 172
13  node                                0x00000001018b61f4 Builtins_JSEntry + 148
14  node                                0x000000010118dbc8 _ZN2v88internal12_GLOBAL__N_16InvokeEPNS0_7IsolateERKNS1_12InvokeParamsE + 2972
15  node                                0x000000010118d014 _ZN2v88internal9Execution4CallEPNS0_7IsolateENS0_6HandleINS0_6ObjectEEES6_iPS6_ + 200
16  node                                0x0000000101067904 _ZN2v88Function4CallENS_5LocalINS_7ContextEEENS1_INS_5ValueEEEiPS5_ + 520
17  node                                0x0000000100e64868 _ZN4node11Environment9RunTimersEP10uv_timer_s + 552
18  node                                0x0000000101894634 uv__run_timers + 40
19  node                                0x0000000101897e94 uv_run + 1372
20  node                                0x0000000100ded6f0 _ZN4node21SpinEventLoopInternalEPNS_11EnvironmentE + 256
21  node                                0x0000000100f033f0 _ZN4node16NodeMainInstance3RunEPNS_8ExitCodeEPNS_11EnvironmentE + 316
22  node                                0x0000000100f03104 _ZN4node16NodeMainInstance3RunEv + 124
23  node                                0x0000000100e8afa0 _ZN4node5StartEiPPc + 640
24  dyld                                0x0000000199de8274 start + 2840
c backtrace end
v8 backtrace start
 <anonymous> (/Users/killa/workspace/projects/node-segfault-handler-rs/node-segfault-handler-rs/test/fixtures/test.js:6:3)
 listOnTimeout (node:internal/timers:581:17)
 processTimers (node:internal/timers:519:7)
v8 backtrace end

For Developer

Test

Run build before test if modified rust code.

npm run build
npm run test

Acknowledgements

  • Inspired by node-segfault-handler for its implementation of backtrace.
  • Thanks to the napi-rs for delivering an amazing Rust development experience.