Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Bug#996807: tinydns stops replying to queries after a few hours

63 views
Skip to first unread message

Emil

unread,
Oct 19, 2021, 2:10:04 AM10/19/21
to
Package: tinydns
Version: 1:1.05-13
Severity: grave
Justification: renders package unusable


-- System Information:
Debian Release: bookworm/sid
APT prefers testing
APT policy: (700, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.16.0-1-amd64 (SMP w/2 CPU threads)
Kernel taint flags: TAINT_WARN
Locale: LANG=C.UTF-8, LC_CTYPE=ro_RO (charmap=ISO-8859-2), LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)

Versions of packages tinydns depends on:
ii init-system-helpers 1.60
ii libc6 2.31-17
ii runit-helper 2.10.3
ii sysuser-helper 1.3.5.1

Versions of packages tinydns recommends:
pn daemon <none>
pn runit <none>

tinydns suggests no packages.

-- no debconf information

None of the tinydns files have been changed when this bug started manifesting
(nor the ELF or its data files).
In fact it was an update of libc which caused this.

Any version of libc6 2.32-* will cause tinydns to ignore queries after a
while. dnscache runing on the same machine is not affected.

tinydns doesn't crash and there is nothing unusual in its logfiles.
If I kill the tinydns daemon then supervise will spawn another version
and it starts working again for a while then stops replying to queries.

Rolling back libc6 to version 2.31-17 makes tinydns working again.

Eric Krohn

unread,
Nov 7, 2021, 6:10:03 PM11/7/21
to
Emil,

I ran into this problem with an old self-maintained dbndjb 1.05-9
package's tinydns, but mine hung after just one or two queries after a
recent upgrade (including libc6 2.32-4) and reboot.

My ./run file was:
exec envuidgid tinydns envdir ./env softlimit -d300000 /usr/bin/tinydns

I tried running manually with strace interspersed, but that refused to
start until I dropped the softlimit -d300000 (data segment size), and
then it ran fine. That got me to thinking that the problem is running out
of memory. So I bumped up -d300000 to -d350000 in ./run and tinydns runs
quite well now.

The tinydns 1.05-13 package uses chpst (from runit) instead of softlimit
(from daemontools), but I think the intent is the same.

I conjecture that something in libc6 2.32 increased the size of the data
segment. The work around/fix is to increase the data segment limit in
tinydns package's ./run file.

Ideally, tinydns should detect the problem and complain. That would have
saved a lot of frustration.
0 new messages