On 03.02.2012 20:42, folkert wrote:
>>> Suddenly after a restart znc won't connect to irc.oftc.net 6667 and 
>>> irc.eu.rizon.net.
>>> So I did an strace on the process to see what was going on and saw this:
>>  
>>  what's the error message from ZNC?
> 20:23:20] *status: Cannot connect to IRC (Cannot assign requested
> address (Is your IRC server's host name valid?)). Retrying... 
> 
[...]

>> Also, you could start znc with the argument --debug --foreground and see if 
>> that
>> says anything more about the issue (although I'd almost doubt that).
> http://keetweej.vanheusden.com/~folkert/znc.log.gz
> 
> No more details than what it says in the irc channel.

Well, the log says a little more. This not only happens with irc.eu.rizon.net,
but also with irc.oftc.net. Also, each failure is preceded by:

  Csocket.cpp:267 DNS server returned answer with no data

Also, the log pretty much makes this clear already, but do you have any bindhost
set on your users?


On 03.02.2012 21:46, folkert wrote:
>>> Suddenly after a restart znc won't connect to irc.oftc.net 6667 and 
>>> irc.eu.rizon.net.
>>> So I did an strace on the process to see what was going on and saw this:
>>
>> what's the error message from ZNC?
>> For the strace results:
>> ZNC uses libc-ares2 for doing its DNS, so that bad recvfrom() would have to 
>> be a
>> bug in c-ares. Oh and btw 4294967295 (the fd used) is (uint32_t) -1.
> 
> So you're suggesting to file a bug for libc-ares2?
> Maybe you can give me some details on the situation (from a code point
> of view) in which this is happening?

If you want to, feel free.

Google found a "minimal c-ares example": http://paste.lisp.org/display/86982/raw
Compiling that and running it with google.com as its argument:

$ strace -e recvfrom ./a.out google.com 2>&1 1>/dev/null
recvfrom(3, "U\275\201\200\0\1\0\6\0\0\0\0\6google\3com\0\0\1\0\1\300\f\0\1"...,
513, 0, {sa_family=AF_INET, sin_port=htons(53),
sin_addr=inet_addr("127.0.0.1")}, [16]) = 124
recvfrom(4294967295, 0x7fff0be82940, 513, 0, 0x7fff0be82b50, 0x7fff0be82b6c) =
-1 EBADF (Bad file descriptor)

However, that failing syscall doesn't seem to have any bad effects.


I took a closer look at your initial strace output:

recvfrom(3, "\212\264\201\200\0\1\0\0\0\0\0\0\3irc\2eu\5rizon\3net\0\0\34"..., 5

Aparts from the standard stuff (header, flags...) and the now-expected stuff
(number of replies: 0), I also noticed the query type: \0\34. This is decimal 28
which is[1] the code for AAAA records / IPv6 (An A record has type 1).

So something is forcing ZNC to try IPv6. The only possibility (besides weird
bugs which only you are seeing) is that you have a bindhost / vhost set.

Could you also try /znc clearbindhost?

Cheers,
Uli

[1]: Nope, I don't know this stuff by heart. I started wireshark, captured a DNS
packet and used its nice dissectors to compare stuff. The "28" I looked up in
c-ares' source code. :-)

-- 
"Engineering - where the semi-skilled laborers execute the vision
 of those who think and dream. Hello Oompa-Loompas of science."



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to