Your message dated Sat, 28 Mar 2026 18:32:27 +0100
with message-id <[email protected]>
and subject line Re: Bug#1127698: djbdns: autopkgtest failure with glibc 2.43
on arm64, not compatible with 2MB THP
has caused the Debian Bug report #1127698,
regarding djbdns: autopkgtest failure with glibc 2.43 on arm64, not compatible
with 2MB THP
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
1127698: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1127698
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: djbdns
Version: 1:1.05-22.1
Severity: important
Tags: upstream patch
X-Debbugs-Cc: [email protected]
User: [email protected]
Usertags: arm64
Dear maintainer,
djbdns autopkgtest fails on arm64 when run against glibc 2.43, currently
in experimental. From the autopkgtest log:
| 37s ==== test_tinydns_run_udp
| 37s - spawned process 3012
| 37s - waiting for the 'starting tinydns' line
| 37s - got line 'starting tinydns\n'
| 37s - tinydns is listening at 127.6.16.1:53
| 37s - query packet:
b'\x00\x11\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x07example\x03com\x00\x00\x01\x00\x01'
| 37s - we spawned a process, checking if it has exited
| 37s Terminating process 3012
| 38s Query 8: expected a '+' in the tinydns log line '7f000001:e214:0018 -
0001 example.com\n'
| 38s autopkgtest [16:09:28]: test tinytest: -----------------------]
https://ci.debian.net/data/autopkgtest/unstable/arm64/d/djbdns/68572095/log.gz
After investigation, the failure is due to 2MB THP being enabled by
default in glibc 2.43 on arm64. This increases the size of the data
segment, causing it to exceed the soft limit defined by tinydns-conf.
The issue can also be reproduced with glibc 2.42, even on amd64, by
setting the GLIBC_TUNABLES environment variable to
glibc.malloc.hugetlb=2.
A possible way to fix the issue is to increase the data segment limit.
It seems that raising it from 7000000 (or 3000000 before #996807) to
13000000 is enough. Tested with the corresponding patch:
--- djbdns-1.05/debian/patches/0011-datalimit.patch
+++ djbdns-1.05/debian/patches/0011-datalimit.patch
@@ -10,7 +10,7 @@
start("run");
outs("#!/bin/sh\nexec 2>&1\nexec envdir ./env sh -c '\n exec envuidgid ");
outs(user);
- outs(" softlimit -d300000 tcpserver -vDRHl0 -x tcp.cdb -- \"$IP\" 53 ");
-+ outs(" softlimit -d700000 tcpserver -vDRHl0 -x tcp.cdb -- \"$IP\" 53 ");
++ outs(" softlimit -d1300000 tcpserver -vDRHl0 -x tcp.cdb -- \"$IP\" 53 ");
outs(auto_home); outs("/sbin/axfrdns\n'\n");
finish();
perm(0755);
@@ -21,7 +21,7 @@
seed_addtime(); start("env/CACHESIZE"); outs("1000000\n"); finish();
seed_addtime(); perm(0644);
- seed_addtime(); start("env/DATALIMIT"); outs("3000000\n"); finish();
-+ seed_addtime(); start("env/DATALIMIT"); outs("7000000\n"); finish();
++ seed_addtime(); start("env/DATALIMIT"); outs("13000000\n"); finish();
seed_addtime(); perm(0644);
seed_addtime(); start("run");
outs("#!/bin/sh\nexec 2>&1\nexec <seed\nexec envdir ./env sh -c '\n exec
envuidgid "); outs(user);
@@ -32,7 +32,7 @@
start("run");
outs("#!/bin/sh\nexec 2>&1\nexec envuidgid "); outs(user);
- outs(" envdir ./env softlimit -d300000 ");
-+ outs(" envdir ./env softlimit -d700000 ");
++ outs(" envdir ./env softlimit -d1300000 ");
outs(auto_home); outs("/sbin/tinydns\n");
finish();
perm(0755);
Regards
Aurelien
--- End Message ---
--- Begin Message ---
Hi,
On 2026-02-11 23:07, Aurelien Jarno wrote:
> Source: djbdns
> Version: 1:1.05-22.1
> Severity: important
> Tags: upstream patch
> X-Debbugs-Cc: [email protected]
> User: [email protected]
> Usertags: arm64
>
> Dear maintainer,
>
> djbdns autopkgtest fails on arm64 when run against glibc 2.43, currently
> in experimental. From the autopkgtest log:
>
> | 37s ==== test_tinydns_run_udp
> | 37s - spawned process 3012
> | 37s - waiting for the 'starting tinydns' line
> | 37s - got line 'starting tinydns\n'
> | 37s - tinydns is listening at 127.6.16.1:53
> | 37s - query packet:
> b'\x00\x11\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x07example\x03com\x00\x00\x01\x00\x01'
> | 37s - we spawned a process, checking if it has exited
> | 37s Terminating process 3012
> | 38s Query 8: expected a '+' in the tinydns log line '7f000001:e214:0018 -
> 0001 example.com\n'
> | 38s autopkgtest [16:09:28]: test tinytest: -----------------------]
>
> https://ci.debian.net/data/autopkgtest/unstable/arm64/d/djbdns/68572095/log.gz
>
> After investigation, the failure is due to 2MB THP being enabled by
> default in glibc 2.43 on arm64. This increases the size of the data
> segment, causing it to exceed the soft limit defined by tinydns-conf.
>
> The issue can also be reproduced with glibc 2.42, even on amd64, by
> setting the GLIBC_TUNABLES environment variable to
> glibc.malloc.hugetlb=2.
>
> A possible way to fix the issue is to increase the data segment limit.
> It seems that raising it from 7000000 (or 3000000 before #996807) to
> 13000000 is enough. Tested with the corresponding patch:
Starting with glibc 2.43-2, glibc uses a different approach to enable
THP on arm64, which doesn't trigger this issue anymore. I am therefore
closing the bug.
Regards
Aurelien
--
Aurelien Jarno GPG: 4096R/1DDD8C9B
[email protected] http://aurel32.net
--- End Message ---