-
-
Notifications
You must be signed in to change notification settings - Fork 105
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
Versions 4.10.0 and 4.10.1 hanging at startup with high CPU load #382
Comments
Hi @regbinkk. Thanks for reporting! I suspect the values for the The case Jaap described was running FreeBSD in a RHEL6 hypervisor that returned the "wrong" values. Anything special about your setup? Can you run the cpuid ( Lastly, to work around the issue (until I add a configuration option), you can set the Thanks again for reporting! |
Hi and thanks for answering.
Nothing really special - FreeBSD on a hardware machine. The nsd service is running in a jail but to rule problems with that out I mirrored the setup outside of the jail with the very same results.
Attaching the cpuid info as a file to avoid the wall of text - cpuid.txt.
That worked just fine. The manual check with
You're most welcome. Thanks again for your time! |
@regbinkk, can you try and compile https://github.com/NLnetLabs/simdzone standalone using CMake and run the The first time around the binary should crash. Then changing this line to read |
@k0ekk0ek hi, following the instructions for compiling in release mode ('cd zone-parser'??!?) and parsing the example zone, those are the test results I get:
After the code change and rebuild:
Please let me know if you need detailed info (build log, etc.). |
Thanks for testing @regbinkk! Glad the assumption was correct. I don't need the log. I'll push the fix asap and everything should work correctly with 4.10.2. Thanks again for reporting and testing 👍 |
The Westmere kernel was selected if SSE4.2 was detected causing an illegal instruction on processors that support SSE4.2 but not CLMUL. Fixes NLnetLabs/nsd#382.
Thanks a lot @k0ekk0ek for your time and efforts investigating and fixing an issue that might only be relevant to a negligible small number of people :). |
The fix is merged and will ship in the upcoming release. |
Reposting my original bug report from the FreeBSD bugtracker because I was politely asked to.
General problem description
Version 4.10.0 and subsequently 4.10.1 hangs indefinitely at startup causing high CPU load. Apparently that happens while parsing the zone files. Without any zone files configured the service starts normally. There are only a couple of zone files with < 100 entries each. Even the minimalistic zone from the official nsd documentation alone triggers the same behaviour. Same configuration works fine with versions < 4.10. No log/console output even with max verbosity and debugging on.
FreeBSD 13.3-RELEASE/amd64
Extra info
Tested with both nsd 4.9.1 and 4.10.1.
nsd-checkconf returns no errors in both versions. nsd-checkzone returns no error in version 4.9.1, however the same zone files (also the example.com zone) in version 4.10.1 result in
Starting the service (version 4.10.1) with 'verbosity: 3' produces only:
Manually killing the nsd sub-process (since it's not responding to any commands) produces:
That's how nsd looks like in the process list:
I cannot reproduce the problem with the same configuration files on any other machine. Is it possible that I've hit some zone-parsing simdzone bug in combination with old hardware? The problematic nsd instance is running on a rather old machine:
CPU: Intel(R) Core(TM) i5 CPU 760 @ 2.80GHz (2809.95-MHz K8-class CPU)
SSE4.2 instructions seem to be available, AVX2 on the other hand - not. I'm not aware of the internal nsd/simdzone workings in such a situation. On the FreeBSD bugtracker Jaap Akkerhuis pointed out that something similar was already reported:
The text was updated successfully, but these errors were encountered: