Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SIGSEGV once in a while while running tests #24

Open
joelpurra opened this issue Apr 5, 2017 · 1 comment
Open

SIGSEGV once in a while while running tests #24

joelpurra opened this issue Apr 5, 2017 · 1 comment

Comments

@joelpurra
Copy link
Collaborator

When running the test suite for v2.0.0-alpha.1, it might happen that a SIGSEGV is thrown. The cause is unclear, and it only happens every few hundred test cases or few thousand DNS lookups.

  • It might be related to outstanding queries.
  • There might be a race condition.
  • It might be because of ctx.destroy() being called from a callback.

This needs more investigation.

See for example

Sample console output:

PID 83504 received SIGSEGV for address: 0x10
0   segfault-handler.node               0x00000001022e9d2b _ZL16segfault_handleriP9__siginfoPv + 283
1   libsystem_platform.dylib            0x00007fff9264ef1a _sigtramp + 26
2   ???                                 0x0000000300000000 0x0 + 12884901888
3   libunbound.2.dylib                  0x000000010473cb3f comm_point_close + 32
4   libunbound.2.dylib                  0x00000001047408a1 portcomm_loweruse + 58
5   libunbound.2.dylib                  0x000000010474354e serviced_delete + 68
6   libunbound.2.dylib                  0x000000010470ecab outbound_list_clear + 30
7   libunbound.2.dylib                  0x00000001046ff986 iter_clear + 46
8   libunbound.2.dylib                  0x000000010470d04a mesh_state_cleanup + 279
9   libunbound.2.dylib                  0x000000010470bc3f mesh_state_delete + 352
10  libunbound.2.dylib                  0x000000010470b7f6 mesh_delete + 38
11  libunbound.2.dylib                  0x00000001046ee65d libworker_delete_env + 42
12  libunbound.2.dylib                  0x00000001046ee615 libworker_delete_event + 22
13  libunbound.2.dylib                  0x00000001046eb7a9 ub_ctx_delete + 829
14  libgetdns.1.dylib                   0x00000001046a7bfe getdns_context_destroy + 126
15  getdns.node                         0x00000001043c8ef0 _ZN9GNContext7DestroyERKN3Nan20FunctionCallbackInfoIN2v85ValueEEE + 92
16  getdns.node                         0x00000001043caedd _ZN3Nan3impL23FunctionCallbackWrapperERKN2v820FunctionCallbackInfoINS1_5ValueEEE + 141
17  node                                0x00000001001795d1 _ZN2v88internal25FunctionCallbackArguments4CallEPFvRKNS_20FunctionCallbackInfoINS_5ValueEEEE + 369
18  node                                0x00000001001e73ac _ZN2v88internal12_GLOBAL__N_119HandleApiCallHelperILb0EEENS0_11MaybeHandleINS0_6ObjectEEEPNS0_7IsolateENS0_6HandleINS0_10HeapObjectEEESA_NS8_INS0_20FunctionTemplateInfoEEENS8_IS4_EENS0_16BuiltinArgumentsE + 924
19  node                                0x00000001001e6809 _ZN2v88internalL26Builtin_Impl_HandleApiCallENS0_16BuiltinArgumentsEPNS0_7IsolateE + 281
20  ???                                 0x00003e3fad2843a7 0x0 + 68443208958887
21  ???                                 0x00003e3fad5d8719 0x0 + 68443212449561
@joelpurra
Copy link
Collaborator Author

  • The SIGSEGV happens intermittently on all tested versions of node.js.
  • Rerunning tests usually works fine, also on the build server.
  • getdns-node is currently targeting getdns v1.0.0.
  • The build server only reports the last part of the stack trace, which is the segfault-handler installed to, eh, show stack traces.
  • Locally a full stack trace is shown, as well as a crash.log produced.

Sample build server output, from #103.5 failed building Pull Request #22 Release/v2.0.0-alpha.1.

PID 5612 received SIGSEGV for address: 0x4bc4730
/home/travis/build/getdnsapi/getdns-node/node_modules/segfault-handler/build/Release/segfault-handler.node(+0x1b23)[0x7f55279b9b23]
/lib/x86_64-linux-gnu/libpthread.so.0(+0xfcb0)[0x7f5537033cb0]
[0x4bc4730]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant