Threaded DNS = memory fault #890

Open
opened 2026-10-05 04:50:59 +02:00 by adam · 7 comments
Owner

I try to make ZNC run on my OmniOS server, installed via pkgsrc:

$ znc --version
ZNC 1.7.1 - https://znc.in
IPv6: yes, SSL: yes, DNS: threads, charset: yes, i18n: no, build: autoconf

I imported my configuration from my old FreeBSD server. It still seems to have been not the brightest idea:

$ znc -D
... a lot of log lines, until ...
[2018-12-31 23:30:45.896799] Error in threaded DNS: node name or service name not known
Memory fault

This happens all the time, with no clear indication of which user or even network (or "node name or service name") was affected. I suspect that the "error catcher" is broken or something. Any ideas?

I try to make ZNC run on my OmniOS server, installed via *pkgsrc*: $ znc --version ZNC 1.7.1 - https://znc.in IPv6: yes, SSL: yes, DNS: threads, charset: yes, i18n: no, build: autoconf I imported my configuration from my old FreeBSD server. It still seems to have been not the brightest idea: $ znc -D ... a lot of log lines, until ... [2018-12-31 23:30:45.896799] Error in threaded DNS: node name or service name not known Memory fault This happens all the time, with no clear indication of which user or even network (or "node name or service name") was affected. I suspect that the "error catcher" is broken or something. Any ideas? <!-- github-sync-id:395038778 -->
Author
Owner

Could you show some lines before that line? How long after startup that happens?

Could you show some lines before that line? How long after startup that happens? <!-- github-comment-id:450710123 -->
Author
Owner

Almost a minute. The log shows the usual IRC interaction over all users and networks, with the previous lines being two different users successfully processing messages on different networks to which they were already connected. As far as I could see, ZNC was essentially done connecting everything, so the message makes not much sense to me.

I'd prefer to not attach too many details about users/networks in a public ticket unless it's absolutely necessary. (Is it?)

Almost a minute. The log shows the usual IRC interaction over all users and networks, with the previous lines being two different users successfully processing messages on different networks to which they *were already connected*. As far as I could see, ZNC was essentially done connecting everything, so the message makes not much sense to me. I'd prefer to not attach too many details about users/networks in a public ticket unless it's absolutely necessary. (Is it?) <!-- github-comment-id:450710267 -->
Author
Owner

If you check for all the DNS lines in the log, maybe there is a mismatch somewhere of what connected and what did not, so from that you can say which exactly domain didn't work.

I'd prefer to not attach too many details about users/networks in a public ticket unless it's absolutely necessary.

It's not necessary. But it might help troubleshooting this...

Try gdb? https://wiki.znc.in/Debugging (does the package have the debug symbols?)

If you check for all the DNS lines in the log, maybe there is a mismatch somewhere of what connected and what did not, so from that you can say which exactly domain didn't work. > I'd prefer to not attach too many details about users/networks in a public ticket unless it's absolutely necessary. It's not necessary. But it might help troubleshooting this... Try gdb? https://wiki.znc.in/Debugging (does the package have the debug symbols?) <!-- github-comment-id:450710528 -->
Author
Owner

(does the package have the debug symbols?)

It does not seem to.

Does ZNC have a certain DNS tag for those log lines? The log is rather long (and I usually don't redirect those to a file).

> (does the package have the debug symbols?) It does not seem to. Does ZNC have a certain DNS tag for those log lines? The log is rather long (and I usually don't redirect those to a file). <!-- github-comment-id:450710666 -->
Author
Owner

You can grep for dns and TDNS

You can grep for `dns` and `TDNS` <!-- github-comment-id:450710762 -->
Author
Owner

I'll do that tomorrow. :-)

Thank you for today.

I'll do that tomorrow. :-) Thank you for today. <!-- github-comment-id:450711053 -->
Author
Owner

I tried:

$ znc -D | grep -E 'dns|TDNS'
[2019-01-01 16:47:20.294083] TDNS: IRC::tux.::EFnet, connecting to [217.17.33.10] using bindhost [185.207.106.218]
[2019-01-01 16:49:21.205167] TDNS: initiating resolving of [irc.mozilla.org] and bindhost [irc.rosaelefanten.org]
[2019-01-01 16:49:21.313662] TDNS: IRC::tux.::Mozilla, connecting to [63.245.208.110] using bindhost [185.207.106.218]
[2019-01-01 16:49:26.288999] TDNS: initiating resolving of [irc.quakenet.org] and bindhost [irc.rosaelefanten.org]
[2019-01-01 16:49:26.289538] TDNS: IRC::tux.::default, connecting to [83.140.172.210] using bindhost [185.207.106.218]
[2019-01-01 16:49:31.382712] TDNS: initiating resolving of [chat.freenode.net] and bindhost [irc.rosaelefanten.org]
[2019-01-01 16:49:31.543283] TDNS: IRC::tux.::freenode, connecting to [107.182.226.199] using bindhost [185.207.106.218]
[2019-01-01 16:49:39.686532] TDNS: initiating resolving of [irc.snoonet.org] and bindhost [irc.rosaelefanten.org]
[2019-01-01 16:49:39.793901] TDNS: IRC::tux.::snoonet, connecting to [107.152.98.2] using bindhost [185.207.106.218]
[2019-01-01 16:49:47.481162] TDNS: initiating resolving of [de.quakenet.org] and bindhost [irc.rosaelefanten.org]
$

A-ha! But a crash is probably still the wrong thing to do.

Plus, why does my FreeBSD ZNC do it without an issue? FWIW, it even has the same build configuration:

# znc --version
ZNC 1.7.1 - https://znc.in
IPv6: yes, SSL: yes, DNS: threads, charset: yes, i18n: no, build: autoconf
I tried: $ znc -D | grep -E 'dns|TDNS' [2019-01-01 16:47:20.294083] TDNS: IRC::tux.::EFnet, connecting to [217.17.33.10] using bindhost [185.207.106.218] [2019-01-01 16:49:21.205167] TDNS: initiating resolving of [irc.mozilla.org] and bindhost [irc.rosaelefanten.org] [2019-01-01 16:49:21.313662] TDNS: IRC::tux.::Mozilla, connecting to [63.245.208.110] using bindhost [185.207.106.218] [2019-01-01 16:49:26.288999] TDNS: initiating resolving of [irc.quakenet.org] and bindhost [irc.rosaelefanten.org] [2019-01-01 16:49:26.289538] TDNS: IRC::tux.::default, connecting to [83.140.172.210] using bindhost [185.207.106.218] [2019-01-01 16:49:31.382712] TDNS: initiating resolving of [chat.freenode.net] and bindhost [irc.rosaelefanten.org] [2019-01-01 16:49:31.543283] TDNS: IRC::tux.::freenode, connecting to [107.182.226.199] using bindhost [185.207.106.218] [2019-01-01 16:49:39.686532] TDNS: initiating resolving of [irc.snoonet.org] and bindhost [irc.rosaelefanten.org] [2019-01-01 16:49:39.793901] TDNS: IRC::tux.::snoonet, connecting to [107.152.98.2] using bindhost [185.207.106.218] [2019-01-01 16:49:47.481162] TDNS: initiating resolving of [de.quakenet.org] and bindhost [irc.rosaelefanten.org] $ A-ha! But a crash is probably still the wrong thing to do. Plus, why does my FreeBSD ZNC do it without an issue? FWIW, it even has the same build configuration: # znc --version ZNC 1.7.1 - https://znc.in IPv6: yes, SSL: yes, DNS: threads, charset: yes, i18n: no, build: autoconf <!-- github-comment-id:450739271 -->
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: adam/znc#890