Skip to content
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

Random tclhash.c crash/segment violation on CentOS 8 #901

Closed
weweilep opened this issue Nov 19, 2019 · 15 comments · Fixed by #904
Closed

Random tclhash.c crash/segment violation on CentOS 8 #901

weweilep opened this issue Nov 19, 2019 · 15 comments · Fixed by #904

Comments

@weweilep
Copy link

@weweilep weweilep commented Nov 19, 2019

Crash is happening on both 1.8.3 and 1.8.4. Bot running the same scripts that worked fine on CentOS 7.x for years is now randomly crashing several times a day after migrating (and re-compiling) on CentOS 8 on two different hosts.

Log output:

[08:56:32] * Last context: tclhash.c/740 []
[08:56:32] * Please REPORT this BUG!
[08:56:32] * Check doc/BUG-REPORT on how to do so.
[08:56:32] * Wrote DEBUG
[08:56:32] * SEGMENT VIOLATION -- CRASHING!

DEBUG output from 1.8.3:

Debug (eggdrop v1.8.3) written Tue Nov 19 08:56:32 2019
Patch level: stable
Tcl library: /usr/share/tcl8.6
Tcl version: 8.6.8 (header version 8.6.8)
Tcl is threaded
Compiled with IPv6 support
Compiled with TLS support
Configure flags: none
Compile flags: gcc -g -O2 -pipe -Wall -I.. -I.. -DHAVE_CONFIG_H -I/usr/include
Link flags: gcc
Strip flags: touch
Context: tclhash.c/740, []
tclhash.c/725, []
tclhash.c/729, [Tcl proc: , param: $_raw1 $_raw2 $_raw3]
tclhash.c/740, []
tclhash.c/725, []
tclhash.c/729, [Tcl proc: *raw:PING, param: $_raw1 $_raw2 $_raw3]
tclhash.c/740, []
tclhash.c/725, []
tclhash.c/729, [Tcl proc: , param: $_raw1 $_raw2 $_raw3]
tclhash.c/740, []
tclhash.c/725, []
tclhash.c/729, [Tcl proc: *raw:PONG, param: $_raw1 $_raw2 $_raw3]
tclhash.c/740, []
tclhash.c/725, []
tclhash.c/729, [Tcl proc: , param: $_raw1 $_raw2 $_raw3]
tclhash.c/740 []

DEBUG output from 1.8.4:

Debug (eggdrop v1.8.4) written Sat Nov 16 07:19:01 2019
Patch level: stable
Tcl library: /usr/share/tcl8.6
Tcl version: 8.6.8 (header version 8.6.8)
Tcl is threaded
Compiled with IPv6 support
Compiled with TLS support
Configure flags: none
Compile flags: gcc -g -O2 -pipe -Wall -I.. -I.. -DHAVE_CONFIG_H -I/usr/include
Link flags: gcc
Strip flags: touch
Context: tclhash.c/749, []
tclhash.c/729, []
tclhash.c/734, [Tcl proc: , param: $_raw1 $_raw2 $_raw3]
tclhash.c/749, []
tclhash.c/729, []
tclhash.c/734, [Tcl proc: *raw:PING, param: $_raw1 $_raw2 $_raw3]
tclhash.c/749, []
tclhash.c/729, []
tclhash.c/734, [Tcl proc: , param: $_raw1 $_raw2 $_raw3]
tclhash.c/749, []
tclhash.c/729, []
tclhash.c/734, [Tcl proc: *raw:PING, param: $_raw1 $_raw2 $_raw3]
tclhash.c/749, []
tclhash.c/729, []
tclhash.c/734, [Tcl proc: , param: $_raw1 $_raw2 $_raw3]
tclhash.c/749 []

Change from CentOS 7 to 8 did appear to upgrade some backing packages (TCL from 8.5.x to 8.6.x and OpenSSL from 1.0.2 to 1.1.1)

Appears to randomly crash doing hash checks on PING/PONG? It is completely arbitrary how long it takes to reach a segment fault. It usually runs without issue for a few hours before crashing.

@vanosg

This comment has been minimized.

Copy link
Member

@vanosg vanosg commented Nov 19, 2019

Hi, thanks for reporting!

Are you able to attach a core file to this issue from the crash?
Could you try running your bots without any Tcl scripts loaded, and see if the problem still occurs? Can you tell us which irc server your bots are connecting to (Does it happen on different servers?)

Bonus points, if your scripts are publicly available, could you point us to them?

@weweilep

This comment has been minimized.

Copy link
Author

@weweilep weweilep commented Nov 19, 2019

Hello @vanosg,

Unfortunately, I haven't gotten around to configuring to output core dumps yet. I'll work on that if necessary.

The irc server is irc.anynet.org (very tiny network, but running Hybrid-8.0.0 fork/EFNet compat). I do have bots on multiple servers on this network, and each are crashing randomly (the ones on CentOS 8). I do have them both set to be connecting to SSL on +7000, and they are connected on that port, but interestingly, a whois of them does not contain the line stating they are using a secure connection like it used to, but they are reporting being connected to that port which is only supposed to allow SSL as far as I can recall.

Scripts are simple and very old and worked without issue on both CentOS 6 and 7.
Pastebins of the active scripts:
https://pastebin.com/9ub4JtpD (banmanagement.tcl)
https://pastebin.com/nNjiRWCy (autovoice.tcl)
https://pastebin.com/515kxT4R (uptime.tcl)
all pretty simple scripts.

@weweilep

This comment has been minimized.

Copy link
Author

@weweilep weweilep commented Nov 20, 2019

I guess it was leaving core dumps, just not where I was expecting them:

Nov 19 07:26:50 dm01 systemd-coredump[17355]: Process 14102 (eggdrop) of user 1001 dumped core.#12#012Stack trace of thread 14102:#12#0
0x00007f63ba92fdd7 __res_context_send (libresolv.so.2)#12#1
0x00007f63ba92d5ea __res_context_query (libresolv.so.2)#12#2
0x00007f63ba92dc56 __res_context_querydomain (libresolv.so.2)#12#3
0x00007f63ba92e24d __res_context_search (libresolv.so.2)#12#4
0x00007f63b9285390 gethostbyname3_context (libnss_dns.so.2)#12#5
0x00007f63b9285e79 _nss_dns_gethostbyname_r (libnss_dns.so.2)#12#6
0x00007f63bc2a9aef gethostbyname_r@@GLIBC_2.2.5 (libc.so.6)#12#7
0x00007f63bc2a9007 gethostbyname (libc.so.6)#12#8
0x00007f63b969cd80 n/a (/home/ophelia/eggdrop/modules-1.8.3/uptime.so)

So it appears to be stemming from a hostname lookup in the uptime module?

@vanosg

This comment has been minimized.

Copy link
Member

@vanosg vanosg commented Nov 20, 2019

Thanks for providing all that info, it probably just saved several hours of troubleshooting :)

Two things to try- first, if you enable the tcl command on Eggdrop, what does .tcl dnslookup google.com foo return (or crash)?

Second, is the dns module loaded? If yes, can you try again with it unloaded, and if no, can you try again with it loaded?

@weweilep

This comment has been minimized.

Copy link
Author

@weweilep weweilep commented Nov 20, 2019

.tcl dnslookup google.com foo
results in a blank response with no crash.

.tcl dnslookup google.com foo
Tcl: 

The dns module was loaded. Unloading the dns module and issuing that command did result in a crash.

Process 30801 (eggdrop) of user 1001 dumped core.#012#012Stack trace of thread 30801:#012#0
0x00007ff93375edd7 __res_context_send (libresolv.so.2)#012#1
0x00007ff93375c5ea __res_context_query (libresolv.so.2)#012#2
0x00007ff93375cc56 __res_context_querydomain (libresolv.so.2)#012#3
0x00007ff93375d24d __res_context_search (libresolv.so.2)#012#4
0x00007ff934a3c390 gethostbyname3_context (libnss_dns.so.2)#012#5
0x00007ff934a3cdac _nss_dns_gethostbyname3_r (libnss_dns.so.2)#012#6
0x00007ff934a3ce05 _nss_dns_gethostbyname2_r (libnss_dns.so.2)#012#7
0x00007ff93637757d gethostbyname2_r@@GLIBC_2.2.5 (libc.so.6)#012#8
0x00007ff936377264 gethostbyname2 (libc.so.6)#012#9
0x0000000000432579 n/a (/home/ophelia/eggdrop/eggdrop-1.8.3)

In the mean time, I have simply disabled the uptime module, and that has at least gotten me to more than 12 hours of uptime without a crash.

@weweilep

This comment has been minimized.

Copy link
Author

@weweilep weweilep commented Nov 20, 2019

And for completeness, here is the coredump from 1.8.4:

Process 20116 (eggdrop) of user 1001 dumped core.#012#012Stack trace of thread 20116:#012#0
0x00007fa4fa19ddd7 __res_context_send (libresolv.so.2)#012#1
0x00007fa4fa19b5ea __res_context_query (libresolv.so.2)#012#2
0x00007fa4fa19bc56 __res_context_querydomain (libresolv.so.2)#012#3
0x00007fa4fa19c24d __res_context_search (libresolv.so.2)#012#4
0x00007fa4f8af3390 gethostbyname3_context (libnss_dns.so.2)#012#5
0x00007fa4f8af3e79 _nss_dns_gethostbyname_r (libnss_dns.so.2)#012#6
0x00007fa4fbb17aef gethostbyname_r@@GLIBC_2.2.5 (libc.so.6)#012#7
0x00007fa4fbb17007 gethostbyname (libc.so.6)#012#8
0x00007fa4f8f0ad80 n/a (/home/ophelia/eggdrop/modules-1.8.4/uptime.so)
@michaelortmann

This comment has been minimized.

Copy link
Member

@michaelortmann michaelortmann commented Nov 21, 2019

#548 will replace gethostbyname() with getaddrinfo() in uptime.mod. specifically because gethostbyname() is kinda deprecated, may cause problems, see https://www.freebsd.org/cgi/man.cgi?query=gethostbyname&apropos=0&sektion=0&manpath=FreeBSD+12.1-RELEASE+and+Ports&arch=default&format=html:

BUGS
     These functions use a thread-specific data	storage; if the	data is	needed
     for future	use, it	should be copied before	any subsequent calls overwrite
     it.

     Though these functions are	thread-safe, still it is recommended to	use
     the getaddrinfo(3)	family of functions, instead.

how about reevaluating #548 milestoning for 1.9.0 or extract the gethostbyname() replacement from this bigger patch and test/create a hotfix out of it?

but first we would need to check, if #548 would fix the crash.

@vanosg

This comment has been minimized.

Copy link
Member

@vanosg vanosg commented Nov 21, 2019

I've had this running for 24 hours on CentOS 8 (docker), and I can't replicate a crash.

... but that makes sense, as glibc isnt used on docker platforms

@weweilep

This comment has been minimized.

Copy link
Author

@weweilep weweilep commented Nov 21, 2019

Yeah, I wouldn't expect docker to reproduce this unless the host daemon was on the same OS. For me, this is happening on stock CentOS 8 x64 on KVM with nothing but gcc/make/tcl-devel installed.

@vanosg

This comment has been minimized.

Copy link
Member

@vanosg vanosg commented Nov 25, 2019

We've had two people running Centos8 without any issues so far- no crashes. What do you have entered under vhost4 in the config (or vhost6)? If it's easier, you can find us in #eggheads on Freenode and we can work on a few things there quicker.

@weweilep

This comment has been minimized.

Copy link
Author

@weweilep weweilep commented Nov 25, 2019

Both boxes are set with vhost4 to valid external IP addresses (not hostname), vhost6 I've tried with and without it set, and when set also directly to external IP addresses (I currently have 1 box with it active, and one box with nothing set). I have prefer-ipv6 set to 0 on both boxes.

I had the same fields set the same way when they were on CentOS 7.

@weweilep

This comment has been minimized.

Copy link
Author

@weweilep weweilep commented Nov 26, 2019

Here is a coredump from 1.8.4 compiled with debug flags (a couple IPs/Names removed for privacy):

Debug (eggdrop v1.8.4) written Mon Nov 25 18:59:00 2019
Patch level: stable
Tcl library: /usr/share/tcl8.6
Tcl version: 8.6.8 (header version 8.6.8)
Tcl is threaded
Compiled with IPv6 support
Compiled with TLS support
Configure flags: none
Compile flags: gcc -g -O2 -pipe -Wall -I.. -I..  -DHAVE_CONFIG_H -I/usr/include -g3 -DDEBUG -DDEBUG_ASSERT -DDEBUG_MEM -DDEBUG_DNS 
Link flags: gcc
Strip flags: touch
Context: tclhash.c/734, [Tcl proc: *raw:318, param:  $_raw1 $_raw2 $_raw3]
         tclhash.c/749, []
         tclhash.c/729, []
         tclhash.c/734, [Tcl proc: <null>, param:  $_raw1 $_raw2 $_raw3]
         tclhash.c/749, []
         tclhash.c/729, []
         tclhash.c/734, [Tcl proc: *dcc:module, param:  $_dcc1 $_dcc2 $_dcc3]
         tclhash.c/749, []
         tclhash.c/729, []
         tclhash.c/734, [Tcl proc: *dcc:module, param:  $_dcc1 $_dcc2 $_dcc3]
         tclhash.c/749, []
         tclhash.c/729, []
         tclhash.c/734, [Tcl proc: *dcc:unloadmod, param:  $_dcc1 $_dcc2 $_dcc3]
         tclhash.c/749, []
         tclhash.c/729, []
         tclhash.c/734 [Tcl proc: *dcc:tcl, param:  $_dcc1 $_dcc2 $_dcc3]

IDX ADDR                                     + PORT NICK      TYPE  INFO
--- ---------------------------------------- ------ --------- ----- ---------
7   <IP_REMOVED>                            33333 (telnet)  lstn  33333
10  <IP_REMOVED>                           +33333 <NAME_REMOVED>     bot   flags: pUcosgwlia
11  <IP_REMOVED>                            + 7000 (server)  serv  (lag: 0)
12  <IP_REMOVED>                              1024 <NAME_REMOVED>    chat  flags: cPtEp/0

File 'language.c' accounted for 26156/26156 (ok)
File 'chanprog.c' accounted for 0/0 (ok)
File 'misc.c    ' accounted for 27954/27954 (ok)
File 'userrec.c ' accounted for 174413/174413 (ok)
File 'net.c     ' accounted for 0/0 (ok)
File 'dccutil.c ' accounted for 6028/6028 (ok)
File 'botnet.c  ' accounted for 5836/5836 (ok)
File 'tcl.c     ' accounted for 3216/3216 (ok)
File 'tclhash.c ' accounted for 29008/29008 (ok)
File 'tclmisc.c ' accounted for 19/19 (ok)
File 'modules.c ' accounted for 1584/1584 (ok)
File 'tcldcc.c  ' accounted for 16/16 (ok)
File 'dns.c     ' accounted for 112/112 (ok)
File 'tls.c     ' accounted for 560/560 (ok)
Module 'uptime    ' accounted for 0/0 (ok)
Module 'console   ' accounted for 0/0 (ok)
Module 'notes     ' accounted for 0/0 (ok)
Module 'share     ' accounted for 72/72 (ok)
Module 'transfer  ' accounted for 0/0 (ok)
Module 'irc       ' accounted for 0/0 (ok)
Module 'ctcp      ' accounted for 0/0 (ok)
Module 'server    ' accounted for 184/184 (ok)
Module 'channels  ' accounted for 116280/123488 (debug follows:)
   irc.c     /303 :(0021) irc.c     /305 :(0011) tclchan.c /2059:(07A0)
   tclchan.c /1965:(0020) tclchan.c /1943:(01A8) irc.c     /305 :(0011)
   chan.c    /45  :(01A8) irc.c     /305 :(0011) irc.c     /305 :(0011)
   irc.c     /305 :(0011) irc.c     /298 :(0020) tclchan.c /2059:(07A0)
   irc.c     /305 :(0011) tclchan.c /1943:(01A8) irc.c     /298 :(0020)
   chan.c    /45  :(01A8) tclchan.c /1965:(0020) tclchan.c /1926:(0001)
   irc.c     /298 :(0020) chan.c    /45  :(01A8) tclchan.c /2059:(07A0)
   irc.c     /305 :(0011) tclchan.c /1943:(01A8) chan.c    /1549:(00CF)
   chan.c    /45  :(01A8) tclchan.c /1965:(0020) tclchan.c /1926:(0001)
   irc.c     /298 :(0020) irc.c     /303 :(0027) tclchan.c /2059:(07A0)
   chan.c    /45  :(01A8) tclchan.c /1943:(01A8) chan.c    /1549:(014F)
   chan.c    /45  :(01A8) tclchan.c /1965:(0020) tclchan.c /1926:(0001)
   chan.c    /45  :(01A8) chan.c    /45  :(01A8) tclchan.c /2059:(07A0)
   chan.c    /45  :(01A8) tclchan.c /1943:(01A8) irc.c     /298 :(0020)
   chan.c    /45  :(01A8) irc.c     /305 :(0011) irc.c     /303 :(0027)
   tclchan.c /1961:(0020) irc.c     /300 :(0001) tclchan.c /2059:(07A0)
   irc.c     /305 :(0011) tclchan.c /1943:(01A8) chan.c    /1549:(0024)
   chan.c    /45  :(01A8) tclchan.c /1965:(0020) tclchan.c /1926:(0001)
   irc.c     /298 :(0020) irc.c     /303 :(0027) tclchan.c /2059:(07A0)
   chan.c    /45  :(01A8) tclchan.c /1943:(01A8) chan.c    /1549:(0153)
   chan.c    /45  :(01A8) tclchan.c /1965:(0020) tclchan.c /1926:(0001)
   chan.c    /45  :(01A8) chan.c    /45  :(01A8) tclchan.c /2059:(07A0)
   chan.c    /45  :(01A8) tclchan.c /1943:(01A8) irc.c     /298 :(0020)
   chan.c    /45  :(01A8) tclchan.c /1965:(0020) tclchan.c /1926:(0001)
   chan.c    /45  :(01A8) chan.c    /45  :(01A8) tclchan.c /2059:(07A0)
   irc.c     /303 :(0027) tclchan.c /1943:(01A8) chan.c    /1549:(0095)
   chan.c    /45  :(01A8) tclchan.c /1965:(0020) tclchan.c /1926:(0001)
   chan.c    /45  :(01A8) chan.c    /45  :(01A8) tclchan.c /2059:(07A0)
   irc.c     /298 :(0020) tclchan.c /1943:(01A8) irc.c     /298 :(0020)
   chan.c    /45  :(01A8) tclchan.c /1965:(0020) tclchan.c /1926:(0001)
   irc.c     /303 :(0027) chan.c    /45  :(01A8) tclchan.c /2059:(07A0)
   irc.c     /305 :(0011) tclchan.c /1943:(01A8) irc.c     /298 :(0020)
   chan.c    /45  :(01A8) tclchan.c /1965:(0020) tclchan.c /1926:(0001)
   irc.c     /298 :(0020) irc.c     /303 :(0027) tclchan.c /2059:(07A0)
   tclchan.c /1943:(01A8) irc.c     /305 :(0011) irc.c     /442 :(0001)
   irc.c     /303 :(001D) chan.c    /45  :(01A8) irc.c     /442 :(0001)
   tclchan.c /2059:(07A0) tclchan.c /1943:(01A8) irc.c     /298 :(0020)
   chan.c    /45  :(01A8) tclchan.c /1965:(0020) tclchan.c /1926:(0001)
   chan.c    /45  :(01A8) tclchan.c /2059:(07A0) irc.c     /305 :(0011)
   tclchan.c /1943:(01A8) irc.c     /298 :(0020) chan.c    /45  :(01A8)
   tclchan.c /1965:(0020) tclchan.c /1926:(0001) irc.c     /298 :(0020)
   irc.c     /303 :(0021) tclchan.c /2059:(07A0) irc.c     /305 :(0011)
   tclchan.c /1943:(01A8) irc.c     /298 :(0020) chan.c    /45  :(01A8)
   tclchan.c /1965:(0020) tclchan.c /1926:(0001) irc.c     /298 :(0020)
   irc.c     /303 :(0027) tclchan.c /2059:(07A0) irc.c     /298 :(0020)
   tclchan.c /1943:(01A8) chan.c    /1549:(0108) chan.c    /45  :(01A8)
   tclchan.c /1965:(0020) tclchan.c /1926:(0001) irc.c     /303 :(001D)
   chan.c    /45  :(01A8) tclchan.c /2059:(07A0) irc.c     /305 :(0011)
   tclchan.c /1943:(01A8) chan.c    /1549:(0181) chan.c    /45  :(01A8)
   tclchan.c /1965:(0020) tclchan.c /1926:(0001) irc.c     /298 :(0020)
   irc.c     /303 :(0021) tclchan.c /1961:(0020) irc.c     /303 :(0021)
   chan.c    /45  :(01A8) irc.c     /298 :(0020) irc.c     /303 :(000E)
   irc.c     /298 :(0020) irc.c     /303 :(001D) tclchan.c /1926:(0001)
   chan.c    /45  :(01A8) irc.c     /305 :(0011) irc.c     /442 :(0001)
   irc.c     /305 :(0011) tclchan.c /1969:(0020) irc.c     /298 :(0020)
   irc.c     /298 :(0020) irc.c     /298 :(0020) irc.c     /305 :(0011)
   irc.c     /298 :(0020) irc.c     /298 :(0020) irc.c     /303 :(001D)
   irc.c     /303 :(0015) irc.c     /305 :(0011) tclchan.c /1926:(0001)
   irc.c     /298 :(0020) userchan.c/271 :(0021) tclchan.c /1969:(0020)
   irc.c     /300 :(0001) chan.c    /45  :(01A8) irc.c     /303 :(0027)
   irc.c     /303 :(0010) irc.c     /305 :(0011) tclchan.c /1961:(0020)
   irc.c     /298 :(0020) irc.c     /303 :(0010) irc.c     /305 :(0011)
   irc.c     /303 :(0027) irc.c     /303 :(0018) irc.c     /300 :(0001)
   irc.c     /303 :(0015) chan.c    /45  :(01A8) irc.c     /298 :(0020)
   irc.c     /305 :(0011) irc.c     /298 :(0020) irc.c     /298 :(0020)
   irc.c     /303 :(0012) irc.c     /298 :(0020) irc.c     /303 :(0021)
   tclchan.c /1926:(0001) irc.c     /305 :(0024) chan.c    /45  :(01A8)
   irc.c     /298 :(0020) tclchan.c /1969:(0020) irc.c     /298 :(0020)
   irc.c     /303 :(001A) irc.c     /442 :(0001) irc.c     /298 :(0020)
   irc.c     /305 :(0011) chan.c    /45  :(01A8) chan.c    /45  :(01A8)
   chan.c    /45  :(01A8) chan.c    /45  :(01A8) irc.c     /303 :(001D)
   irc.c     /298 :(0020) chan.c    /45  :(01A8) irc.c     /298 :(0020)
   irc.c     /305 :(0011) chan.c    /45  :(01A8) irc.c     /305 :(0011)
   irc.c     /305 :(0011) irc.c     /298 :(0020) irc.c     /298 :(0020)
   irc.c     /305 :(0011) irc.c     /303 :(0017) chan.c    /45  :(01A8)
   irc.c     /303 :(0010) irc.c     /305 :(0011) chan.c    /45  :(01A8)
   chan.c    /45  :(01A8) chan.c    /45  :(01A8) tclchan.c /1926:(0001)
   chan.c    /45  :(01A8) chan.c    /45  :(01A8) irc.c     /305 :(0011)
   tclchan.c /1969:(0020) irc.c     /305 :(0011) chan.c    /45  :(01A8)
   chan.c    /45  :(01A8) chan.c    /45  :(01A8) irc.c     /305 :(0011)
   chan.c    /45  :(01A8) chan.c    /45  :(01A8) irc.c     /300 :(0001)
   chan.c    /45  :(01A8) chan.c    /45  :(01A8) irc.c     /298 :(0020)
   irc.c     /305 :(0011) tclchan.c /1926:(0001) irc.c     /305 :(0011)
   irc.c     /305 :(0011) irc.c     /303 :(001D) irc.c     /305 :(0011)
   tclchan.c /1961:(0020) irc.c     /303 :(0018) tclchan.c /1969:(0020)
   tclchan.c /1969:(0020) tclchan.c /1969:(0020) tclchan.c /1969:(0020)
   tclchan.c /1969:(0020) tclchan.c /1926:(0001) irc.c     /300 :(0001)
   tclchan.c /1961:(0020) irc.c     /303 :(0021) irc.c     /303 :(0021)
   tclchan.c /1961:(0020) tclchan.c /1926:(0001) tclchan.c /1969:(0020)
   irc.c     /303 :(0021) irc.c     /300 :(0001) chan.c    /45  :(01A8)
   tclchan.c /1926:(0001) tclchan.c /1961:(0020) irc.c     /298 :(0020)
   irc.c     /298 :(0020) irc.c     /303 :(0016) irc.c     /305 :(0020)
   irc.c     /298 :(0020) chan.c    /45  :(01A8) chan.c    /45  :(01A8)
   irc.c     /300 :(0001) irc.c     /303 :(0023) irc.c     /300 :(0001)
   irc.c     /303 :(0018) irc.c     /305 :(0011) irc.c     /298 :(0020)
   irc.c     /303 :(001A) irc.c     /305 :(0011) irc.c     /305 :(0011)
   irc.c     /298 :(0020) irc.c     /303 :(002F) irc.c     /303 :(001D)
   chan.c    /45  :(01A8) irc.c     /298 :(0020) chan.c    /45  :(01A8)
   irc.c     /305 :(0011) chan.c    /45  :(01A8) chan.c    /45  :(01A8)
   chan.c    /45  :(01A8) chan.c    /45  :(01A8) chan.c    /45  :(01A8)
   irc.c     /305 :(0011) irc.c     /303 :(000D) irc.c     /298 :(0020)
   irc.c     /442 :(0001) chan.c    /45  :(01A8) irc.c     /305 :(0011)
   irc.c     /305 :(0011) irc.c     /303 :(0027) tclchan.c /1961:(0020)
   irc.c     /303 :(0019) tclchan.c /1961:(0020) irc.c     /303 :(0014)
   irc.c     /305 :(0011) irc.c     /298 :(0020) tclchan.c /1926:(0001)
   irc.c     /442 :(0001) irc.c     /298 :(0020) irc.c     /303 :(000E)
   irc.c     /303 :(001D) chan.c    /45  :(01A8) irc.c     /305 :(0011)
   irc.c     /303 :(001D) irc.c     /298 :(0020) irc.c     /303 :(0030)
   chan.c    /45  :(01A8) irc.c     /305 :(0011) chan.c    /45  :(01A8)
   chan.c    /45  :(01A8) irc.c     /305 :(0011) irc.c     /305 :(0011)
   irc.c     /442 :(0001) irc.c     /298 :(0020) chan.c    /45  :(01A8)
   chan.c    /45  :(01A8) irc.c     /442 :(0001) irc.c     /298 :(0020)
   tclchan.c /1926:(0001) tclchan.c /1926:(0001) irc.c     /303 :(0027)
   irc.c     /305 :(0011) irc.c     /303 :(001D) tclchan.c /1926:(0001)
   tclchan.c /1926:(0001) chan.c    /45  :(01A8) irc.c     /298 :(0020)
   irc.c     /305 :(0011) irc.c     /298 :(0020) tclchan.c /1926:(0001)
   irc.c     /303 :(0021) irc.c     /298 :(0020) chan.c    /45  :(01A8)
   chan.c    /45  :(01A8) tclchan.c /1969:(0020) irc.c     /442 :(0001)
   tclchan.c /1969:(0020) chan.c    /45  :(01A8) chan.c    /45  :(01A8)
   chan.c    /45  :(01A8) tclchan.c /1969:(0020) tclchan.c /1926:(0001)
   chan.c    /45  :(01A8) chan.c    /45  :(01A8) irc.c     /298 :(0020)
   tclchan.c /1969:(0020) irc.c     /305 :(0011) tclchan.c /1926:(0001)
   irc.c     /303 :(0027) irc.c     /300 :(0001) chan.c    /45  :(01A8)
   irc.c     /305 :(0011) irc.c     /305 :(0011) irc.c     /298 :(0020)
   irc.c     /305 :(0011) irc.c     /303 :(001D) tclchan.c /1926:(0001)
   irc.c     /303 :(0013) irc.c     /305 :(0011) irc.c     /305 :(0011)
   irc.c     /298 :(0020) irc.c     /303 :(0021) irc.c     /298 :(0020)
   chan.c    /45  :(01A8) irc.c     /298 :(0020) chan.c    /45  :(01A8)
   chan.c    /45  :(01A8) irc.c     /305 :(0011) irc.c     /442 :(0001)
   chan.c    /45  :(01A8) irc.c     /303 :(001A) chan.c    /45  :(01A8)
   tclchan.c /1969:(0020) irc.c     /303 :(001D) chan.c    /45  :(01A8)
   irc.c     /305 :(0011) irc.c     /298 :(0020) chan.c    /45  :(01A8)
   chan.c    /45  :(01A8) irc.c     /303 :(0027) chan.c    /45  :(01A8)
   chan.c    /45  :(01A8) irc.c     /305 :(0011) irc.c     /263 :(0009)
   irc.c     /305 :(0011) irc.c     /303 :(000E) irc.c     /305 :(0011)
   chan.c    /45  :(01A8) irc.c     /298 :(0020) irc.c     /303 :(0012)
   chan.c    /45  :(01A8) irc.c     /303 :(0021) irc.c     /442 :(0001)
   chan.c    /45  :(01A8) irc.c     /298 :(0020) irc.c     /305 :(0011)
   irc.c     /300 :(0001) chan.c    /45  :(01A8) chan.c    /45  :(01A8)
   irc.c     /298 :(0020) chan.c    /45  :(01A8) irc.c     /305 :(003C)
   irc.c     /305 :(0011) irc.c     /303 :(0017) irc.c     /303 :(0018)
   chan.c    /45  :(01A8) tclchan.c /1961:(0020) chan.c    /45  :(01A8)
   irc.c     /305 :(0011) irc.c     /303 :(000E) chan.c    /45  :(01A8)
   irc.c     /303 :(0013) irc.c     /298 :(0020) chan.c    /45  :(01A8)
   irc.c     /305 :(0011) irc.c     /303 :(001D) irc.c     /298 :(0020)
   irc.c     /305 :(0011) irc.c     /300 :(0001) irc.c     /305 :(0011)
   irc.c     /303 :(000E) irc.c     /303 :(000D) irc.c     /305 :(0011)
   irc.c     /298 :(0020) irc.c     /298 :(0020) irc.c     /305 :(0011)
   irc.c     /305 :(0011) irc.c     /298 :(0020) chan.c    /45  :(01A8)
   irc.c     /303 :(001E) irc.c     /305 :(0011) irc.c     /305 :(0024)
   irc.c     /303 :(001D) irc.c     /303 :(001D) irc.c     /298 :(0020)
   irc.c     /303 :(0019) irc.c     /298 :(0020) tclchan.c /1969:(0020)
   irc.c     /298 :(0020) irc.c     /305 :(0011) chan.c    /45  :(01A8)
   irc.c     /298 :(0020) irc.c     /305 :(0011) irc.c     /303 :(0011)
   irc.c     /305 :(0011) irc.c     /303 :(0014) irc.c     /298 :(0020)
   irc.c     /303 :(0017) irc.c     /305 :(0011) tclchan.c /1961:(0020)
   irc.c     /303 :(0012) irc.c     /305 :(003C) irc.c     /305 :(0011)
   chan.c    /45  :(01A8) irc.c     /305 :(0011) irc.c     /303 :(0013)
   chan.c    /45  :(01A8) irc.c     /298 :(0020) irc.c     /298 :(0020)
   irc.c     /298 :(0020) irc.c     /305 :(0011) irc.c     /298 :(0020)
   irc.c     /298 :(0020) irc.c     /298 :(0020) irc.c     /305 :(0011)
   chan.c    /45  :(01A8) irc.c     /305 :(0011) irc.c     /305 :(0011)
   irc.c     /305 :(0011) irc.c     /305 :(0024) irc.c     /303 :(0019)
   irc.c     /298 :(0020) irc.c     /303 :(001D) chan.c    /45  :(01A8)
   irc.c     /303 :(0012) irc.c     /298 :(0020) irc.c     /303 :(0012)
   irc.c     /298 :(0020) irc.c     /305 :(0011) chan.c    /45  :(01A8)
   irc.c     /298 :(0020) irc.c     /298 :(0020) irc.c     /298 :(0020)
   irc.c     /298 :(0020) chan.c    /45  :(01A8) irc.c     /303 :(0012)
   irc.c     /305 :(0011) irc.c     /303 :(0014) chan.c    /45  :(01A8)
   chan.c    /45  :(01A8) irc.c     /298 :(0020) chan.c    /45  :(01A8)
   irc.c     /298 :(0020) irc.c     /305 :(0011) irc.c     /305 :(0011)
   irc.c     /303 :(0027) irc.c     /303 :(0011) irc.c     /298 :(0020)
   irc.c     /303 :(0027) irc.c     /305 :(0011) irc.c     /298 :(0020)
   tclchan.c /1969:(0020) irc.c     /305 :(0011) irc.c     /305 :(0011)
   irc.c     /303 :(0021) irc.c     /303 :(0012) irc.c     /298 :(0020)
   irc.c     /303 :(001D) irc.c     /303 :(001E) chan.c    /45  :(01A8)
   irc.c     /303 :(0022) irc.c     /305 :(0011) irc.c     /298 :(0020)
   irc.c     /303 :(0020) irc.c     /305 :(0011) irc.c     /298 :(0020)
   chan.c    /45  :(01A8) irc.c     /305 :(0011) irc.c     /298 :(0020)
   irc.c     /305 :(0011) irc.c     /303 :(0019) irc.c     /298 :(0020)
   irc.c     /303 :(0018) chan.c    /45  :(01A8) irc.c     /298 :(0020)
   chan.c    /45  :(01A8) irc.c     /298 :(0020) chan.c    /45  :(01A8)
   irc.c     /303 :(0030) chan.c    /45  :(01A8) irc.c     /305 :(0011)
   tclchan.c /1961:(0020) chan.c    /45  :(01A8) chan.c    /45  :(01A8)
   chan.c    /45  :(01A8) irc.c     /305 :(0011) chan.c    /45  :(01A8)
   tclchan.c /1926:(0001) chan.c    /45  :(01A8) chan.c    /45  :(01A8)
   irc.c     /298 :(0020) chan.c    /45  :(01A8) chan.c    /45  :(01A8)
   chan.c    /45  :(01A8) tclchan.c /1965:(0020) irc.c     /298 :(0020)
   chan.c    /45  :(01A8) chan.c    /45  :(01A8) chan.c    /45  :(01A8)
   chan.c    /45  :(01A8) chan.c    /45  :(01A8) tclchan.c /1926:(0001)
   irc.c     /305 :(0011) chan.c    /45  :(01A8) irc.c     /305 :(0011)
   irc.c     /298 :(0020) tclchan.c /1926:(0001) tclchan.c /1965:(0020)
   irc.c     /442 :(0001) irc.c     /298 :(0020) irc.c     /305 :(0011)
   irc.c     /303 :(0021) irc.c     /442 :(0001) irc.c     /303 :(0018)
   chan.c    /45  :(01A8) irc.c     /303 :(0016) irc.c     /303 :(0027)
   irc.c     /303 :(000D) irc.c     /305 :(0011) chan.c    /45  :(01A8)
   irc.c     /300 :(0001) irc.c     /303 :(0021) irc.c     /303 :(0020)
   chan.c    /45  :(01A8) irc.c     /298 :(0020) chan.c    /45  :(01A8)
   chan.c    /45  :(01A8) irc.c     /305 :(0011) chan.c    /45  :(01A8)
   irc.c     /303 :(0012) chan.c    /45  :(01A8) irc.c     /303 :(001D)
   chan.c    /45  :(01A8) irc.c     /305 :(0011) irc.c     /298 :(0020)
   irc.c     /298 :(0020) irc.c     /298 :(0020) irc.c     /305 :(0011)
   irc.c     /303 :(002F) irc.c     /303 :(000E) chan.c    /45  :(01A8)
   irc.c     /303 :(000D) irc.c     /305 :(0011) irc.c     /298 :(0020)
   chan.c    /45  :(01A8) irc.c     /298 :(0020) irc.c     /298 :(0020)
   irc.c     /298 :(0020) irc.c     /303 :(0018) chan.c    /45  :(01A8)
   irc.c     /305 :(0011) irc.c     /303 :(0017) irc.c     /303 :(0022)
   irc.c     /305 :(0011) irc.c     /305 :(0011) irc.c     /298 :(0020)
   irc.c     /298 :(0020) irc.c     /305 :(0011) irc.c     /305 :(0011)
   chan.c    /45  :(01A8) chan.c    /45  :(01A8) irc.c     /298 :(0020)
   chan.c    /45  :(01A8) chan.c    /45  :(01A8) irc.c     /300 :(0001)
   tclchan.c /1961:(0020) irc.c     /303 :(0027) tclchan.c /1961:(0020)
   irc.c     /300 :(0001) chan.c    /45  :(01A8) chan.c    /45  :(01A8)
   chan.c    /45  :(01A8) chan.c    /45  :(01A8) irc.c     /298 :(0020)
   irc.c     /305 :(0011) irc.c     /298 :(0020) irc.c     /303 :(0021)
   irc.c     /305 :(0011) irc.c     /298 :(0020) irc.c     /442 :(0001)
   irc.c     /303 :(0021) chan.c    /45  :(01A8) irc.c     /298 :(0020)
   irc.c     /303 :(0027) tclchan.c /1961:(0020) irc.c     /300 :(0001)
   chan.c    /45  :(01A8) chan.c    /45  :(01A8) chan.c    /45  :(01A8)
   chan.c    /45  :(01A8) irc.c     /298 :(0020) irc.c     /263 :(000F)
   irc.c     /303 :(001D) irc.c     /305 :(0011) irc.c     /305 :(0011)
   irc.c     /303 :(0021) tclchan.c /1961:(0020) irc.c     /300 :(0001)
   chan.c    /45  :(01A8) chan.c    /45  :(01A8) chan.c    /45  :(01A8)
   chan.c    /45  :(01A8) irc.c     /298 :(0020) irc.c     /442 :(0001)
   irc.c     /303 :(001D) irc.c     /305 :(0011) irc.c     /305 :(0011)
   irc.c     /303 :(0027) tclchan.c /1961:(0020) irc.c     /300 :(0001)
   chan.c    /45  :(01A8) chan.c    /45  :(01A8) chan.c    /45  :(01A8)
  
Module 'encryption' accounted for 4200/4200 (ok)
Module 'eggdrop   ' accounted for 0/0 (ok)
--- End of debug memory list.
Open sockets: 7 (listen), 10 (TLS), 11 (TLS), 12, 13 (file), done.

@weweilep

This comment has been minimized.

Copy link
Author

@weweilep weweilep commented Nov 26, 2019

Here is the bt full:

#0  0x00007f6faa9ebdd7 in __res_context_send () from /lib64/libresolv.so.2
No symbol table info available.
#1  0x00007f6faa9e95ea in __res_context_query () from /lib64/libresolv.so.2
No symbol table info available.
#2  0x00007f6faa9e9c56 in __res_context_querydomain () from /lib64/libresolv.so.2
No symbol table info available.
#3  0x00007f6faa9ea24d in __res_context_search () from /lib64/libresolv.so.2
No symbol table info available.
#4  0x00007f6faabfc390 in gethostbyname3_context () from /lib64/libnss_dns.so.2
No symbol table info available.
#5  0x00007f6faabfcdac in _nss_dns_gethostbyname3_r () from /lib64/libnss_dns.so.2
No symbol table info available.
#6  0x00007f6faabfce05 in _nss_dns_gethostbyname2_r () from /lib64/libnss_dns.so.2
No symbol table info available.
#7  0x00007f6fad7c257d in gethostbyname2_r@@GLIBC_2.2.5 () from /lib64/libc.so.6
No symbol table info available.
#8  0x00007f6fad7c2264 in gethostbyname2 () from /lib64/libc.so.6
No symbol table info available.
#9  0x0000000000434089 in setsockname (addr=addr@entry=0x7fff7132ee00, src=src@entry=0x12e5920 "google.com", port=port@entry=0, allowres=allowres@entry=1) at net.c:159
        hp = <optimized out>
        af = 0
        pref = <optimized out>
#10 0x00000000004261aa in block_dns_ipbyhost (host=0x12e5920 "google.com") at dns.c:502
        name = {family = 0, addrlen = 0, addr = {sa = {sa_family = 0, sa_data = '\000' <repeats 13 times>}, s4 = {sin_family = 0, sin_port = 0, sin_addr = {s_addr = 0}, sin_zero = "\000\000\000\000\000\000\000"}, s6 = {sin6_family = 0, sin6_port = 0, sin6_flowinfo = 0, sin6_addr = {__in6_u = {
                  __u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}}, sin6_scope_id = 0}}}
#11 0x0000000000425bfe in tcl_dnsipbyhost (paras=0x7fff7132ee80 "", proc=0x1260b80 "foo", hostn=0x12e5920 "google.com") at dns.c:339
        de = 0x12656f0
        tclinfo = 0x126f3f0
        de = <optimized out>
        tclinfo = <optimized out>
#12 tcl_dnslookup (cd=<optimized out>, irp=<optimized out>, argc=<optimized out>, argv=<optimized out>) at dns.c:545
        addr = {family = 2, addrlen = 16, addr = {sa = {sa_family = 2, sa_data = '\000' <repeats 13 times>}, s4 = {sin_family = 2, sin_port = 0, sin_addr = {s_addr = 0}, sin_zero = "\000\000\000\000\000\000\000"}, s6 = {sin6_family = 2, sin6_port = 0, sin6_flowinfo = 0, sin6_addr = {__in6_u = {
                  __u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}}, sin6_scope_id = 0}}}
        paras = {string = 0x7fff7132ee80 "", length = 0, spaceAvl = 200, 
          staticSpace = "\000.com foo\n\000q\377\177\000\000\027\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\060\357\062q\377\177\000\000\361>Ȯo\177\000\000\001\000\000\000\377\177\000\000\210?Ȯo\177\000\000@e\365\256o\177\000\000\370\001\000\000\000\000\000\000\000\177\035\001\000\000\000\000\001\000\000\000\000\000\000\000\000\177\035\001", '\000' <repeats 12 times>, "`\317%\001\000\000\000\000@\357\062q\377\177\000\000\000\000\000\000\000\000\000\000\316\311ʮo\177\000\000@\365\062q\377\177\000\000\070\357\062q\377\177\000\000\320j\034\001\000\000\000\000\004\000\000\000\000\000\000\000\340\315\034\001\000\000\000\000\003\000\000\000\000\000\000\000\003\000\000\000\000\000\000"}
        irp = <optimized out>
        argv = <optimized out>
        paras = <optimized out>
        cd = <optimized out>
        argc = <optimized out>
        addr = <optimized out>
        p = <optimized out>
        addr = <optimized out>
        paras = <optimized out>
        p = <optimized out>
#13 0x00007f6faebdea3b in TclInvokeStringCommand () from /lib64/libtcl8.6.so
No symbol table info available.
#14 0x00007f6faebe7008 in ?? () from /lib64/libtcl8.6.so
No symbol table info available.
#15 0x00007f6faebe3b2f in TclNRRunCallbacks () from /lib64/libtcl8.6.so
No symbol table info available.
#16 0x00007f6faebe5b2f in ?? () from /lib64/libtcl8.6.so
No symbol table info available.
#17 0x00007f6faebe6207 in Tcl_EvalEx () from /lib64/libtcl8.6.so
No symbol table info available.
#18 0x00007f6faebe6229 in Tcl_Eval () from /lib64/libtcl8.6.so
No symbol table info available.
#19 0x00007f6faebe6927 in Tcl_GlobalEval () from /lib64/libtcl8.6.so
No symbol table info available.
#20 0x0000000000415613 in cmd_tcl (u=<optimized out>, idx=3, msg=0x12bc570 "dnslookup google.com foo") at cmds.c:2484
        code = <optimized out>
        result = <optimized out>
        dstr = {string = 0x11d7f00 "؀\035\001", length = 19255136, spaceAvl = 0, 
          staticSpace = "\320j\034\001\000\000\000\000<\023E\000\000\000\000\000@PE\000\000\000\000\000\000Y.\001\000\000\000\000\300\a&\001\000\000\000\000\200Y.\001\000\000\000\000`\315\034\001\000\000\000\000\f\000\000\000\000\000\000\000P\363\062q\377\177\000\000\n\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\361>Ȯo\177\000\000\002\000\000\000\000\000\000\000\210?Ȯo\177\000\000@e\365\256o\177\000\000\b\003\000\000\000\000\000\000\000\177\035\001\000\000\000\000\001\000\000\000\000\000\000\000\000\177\035\001", '\000' <repeats 13 times>, "Y.\001", '\000' <repeats 14 times>, "\005\000\000\000\000\000`\303\035\001\000\000\000\000\000\177\035\001\000\000\000"}
#21 0x000000000043cdae in builtin_dcc (cd=0x4155b0 <cmd_tcl>, irp=0x11d7f00, argc=<optimized out>, argv=0x11dc360) at tclhash.c:681
        idx = 3
        F = 0x4155b0 <cmd_tcl>
#22 0x00007f6faebdea3b in TclInvokeStringCommand () from /lib64/libtcl8.6.so
No symbol table info available.
#23 0x00007f6faebe7008 in ?? () from /lib64/libtcl8.6.so
No symbol table info available.
#24 0x00007f6faebe3b2f in TclNRRunCallbacks () from /lib64/libtcl8.6.so
No symbol table info available.
#25 0x00007f6faebe5b2f in ?? () from /lib64/libtcl8.6.so
No symbol table info available.
#26 0x00007f6faebe6207 in Tcl_EvalEx () from /lib64/libtcl8.6.so
No symbol table info available.
#27 0x00007f6faebe6229 in Tcl_Eval () from /lib64/libtcl8.6.so
No symbol table info available.
#28 0x00007f6faebe6808 in Tcl_VarEvalVA () from /lib64/libtcl8.6.so
No symbol table info available.
#29 0x00007f6faebe68dd in Tcl_VarEval () from /lib64/libtcl8.6.so
No symbol table info available.
#30 0x000000000043bc65 in trigger_bind (proc=0x1241480 "*dcc:tcl", param=param@entry=0x454cb3 " $_dcc1 $_dcc2 $_dcc3", mask=0x1241420 "tcl") at tclhash.c:748
        x = <optimized out>
        ru1 = {ru_utime = {tv_sec = 140735092553960, tv_usec = 0}, ru_stime = {tv_sec = 18664800, tv_usec = 4294967296}, {ru_maxrss = 140735092553968, __ru_maxrss_word = 140735092553968}, {ru_ixrss = 0, __ru_ixrss_word = 0}, {ru_idrss = 19005440, __ru_idrss_word = 19005440}, {ru_isrss = 21474836481, 
            __ru_isrss_word = 21474836481}, {ru_minflt = 0, __ru_minflt_word = 0}, {ru_majflt = 18639568, __ru_majflt_word = 18639568}, {ru_nswap = 0, __ru_nswap_word = 0}, {ru_inblock = 18639568, __ru_inblock_word = 18639568}, {ru_oublock = 19815072, __ru_oublock_word = 19815072}, {
            ru_msgsnd = 6542645703285131776, __ru_msgsnd_word = 6542645703285131776}, {ru_msgrcv = 4294967295, __ru_msgrcv_word = 4294967295}, {ru_nsignals = 0, __ru_nsignals_word = 0}, {ru_nvcsw = 19014496, __ru_nvcsw_word = 19014496}, {ru_nivcsw = 140117653421184, __ru_nivcsw_word = 140117653421184}}
        ru2 = {ru_utime = {tv_sec = 140735092554080, tv_usec = 0}, ru_stime = {tv_sec = 18710272, tv_usec = 140117650825406}, {ru_maxrss = 4294967296, __ru_maxrss_word = 4294967296}, {ru_ixrss = 0, __ru_ixrss_word = 0}, {ru_idrss = 140117651050115, __ru_idrss_word = 140117651050115}, {ru_isrss = 0, 
            __ru_isrss_word = 0}, {ru_minflt = 19012960, __ru_minflt_word = 19012960}, {ru_majflt = 25769803775, __ru_majflt_word = 25769803775}, {ru_nswap = 0, __ru_nswap_word = 0}, {ru_inblock = 6542645703285131776, __ru_inblock_word = 6542645703285131776}, {ru_oublock = 1368, __ru_oublock_word = 1368}, {
            ru_msgsnd = 18710272, __ru_msgsnd_word = 18710272}, {ru_msgrcv = 19014496, __ru_msgrcv_word = 19014496}, {ru_nsignals = 0, __ru_nsignals_word = 0}, {ru_nvcsw = 0, __ru_nvcsw_word = 0}, {ru_nivcsw = 19879328, __ru_nivcsw_word = 19879328}}
        r = <optimized out>
        buf = <optimized out>
#31 0x000000000043d716 in check_tcl_bind (tl=0x1218b30, match=match@entry=0x7fff713303b1 "tcl", atr=atr@entry=0x7fff7132fa20, param=param@entry=0x454cb3 " $_dcc1 $_dcc2 $_dcc3", match_type=match_type@entry=80) at tclhash.c:953
        x = <optimized out>
        result = <optimized out>
        cnt = <optimized out>
        finish = <optimized out>
        proc = <optimized out>
        mask = <optimized out>
        tm = <optimized out>
        tm_last = <optimized out>
        tm_p = 0x12402c0
        tc = <optimized out>
        htc = <optimized out>
        str = <optimized out>
        varName = <optimized out>
        brkt = 0x0
#32 0x000000000043d8ad in check_tcl_dcc (cmd=cmd@entry=0x7fff713303b1 "tcl", idx=idx@entry=3, args=0x7fff713303b5 "dnslookup google.com foo") at tclhash.c:985
        fr = {match = 5, global = 8977024, udef_global = 0, bot = 0, chan = 0, udef_chan = 0}
        x = <optimized out>
        s = "12\000\252\335C\000\000\000\000"
#33 0x0000000000422d47 in dcc_chat (idx=3, buf=<optimized out>, i=<optimized out>) at dcc.c:1117
        nathan = <optimized out>
        doron = <optimized out>
        fixed = <optimized out>
        v = 0x7fff713303b1 "tcl"
        d = <optimized out>
        filtbuf = "\000\000\000\000\000\000\000\000@צ\255o\177\000\000h\r\000\000\000\000\000\000-OE", '\000' <repeats 13 times>, "-OE", '\000' <repeats 13 times>, "\062OE", '\000' <repeats 109 times>, "\030\000\000\000\060\000\000\000\320\001\063q\377\177\000\000\020\001\063q\377\177", '\000' <repeats 714 times>...
#34 0x000000000042db3b in mainloop (toplevel=toplevel@entry=1) at ./main.c:881
        idx = <optimized out>
        socket_cleanup = 5
        xx = <optimized out>
        i = 29
        eggbusy = 1
        tclbusy = 0
        buf = ".tcl\000dnslookup google.com foo\000elia :End of /WHOIS list.\000ds idle, signon time\000CM-SHA384, 256 bits)\000rena @#inside3d @#quakedev @+#alientrap @+#qexpo @+#qc @+#twilight @#setheral @+#darkplaces @+#neither"...
#35 0x0000000000405a8a in main (arg_c=<optimized out>, arg_v=<optimized out>) at ./main.c:1294
        i = <optimized out>
        xx = <optimized out>
        s = "Mon Nov 25 2019\000:24 2019"
        f = <optimized out>
        sv = {__sigaction_handler = {sa_handler = 0x42d400 <got_alarm>, sa_sigaction = 0x42d400 <got_alarm>}, sa_mask = {__val = {0 <repeats 16 times>}}, sa_flags = 0, sa_restorer = 0x7f6faf18b6f0}
        chan = <optimized out>
        cdlim = {rlim_cur = 18446744073709551615, rlim_max = 18446744073709551615}

@weweilep

This comment has been minimized.

Copy link
Author

@weweilep weweilep commented Nov 26, 2019

Core dump from the uptime crash:

#0  0x00007fb3624c6dd7 in __res_context_send () from /lib64/libresolv.so.2
No symbol table info available.
#1  0x00007fb3624c45ea in __res_context_query () from /lib64/libresolv.so.2
No symbol table info available.
#2  0x00007fb3624c4c56 in __res_context_querydomain () from /lib64/libresolv.so.2
No symbol table info available.
#3  0x00007fb3624c524d in __res_context_search () from /lib64/libresolv.so.2
No symbol table info available.
#4  0x00007fb360e1c390 in gethostbyname3_context () from /lib64/libnss_dns.so.2
No symbol table info available.
#5  0x00007fb360e1ce79 in _nss_dns_gethostbyname_r () from /lib64/libnss_dns.so.2
No symbol table info available.
#6  0x00007fb363e42aef in gethostbyname_r@@GLIBC_2.2.5 () from /lib64/libc.so.6
No symbol table info available.
#7  0x00007fb363e42007 in gethostbyname () from /lib64/libc.so.6
No symbol table info available.
#8  0x00007fb361233d80 in get_ip () at .././uptime.mod/uptime.c:125
        hp = <optimized out>
        ip = <optimized out>
        in = <optimized out>
#9  0x00007fb361234357 in send_uptime () at .././uptime.mod/uptime.c:182
        sai = {sin_family = 17087, sin_port = 30584, sin_addr = {s_addr = 1628382370}, sin_zero = "\355%K\001\370\333\\-"}
        st = {st_dev = 12904799146187338496, st_ino = 8130000028927750573, st_nlink = 5334998811000045161, st_mode = 744874864, st_uid = 2857610266, st_gid = 3598084560, __pad0 = 57319577, st_rdev = 13763019055888541851, st_size = 0, st_blksize = 46284996, st_blocks = 0, st_atim = {tv_sec = 45305136, 
            tv_nsec = 46220208}, st_mtim = {tv_sec = 45128592, tv_nsec = 12}, st_ctim = {tv_sec = 0, tv_nsec = 0}, __glibc_reserved = {4446947, 14127624905293824, 140729583156256}}
        mem = <optimized out>
        len = <optimized out>
        servidx = <optimized out>
        servhost = "none", '\000' <repeats 319 times>
        me = <optimized out>
#10 0x00007fb3612343ca in check_secondly () at .././uptime.mod/uptime.c:249
No locals.
#11 0x000000000042d938 in mainloop (toplevel=toplevel@entry=1) at ./main.c:836
        p = <optimized out>
        pn = 0x2c0c3a0
        socket_cleanup = 0
        xx = <optimized out>
        i = 0
        eggbusy = 1
        tclbusy = 0
        buf = "\000uptime\000<REMOVED_FOR_PRIVACY>"...
#12 0x0000000000405a8a in main (arg_c=<optimized out>, arg_v=<optimized out>) at ./main.c:1294
        i = <optimized out>
        xx = <optimized out>
        s = "Mon Nov 25 2019\000:09 2019"
        f = <optimized out>
        sv = {__sigaction_handler = {sa_handler = 0x42d400 <got_alarm>, sa_sigaction = 0x42d400 <got_alarm>}, sa_mask = {__val = {0 <repeats 16 times>}}, sa_flags = 0, sa_restorer = 0x7fb36580b6f0}
        chan = <optimized out>
        cdlim = {rlim_cur = 18446744073709551615, rlim_max = 18446744073709551615}

@michaelortmann

This comment has been minimized.

Copy link
Member

@michaelortmann michaelortmann commented Nov 26, 2019

I can reproduce the following 1 of the 2 crash cases for centos8 under virtualbox:

$ CFLAGS="-g3" ./configure
[...]
$ ./eggdrop -nt BotA.conf
.unload dns
.tcl dnslookup google foo
[04:05:28] tcl: builtin dcc call: *dcc:tcl -HQ 1 dnslookup google foo
[04:05:28] tcl: evaluate (.tcl): dnslookup google foo
[04:05:28] * Last context: tclhash.c/734 [Tcl proc: *dcc:tcl, param:  $_dcc1 $_dcc2 $_dcc3]
[04:05:28] * Please REPORT this BUG!
[04:05:28] * Check doc/BUG-REPORT on how to do so.
[04:05:28] * Wrote DEBUG
[04:05:28] * SEGMENT VIOLATION -- CRASHING!
Segmentation fault (core dumped)

# coredumpctl debug
           PID: 5739 (eggdrop)
           UID: 1000 (michael)
           GID: 1000 (michael)
        Signal: 11 (SEGV)
     Timestamp: Tue 2019-11-26 04:05:28 CET (6min ago)
  Command Line: ./eggdrop -nt BotA.conf
    Executable: /home/michael/eggdrop/eggdrop-1.8.4
 Control Group: /user.slice/user-1000.slice/session-1.scope
          Unit: session-1.scope
         Slice: user-1000.slice
       Session: 1
     Owner UID: 1000 (michael)
       Boot ID: 7bcbab18e95645f0ac6e85762b50e581
    Machine ID: dbef9a535350406f8c9fdd23478c2262
      Hostname: centos8.localdomain
       Storage: /var/lib/systemd/coredump/core.eggdrop.1000.7bcbab18e95645f0ac6e85762b50e581.5739.1574737528000000.lz4
       Message: Process 5739 (eggdrop) of user 1000 dumped core.
                
                Stack trace of thread 5739:
                #0  0x00007f05b95dc45b __res_context_search (libresolv.so.2)
                #1  0x00007f05bad02390 gethostbyname3_context (libnss_dns.so.2)
                #2  0x00007f05bad02dac _nss_dns_gethostbyname3_r (libnss_dns.so.2)
                #3  0x00007f05bad02e05 _nss_dns_gethostbyname2_r (libnss_dns.so.2)
                #4  0x00007f05bc63e57d gethostbyname2_r@@GLIBC_2.2.5 (libc.so.6)
                #5  0x00007f05bc63e264 gethostbyname2 (libc.so.6)
                #6  0x000000000043dd4f n/a (/home/michael/eggdrop/eggdrop-1.8.4)
                #7  0x000000000042f8ab n/a (/home/michael/eggdrop/eggdrop-1.8.4)
                #8  0x000000000042f1ba n/a (/home/michael/eggdrop/eggdrop-1.8.4)
                #9  0x000000000042fa2e n/a (/home/michael/eggdrop/eggdrop-1.8.4)
                #10 0x00007f05bd2efa3b TclInvokeStringCommand (libtcl8.6.so)
                #11 0x00007f05bd2f8008 n/a (libtcl8.6.so)
                #12 0x00007f05bd2f4b2f TclNRRunCallbacks (libtcl8.6.so)
                #13 0x00007f05bd2f6b2f n/a (libtcl8.6.so)
                #14 0x00007f05bd2f7207 Tcl_EvalEx (libtcl8.6.so)
                #15 0x00007f05bd2f7229 Tcl_Eval (libtcl8.6.so)
                #16 0x00007f05bd2f7927 Tcl_GlobalEval (libtcl8.6.so)
                #17 0x0000000000420931 n/a (/home/michael/eggdrop/eggdrop-1.8.4)
                #18 0x000000000044b847 n/a (/home/michael/eggdrop/eggdrop-1.8.4)
                #19 0x00007f05bd2efa3b TclInvokeStringCommand (libtcl8.6.so)
                #20 0x00007f05bd2f8008 n/a (libtcl8.6.so)
                #21 0x00007f05bd2f4b2f TclNRRunCallbacks (libtcl8.6.so)
                #22 0x00007f05bd2f6b2f n/a (libtcl8.6.so)
                #23 0x00007f05bd2f7207 Tcl_EvalEx (libtcl8.6.so)
                #24 0x00007f05bd2f7229 Tcl_Eval (libtcl8.6.so)
                #25 0x00007f05bd2f7808 Tcl_VarEvalVA (libtcl8.6.so)
                #26 0x00007f05bd2f78dd Tcl_VarEval (libtcl8.6.so)
                #27 0x000000000044bb09 n/a (/home/michael/eggdrop/eggdrop-1.8.4)
                #28 0x000000000044c142 n/a (/home/michael/eggdrop/eggdrop-1.8.4)
                #29 0x000000000044c35c n/a (/home/michael/eggdrop/eggdrop-1.8.4)
                #30 0x0000000000426936 n/a (/home/michael/eggdrop/eggdrop-1.8.4)
                #31 0x0000000000436885 n/a (/home/michael/eggdrop/eggdrop-1.8.4)
                #32 0x00000000004379dd n/a (/home/michael/eggdrop/eggdrop-1.8.4)
                #33 0x00007f05bc552813 __libc_start_main (libc.so.6)
                #34 0x00000000004038ae n/a (/home/michael/eggdrop/eggdrop-1.8.4)

GNU gdb (GDB) Red Hat Enterprise Linux 8.2-6.el8_0
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /home/michael/eggdrop/eggdrop-1.8.4...done.

warning: core file may not match specified executable file.
[New LWP 5739]
[New LWP 5740]

warning: Loadable section ".note.gnu.property" outside of ELF segments
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".

warning: Loadable section ".note.gnu.property" outside of ELF segments
Core was generated by `./eggdrop -nt BotA.conf'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007f05b95dc45b in __res_context_search () from /lib64/libresolv.so.2
[Current thread is 1 (Thread 0x7f05bd88d740 (LWP 5739))]
Missing separate debuginfos, use: dnf debuginfo-install glibc-2.28-42.el8.1.x86_64 sssd-client-2.0.0-43.el8.x86_64 tcl-8.6.8-2.el8.x86_64 zlib-1.2.11-10.el8.x86_64
(gdb) bt full
#0  0x00007f05b95dc45b in __res_context_search () from /lib64/libresolv.so.2
No symbol table info available.
#1  0x00007f05bad02390 in gethostbyname3_context () from /lib64/libnss_dns.so.2
No symbol table info available.
#2  0x00007f05bad02dac in _nss_dns_gethostbyname3_r () from /lib64/libnss_dns.so.2
No symbol table info available.
#3  0x00007f05bad02e05 in _nss_dns_gethostbyname2_r () from /lib64/libnss_dns.so.2
No symbol table info available.
#4  0x00007f05bc63e57d in gethostbyname2_r@@GLIBC_2.2.5 () from /lib64/libc.so.6
No symbol table info available.
#5  0x00007f05bc63e264 in gethostbyname2 () from /lib64/libc.so.6
No symbol table info available.
#6  0x000000000043dd4f in setsockname (addr=0x7fff5fcade50, src=0x19dced0 "google", port=0, allowres=1) at net.c:159
        hp = 0x7fff5fcadfdc
        af = 0
        pref = 2
#7  0x000000000042f8ab in block_dns_ipbyhost (host=0x19dced0 "google") at dns.c:502
        name = {family = 0, addrlen = 0, addr = {sa = {sa_family = 0, sa_data = '\000' <repeats 13 times>}, s4 = {sin_family = 0, sin_port = 0, sin_addr = {s_addr = 0}, sin_zero = "\000\000\000\000\000\000\000"}, s6 = {sin6_family = 0, 
              sin6_port = 0, sin6_flowinfo = 0, sin6_addr = {__in6_u = {__u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}}, sin6_scope_id = 0}}}
#8  0x000000000042f1ba in tcl_dnsipbyhost (hostn=0x19dced0 "google", proc=0x19dd210 "foo", paras=0x7fff5fcadf00 "") at dns.c:339
        de = 0x18f0500
        tclinfo = 0x19c2b70
#9  0x000000000042fa2e in tcl_dnslookup (cd=0x0, irp=0x1908c00, argc=3, argv=0x190d4b0) at dns.c:545
        addr = {family = 2, addrlen = 16, addr = {sa = {sa_family = 2, sa_data = '\000' <repeats 13 times>}, s4 = {sin_family = 2, sin_port = 0, sin_addr = {s_addr = 0}, sin_zero = "\000\000\000\000\000\000\000"}, s6 = {sin6_family = 2, 
              sin6_port = 0, sin6_flowinfo = 0, sin6_addr = {__in6_u = {__u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}}, sin6_scope_id = 0}}}
        paras = {string = 0x7fff5fcadf00 "", length = 0, spaceAvl = 200, 
          staticSpace = "\000\214\220\001\000\000\000\000\247\252\350\274\005\177\000\000Н\230\001\000\000\000\000Н\230\001\000\000\000\000\000\214\220\001", '\000' <repeats 12 times>, "P\322\312_\377\177\000\000\361N9\275\005\177\000\000\000\000\000\000\000\000\000\000\210O9\275\005\177\000\000@uf\275\005\177\000\000\370\001\000\000\000\000\000\000\000\214\220\001\000\000\000\000\001\000\000\000\000\000\000\000\000\214\220\001", '\000' <repeats 12 times>, "\320Н\001\000\000\000\000\320\337\312_\377\177\000\000\000\000\000\000\000\000\000\000\316\331;\275\005\177\000\000[04:05:23] #-HQ#\320w\217\001\000\000\000\000\004\000\000\000\000\000\000\000\340ڏ\001\000\000\000"}
#10 0x00007f05bd2efa3b in TclInvokeStringCommand () from /lib64/libtcl8.6.so
No symbol table info available.
#11 0x00007f05bd2f8008 in ?? () from /lib64/libtcl8.6.so
No symbol table info available.
#12 0x00007f05bd2f4b2f in TclNRRunCallbacks () from /lib64/libtcl8.6.so
No symbol table info available.
#13 0x00007f05bd2f6b2f in ?? () from /lib64/libtcl8.6.so
No symbol table info available.
#14 0x00007f05bd2f7207 in Tcl_EvalEx () from /lib64/libtcl8.6.so
No symbol table info available.
#15 0x00007f05bd2f7229 in Tcl_Eval () from /lib64/libtcl8.6.so
No symbol table info available.
#16 0x00007f05bd2f7927 in Tcl_GlobalEval () from /lib64/libtcl8.6.so
No symbol table info available.
#17 0x0000000000420931 in cmd_tcl (u=0x19f8f70, idx=1, msg=0x1989dd0 "dnslookup google foo") at cmds.c:2484
        code = 0
        result = 0x7fff5fcae420 "\360ΐ\001"
        dstr = {string = 0x7f05bc8f24c0 <_tmbuf> "\034", length = 27119824, spaceAvl = 0, 
          staticSpace = "\320\337\312_\377\177\000\000\v\000\000\000\002\000\000\000\001\000\000\000\000\000\000\000\243\230F\000\000\000\000\000\200\232F\000\000\000\000\000pӝ\001\000\000\000\000Pѝ\001\000\000\000\000\360ѝ\001\000\000\000\000\000\344\312_\377\177\000\000\n\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\361N9\275\005\177\000\000\001\000\000\000\000\000\000\000\210O9\275\005\177\000\000@uf\275\005\177\000\000\b\003\000\000\000\000\000\000\000\214\220\001", '\000' <repeats 13 times>, "\214\005\001\000\000\000\000\377\377\377\377\377\377\377\377pӝ\001\000\000\000\000`А\001\000\000\000\000 \344\312_\377\177\000\000\003\000\000\000\000\000\000\000\004\000\000\000\000\000\000"}
#18 0x000000000044b847 in builtin_dcc (cd=0x42087c <cmd_tcl>, irp=0x1908c00, argc=4, argv=0x190d060) at tclhash.c:681
        idx = 1
        F = 0x42087c <cmd_tcl>
#19 0x00007f05bd2efa3b in TclInvokeStringCommand () from /lib64/libtcl8.6.so
No symbol table info available.
#20 0x00007f05bd2f8008 in ?? () from /lib64/libtcl8.6.so
No symbol table info available.
#21 0x00007f05bd2f4b2f in TclNRRunCallbacks () from /lib64/libtcl8.6.so
No symbol table info available.
#22 0x00007f05bd2f6b2f in ?? () from /lib64/libtcl8.6.so
No symbol table info available.
#23 0x00007f05bd2f7207 in Tcl_EvalEx () from /lib64/libtcl8.6.so
No symbol table info available.
#24 0x00007f05bd2f7229 in Tcl_Eval () from /lib64/libtcl8.6.so
No symbol table info available.
#25 0x00007f05bd2f7808 in Tcl_VarEvalVA () from /lib64/libtcl8.6.so
No symbol table info available.
#26 0x00007f05bd2f78dd in Tcl_VarEval () from /lib64/libtcl8.6.so
No symbol table info available.
#27 0x000000000044bb09 in trigger_bind (proc=0x1972160 "*dcc:tcl", param=0x469b7a " $_dcc1 $_dcc2 $_dcc3", mask=0x1972100 "tcl") at tclhash.c:748
        x = 48
        ru1 = {ru_utime = {tv_sec = 4294967296, tv_usec = 0}, ru_stime = {tv_sec = 139662626807427, tv_usec = 0}, {ru_maxrss = 139662626812544, __ru_maxrss_word = 139662626812544}, {ru_ixrss = 25769803775, __ru_ixrss_word = 25769803775}, 
          {ru_idrss = 0, __ru_idrss_word = 0}, {ru_isrss = 9178393236751374592, __ru_isrss_word = 9178393236751374592}, {ru_minflt = 8026329748095462508, __ru_minflt_word = 8026329748095462508}, {ru_majflt = 26250240, 
--Type <RET> for more, q to quit, c to continue without paging--
            __ru_majflt_word = 26250240}, {ru_nswap = 140734800521968, __ru_nswap_word = 140734800521968}, {ru_inblock = 26681640, __ru_inblock_word = 26681640}, {ru_oublock = 0, __ru_oublock_word = 0}, {ru_msgsnd = 52066479806678768, 
            __ru_msgsnd_word = 52066479806678768}, {ru_msgrcv = 140734800521744, __ru_msgrcv_word = 140734800521744}, {ru_nsignals = 4505102, __ru_nsignals_word = 4505102}, {ru_nvcsw = 0, __ru_nvcsw_word = 0}, {ru_nivcsw = 347892350975, 
            __ru_nivcsw_word = 347892350975}}
        ru2 = {ru_utime = {tv_sec = 140734800521632, tv_usec = 26542128}, ru_stime = {tv_sec = 139662626783232, tv_usec = 21474836481}, {ru_maxrss = 26543136, __ru_maxrss_word = 26543136}, {ru_ixrss = 26179536, 
            __ru_ixrss_word = 26179536}, {ru_idrss = 0, __ru_idrss_word = 0}, {ru_isrss = 26179536, __ru_isrss_word = 26179536}, {ru_minflt = 27119856, __ru_minflt_word = 27119856}, {ru_majflt = 9178393236751374592, 
            __ru_majflt_word = 9178393236751374592}, {ru_nswap = 4294967295, __ru_nswap_word = 4294967295}, {ru_inblock = 0, __ru_inblock_word = 0}, {ru_oublock = 26550480, __ru_oublock_word = 26550480}, {ru_msgsnd = 139662629178496, 
            __ru_msgsnd_word = 139662629178496}, {ru_msgrcv = 140734800521744, __ru_msgrcv_word = 140734800521744}, {ru_nsignals = 0, __ru_nsignals_word = 0}, {ru_nvcsw = 26250240, __ru_nvcsw_word = 26250240}, {
            ru_nivcsw = 139662626582718, __ru_nivcsw_word = 139662626582718}}
        r = 0
        buf = 0x19c2b70 "\240\036\227\001"
#28 0x000000000044c142 in check_tcl_bind (tl=0x19498b0, match=0x7fff5fcaf4b1 "tcl", atr=0x7fff5fcaeaf0, param=0x469b7a " $_dcc1 $_dcc2 $_dcc3", match_type=80) at tclhash.c:953
        x = 0
        result = 0
        cnt = 1
        finish = 1
        proc = 0x1972160 "*dcc:tcl"
        mask = 0x1972100 "tcl"
        tm = 0x19720d0
        tm_last = 0x19720d0
        tm_p = 0x1972180
        tc = 0x1972120
        htc = 0x1972120
        str = 0x7f05bd2fd8fc <Tcl_Alloc+12> "H\205\300u\004\205\333u\002[É\336H\215=`,\022"
        varName = 0x1908c00 "؍\220\001"
        brkt = 0x0
#29 0x000000000044c35c in check_tcl_dcc (cmd=0x7fff5fcaf4b1 "tcl", idx=1, args=0x7fff5fcaf4b5 "dnslookup google foo") at tclhash.c:985
        fr = {match = 5, global = 12122672, udef_global = 0, bot = 0, chan = 0, udef_chan = 0}
        x = 32767
        s = "1\000\000\331E\227\001\001\000\000"
#30 0x0000000000426936 in dcc_chat (idx=1, buf=0x7fff5fcaf4b5 "dnslookup google foo", i=25) at dcc.c:1117
        nathan = 0
        doron = 0
        fixed = 0
        v = 0x7fff5fcaf4b1 "tcl"
        d = 0x7fff5fcaf4c9 ""
        filtbuf = "\000\000\000\000\000\000\000\000\207\024h\275\005\177\000\000\005", '\000' <repeats 15 times>, "\t\000\000\000\000\000\000\000\b\265\347\274\005\177\000\000 \357\312_\377\177\000\000\376\200h\275\005\177\000\000P\361\312_\377\177\000\000\001\000\000\000\000\000\000\000\377\001\000\000\000\000\000\000P\361\312_\377\177\000\000\000\000\000\000\000\000\000\000\340\360\312_\377\177\000\000\000\000\000\000\000\000\000\000\360\353\312_\377\177\000\000c\000\000\000\000\000\000\000\034vF\000\000\000\000\000`\355\312_\377\177\000\000\240\037\000\000\377\377\002\000`\356\312_\377\177\000\000\364\217Z\274\005\177\000\000\001\200\255\373\377\177\000\000`\356\312_\377\177\000\000`\356\312_\377\177\000\000"...
#31 0x0000000000436885 in mainloop (toplevel=1) at ./main.c:881
        idx = 1
        socket_cleanup = 5
        xx = 1
        i = 25
        eggbusy = 1
        tclbusy = 0
        buf = ".tcl\000dnslookup google foo\000>\275\005\177\000\000\220\365\312_\377\177\000\000\315\006>\275\005\177\000\000\340\004\230\001\000\000\000\000\252\310>\275\005\177\000\000\320w\217\001", '\000' <repeats 12 times>, "\001\000\000\000\000\000\000\000\025\350>\275\005\177\000\000\000\000\000\000\004\000\000\000@\032\225\001\000\000\000\000\200rB\275\005\177\000\000p\000\000\000\000\000\000\000\260\277\224\001", '\000' <repeats 12 times>, "@\035\225\001\000\000\000\000\340\351\217\001", '\000' <repeats 28 times>, "K\016<\275\005\177\000\000\340\004\230\001\000\000\000\000\000"...
#32 0x00000000004379dd in main (arg_c=3, arg_v=0x7fff5fcaf948) at ./main.c:1294
        i = -1
        xx = 5739
        s = "1508\n\000v 26 2019\000:14 2019"
        f = 0x19d66d0
        sv = {__sigaction_handler = {sa_handler = 0x43558e <got_alarm>, sa_sigaction = 0x43558e <got_alarm>}, sa_mask = {__val = {0 <repeats 16 times>}}, sa_flags = 0, sa_restorer = 0x0}
        chan = 0x0

@vanosg vanosg closed this in #904 Dec 11, 2019
vanosg added a commit that referenced this issue Dec 11, 2019
Found by: weweilep
Patch by: michaelortmann
Fixes: #901

* Prevent crash condition when dns-servers lists more servers than the resolver library's MAXNS (usually defined to 3)
* Update dns-server buffer size to accommodate max full-length IPv6 addresses
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants
You can’t perform that action at this time.