BIND 9.17.20 leaks memory when used as a recursive resolver
BIND 9.17.20 release testing revealed that memory use grows
significantly over time when named
is used as a resolver.
This was already suspected in #2953, but the problem was not as apparent back then.
The tricky part about finding the root cause of this problem is that it does not manifest itself all the time. For example, consider the following 3 jobs, all of which were ran over the weekend 2 weeks ago for the exact same code revision (the results quoted come from FreeBSD jobs):
-
https://gitlab.isc.org/isc-projects/bind9/-/jobs/2065864
OK (click to expand)
2021-10-23:10:31:17 INFO: analysis for directory /var/tmp/gitlab_runner/builds/e-TSUMFs/0/isc-projects/bind9/output/ns3 Total of 121 measurements Mid point of run: Minimum: 303,776 KiB Maximum: 333,344 KiB Average: 314,357 KiB End of run: Minimum: 312,740 KiB Maximum: 341,716 KiB Average: 325,141 KiB
-
https://gitlab.isc.org/isc-projects/bind9/-/jobs/2066591
OK (click to expand)
2021-10-24:10:31:39 INFO: analysis for directory /var/tmp/gitlab_runner/builds/e-TSUMFs/0/isc-projects/bind9/output/ns3 Total of 121 measurements Mid point of run: Minimum: 291,820 KiB Maximum: 319,860 KiB Average: 305,058 KiB End of run: Minimum: 298,416 KiB Maximum: 336,140 KiB Average: 315,823 KiB
-
https://gitlab.isc.org/isc-projects/bind9/-/jobs/2067629
ERROR (click to expand)
2021-10-25:10:31:52 INFO: analysis for directory /var/tmp/gitlab_runner/builds/e-TSUMFs/0/isc-projects/bind9/output/ns3 Total of 121 measurements Mid point of run: Minimum: 376,972 KiB Maximum: 547,596 KiB Average: 452,970 KiB End of run: Minimum: 595,488 KiB Maximum: 747,184 KiB Average: 676,506 KiB
We need to get to the bottom of this before BIND 9.18.0 is released.
Edited by Michał Kępień