Default -trace-max-recursion causes a server crash #707
Labels
Status: Completed
Nothing further to be done with this issue. Awaiting to be closed.
Type: Bug
Inconsistencies or issues which will cause an issue or problem for users or implementors.
dnsx version:
1.2.1
Current Behavior:
Running dnsx with 200 threads and 2 MM domains crashed my server several times, using a total of 14
GB of RAM + 10 GB of swap. When the SWAP was filled completely, the server entered in an unrecoverable state. I couldn't find the reason for around a week, but today I found a domain with infinite recursion.
This domain gives
SERVFAIL
and theCNAME
definition was recursive. The trace keeps running until 32767 steps in the recursion are completed or until the RAM and SWAP gets to 100%. I think the default value is too high:-trace-max-recursion int Max recursion for dns trace (default 32767)
I haven't found cases that are not recursive that have more than 10 steps in the trace recursion.
Expected Behavior:
With a considerable lower default max recursion value is very unlikely a server resources will be exhausted.
Steps To Reproduce:
echo lb.devicemanager.central.arubanetworks.com|dnsx -rc servfail -r 1.1.1.1 -trace -j -debug
It keeps running for a long time. No debug info is shown.
echo lb.devicemanager.central.arubanetworks.com|dnsx -rc servfail -r 1.1.1.1 -trace -j -debug -trace-max-recursion 10
The second case returns in a couple of seconds.
The text was updated successfully, but these errors were encountered: