DNSCrypt / dnscrypt-server-docker

A Docker image for a non-censoring, non-logging, DNSSEC-capable, DNSCrypt-enabled DNS resolver
https://dnscrypt.info
ISC License
660 stars 134 forks source link

General protection fault every 10 seconds #113

Closed MeganerdNL closed 1 year ago

MeganerdNL commented 2 years ago

I was watching my grafana stats and I noticed all stats are zeroed every 10 seconds. I looked at the pid of the encrypted-dns with

ps -a | grep encryped-dns

and noticed the PID is changing every 10 seconds, suggesting encrypted-dns was crashing and restarting every 10 seconds. Then I logged in to the container following this guide and noticed the pid of encrypted-dns was indeed changing every 10 seconds!

I looked at the logs with dmesg (logging out of the container again) and there it was: every 10 secons it crashed with an error like this:

traps: encrypted-dns-[4708] general protection fault ip:560674bbac21 sp:7fea6b5c1178 error:0 in encrypted-dns[560674af1000+1c7000]

the "ip" here is always different, the rest the same... I don't know how to debug further. Happy to provide more information.

When running:

docker top containerid:

I get:

runsvdir -P /etc/service log: ...................................................................................................................................thread 'encrypted-dns-' panicked at 'calledOption::unwrap()on aNonevalue', /root/.cargo/registry/src/github.com-1ecc6299db9ec823/encrypted-dns-0.9.7/src/main.rs:306:63 note: run withRUST_BACKTRACE=1environment variable to display a backtrace ..........

It's running on a fully updated (no VM) Debian 11 with docker command:

docker run --network=host --name=dnscrypt-server \
--restart=unless-stopped \
-v /etc/dnscrypt-server/keys:/opt/encrypted-dns/etc/keys \
jedisct1/dnscrypt-server init -N myhostname -A -M 0.0.0.0:9100 -T 127.0.0.1:8443 \
-E 'myip:443,[myipv6ip]:443'
MeganerdNL commented 2 years ago

Update: when using it without --net=host and no -T option there is no crash. Nor is it crashing with -T 127.0.0.1:someport. It seems that it has something to do with TLS forwarding outside the container.

MeganerdNL commented 2 years ago

It is solved with newest version of the docker image