-
-
Notifications
You must be signed in to change notification settings - Fork 13k
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
djbdns' tinydns does not answer requests after a few requests #119066
Comments
I don't have 30286eb in my server that's using djbdns yet, so haven't noticed this problem. But four web citations is enough to convince me it's a real issue. Can we add a loop in the nixos test to capture the bug? If so then I think a patch that makes the test pass is a pretty easy sell. Thanks for documenting this so thoroughly! |
fixes NixOS#119066 some other tools in this suite have explicit 'softlimit -d's, but this is the only one known to fail, so let's just patch it for now.
I marked this as stale due to inactivity. → More info |
This fixes: NixOS#119066. When `djbdns` is repeatedly queried it will crash with: ``` mmap: tinydns (842): VmData 331776 exceed data ulimit 300000. Update limits or use boot option ignore_rlimit_data. ``` So we increase the softlimit from 300000 to 4500000 as suggested in the issue. The `tinydns` NixOS test has been extended with testing for the faulty behaviour.
Has a PR, no longer stale. |
Describe the bug
According to multiple sources [0,1,2,3] (and my experience), tinydns does not work well with glibc-2.32.
The first queries are answered (hence the NixOS test pass!) but at some point none of them are answered.
The (cryptic) errors show that tinydns drops the requests [4].
A fix consists of increasing the "softlimit". It worked for tinydns (see the patch is below).
I'm not sure how we want to handle this. This will probably not be patched upstream, so we could ship the patchs in nixpkgs.
I tested increasing the softlimit from -d300000 to -d4500000 and it works. But there are other tools in the package which could be affected as well (grep softlimit in the source code to find them) . I don't use them, don't know how to use them and don't know if they are currently broken (hence I'm filling an issue, not a PR for now). I admit that I did not read the whole mail thread. Other may have find the solutions.
[0] http://cr-yp-to.996295.n3.nabble.com/bug-in-tinydns-djbdns-td23629.html
[1] https://marc.info/?l=qmail&m=160609563211809&w=2
[2] https://rjp.is/blogging/posts/2020/11/tinydns-snafu/
[3] http://cr-yp-to.996295.n3.nabble.com/on-openbsd-s-malloc-init-mmap-failed-td23189.html
[4]
ip:port:0000 / 0000
http://www.dqd.com/~mayoff/notes/djbdns/tinydns-log.html#noqueryTo Reproduce
Steps to reproduce the behavior:
nix-build -E '(import <nixpkgs/nixos> { configuration = ./configuration.nix; }).vm' -I nixpkgs=/path/to/nixpkgs
until ! dig bla.foo.bar @127.0.0.1 ; do echo ; done
Log:
configuration.nix
:Expected behavior
The server should answer to all correct requests.
Notify maintainers
@basvandijk @jerith666
Metadata
"x86_64-linux"
Linux 5.10.27, NixOS, 21.05pre-git (Okapi)
yes
yes
nix-env (Nix) 2.3.10
"nixos-20.09.3774.a6847cb5460"
/nix/var/nix/profiles/per-user/root/channels/nixos
Note: I did not use the channel but a nixpkgs checkout on nixos-unstable (9e377a6).
Maintainer information:
The text was updated successfully, but these errors were encountered: