-
Notifications
You must be signed in to change notification settings - Fork 30k
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
Segfault in v12.13.1 during GC #30875
Comments
That might be helpful; also, if you can, maybe give a debug build of Node.js a try. It’ll be slower but could provide a lot more information about what’s going wrong. |
I am also seeing a reproducible segfault in 12.13.1. @Sebmaster did you ever discover anything beyond your initial comment? |
I'm hoping to do some testing tomorrow. In our case this is only consistently reproducible when spinning up hundreds of child processes; limiting that number has allowed us to work around it for now. |
I tried replicating this again, but unfortunately wasn't able to (with a slightly changed setup) anymore. So I don't think I can track this down anymore. Sorry about that. |
We seem to be hitting very similar symptoms on 12.16.1. Our app doesn't use any native modules, so we can rule this out. If there is anything that we can try to diagnose the issue, I'm willing to try it. |
@CSLTech Yeah, it would be helpful to:
|
FYI, lldb usually produces a better stack trace for Node.js processes (gdb gets lost while unwinding V8 frames). llnode might be useful as well to see where in the JS stack your code is crashing. A core dump as @addaleax suggested would be great, but be careful not to share sensitive information publicly (if it is a core dump from a production server, or any application that deals with passwords in any way, it might be better not to share). |
Hi, Here is the stack trace that is returned by segfault-handler. This was running 12.15.0: /home/instant/run/run_20200306_220309/node_modules/segfault-handler/build/Release/segfault-handler.node(+0x2ca1)[0x7fdd90423ca1] |
Thanks for sharing. It does look like the same GC stack trace, but the first few frames are different. Demangled stack trace:
Are you experiencing the same issue on v12.16.1? V8 was upgraded on 12.16.0, if the issue was on V8 maybe it is fixed already. |
Hi, Here is the equivalent stack trace from 12.16.1 (Same JS code)
|
Hi, We have semi-reproductible code for it. We've tracked down the issues to one of our internal libraries that is shared by a few processes. All of which are affected by the issue. We are working on getting more information, but it's a bit slow going. |
@CSLTech - have you made any progress on this? We're seeing a very similar crash on v12.18.0.
|
@CSLTech were you able to root cause it or find a reproducible code? We also experience similar errors on node v12.15.0 which is causing our production servers to crash intermittently. Following are two different segfault errors which caused our servers to crash.
|
That failed check might give us a clue about what is happening, although looking at the code the check doesn't fit the stack trace. We still need a reproducible code to track down this issue (I tried to come up with some based on the stack traces, but none of the examples I tried are crashing). If anyone experiencing this issue could share the output of |
FWIW we upgraded to v14.4.0 and the problem went away. |
Closing this issue because v12.x goes EOL at the end of this month and no more releases are planned. |
Unfortunately it seems like I'm running into a consistently reproducible (with feedback loops of 20ish minutes) segfault during GC. Sadly it's part of a data pipeline so there's significant data flowing through the system so I don't even know how to start creating a repro. I managed to get a core dump however so I can run whatever commands are needed for debugging.
Basic gdb info is as follows:
Only native module in the project is unix-dgram@2.0.3.
I'll try to bisect some node versions to maybe make finding the root cause easier.
The text was updated successfully, but these errors were encountered: