[1.9.1] Crash on .channel
Yesterday got two crashes, both with 1.9.1, one bot somehow survived, after using .channel command. This happened during netsplit.
***** means it's redacted
From partyline - first bot:
.channel #*****
[28/21:18:01] #wilk# (#*****) channel
Channel #*****, 49 members, mode +tnl 55:
Channel Topic: *****
(n = owner, m = master, o = op, d = deop, b = bot)
NICKNAME HANDLE JOIN IDLE USER@HOST
@QuizPL QuizPL --- B <- it's me!
@|^|||_|{ xorandor --- O 1d (away) *****
@wilk wilk --- N 11m *****
Torello_ * --- 23h *****
+Mortevor * --- 20h *****
dawidpl * --- 1d *****
+tufek atufka --- o 1d (away) *****
rogales * --- 1d (away) *****
[28/21:18:01] * Last context: tclhash.c/734 [Tcl proc: *dcc:channel, param: $_dcc1 $_dcc2 $_dcc3]
[28/21:18:01] * Please REPORT this BUG!
[28/21:18:01] * Check doc/BUG-REPORT on how to do so.
[28/21:18:00] * Wrote DEBUG
[28/21:18:00] * SEGMENT VIOLATION -- CRASHING!
Connection closed by foreign host.
DEBUG file:
Debug (eggdrop v1.9.1) written Mon Jun 28 21:18:00 2021
Patch level: stable
Tcl library: /usr/share/tcl8.5
Tcl version: 8.5.13 (header version 8.5.13)
Tcl is threaded
Compiled with IPv6 support
Compiled with TLS support
Configure flags: none
Compile flags: gcc -std=gnu99 -g -O2 -pipe -Wall -I.. -I.. -DHAVE_CONFIG_H -I/usr/include
Link flags: gcc -std=gnu99
Strip flags: touch
Context: tclhash.c/749, []
tclhash.c/729, []
tclhash.c/734, [Tcl proc: *chjn:gseen, param: $_chjn1 $_chjn2 $_chjn3 $_chjn4 $_chjn5 $_chjn6]
gseen:sensors.c/219, []
tclhash.c/749, []
stats:sensors.c/93, []
stats:sensors.c/132, []
stats:userrec.c/547, []
stats:userrec.c/534, []
stats:userrec.c/534, []
stats:userrec.c/534, []
stats:userrec.c/534, []
stats:userrec.c/534, []
stats:userrec.c/534, []
tclhash.c/729, []
tclhash.c/734 [Tcl proc: *dcc:channel, param: $_dcc1 $_dcc2 $_dcc3]
IDX ADDR + PORT NICK TYPE INFO
--- ---------------------------------------- ------ --------- ----- ---------
3 0.0.0.0 ***** (users) lstn *****
4 0.0.0.0 ***** (bots) lstn *****
5 127.0.0.1 0 (dns) dns (ready)
9 ***** + 6697 (server) serv (lag: 0)
10 127.0.0.1 ***** wilk chat flags: cpTEp/0
11 ***** ***** ***** bot flags: pUCosgwliA
Compiled without extensive memory debugging (sorry).
Open sockets: 3 (listen), 4 (listen), 5 (passed on), 9 (TLS), 10, 11, 13 (file), done.
From partyline - second bot:
.channel #*****
[28/21:17:10] #wilk# (#*****) channel
Channel #*****, 50 members, mode +tnl 55:
Channel Topic: *****
(n = owner, m = master, o = op, d = deop, b = bot)
NICKNAME HANDLE JOIN IDLE USER@HOST
@Izomer Izomer --- B <- it's me!
rogales * --- 3d *****
[28/21:17:10] * Last context: tclhash.c/734 [Tcl proc: *dcc:channel, param: $_dcc1 $_dcc2 $_dcc3]
[28/21:17:10] * Please REPORT this BUG!
[28/21:17:10] * Check doc/BUG-REPORT on how to do so.
[28/21:17:10] * Wrote DEBUG
[28/21:17:10] * SEGMENT VIOLATION -- CRASHING!
Connection closed by foreign host.
DEBUG file:
Debug (eggdrop v1.9.1) written Mon Jun 28 21:17:10 2021
Patch level: stable
Tcl library: /usr/share/tcltk/tcl8.6
Tcl version: 8.6.8 (header version 8.6.8)
Tcl is threaded
Compiled with IPv6 support
Compiled without TLS support
Configure flags: none
Compile flags: gcc -g -O2 -pipe -Wall -I.. -I.. -DHAVE_CONFIG_H -I/usr/include/tcl8.6
Link flags: gcc
Strip flags: touch
Context: tclhash.c/734, [Tcl proc: ::needhelp::on_bot, param: $_bot1 $_bot2 $_bot3]
tclhash.c/749, []
tclhash.c/729, []
tclhash.c/734, [Tcl proc: ::needhelp::on_bot, param: $_bot1 $_bot2 $_bot3]
tclhash.c/749, []
tclhash.c/729, []
tclhash.c/734, [Tcl proc: ::needhelp::on_bot, param: $_bot1 $_bot2 $_bot3]
tclhash.c/749, []
tclhash.c/729, []
tclhash.c/734, [Tcl proc: ::needhelp::on_bot, param: $_bot1 $_bot2 $_bot3]
tclhash.c/749, []
tclhash.c/729, []
tclhash.c/734, [Tcl proc: ::needhelp::on_bot, param: $_bot1 $_bot2 $_bot3]
tclhash.c/749, []
tclhash.c/729, []
tclhash.c/734 [Tcl proc: *dcc:channel, param: $_dcc1 $_dcc2 $_dcc3]
IDX ADDR + PORT NICK TYPE INFO
--- ---------------------------------------- ------ --------- ----- ---------
5 0.0.0.0 ***** (users) lstn *****
6 0.0.0.0 ***** (bots) lstn *****
7 127.0.0.53 0 (dns) dns (ready)
11 ***** ***** ***** bot flags: pUcosgwlia
15 ***** 6667 (server) serv (lag: 1)
17 ***** ***** ***** bot flags: pUCosgwLiA
14 127.0.0.1 ***** wilk chat flags: cpTEp/0
Compiled without extensive memory debugging (sorry).
Open sockets: 5 (listen), 6 (listen), 7 (passed on), 11, 15, 14, 17, 16 (file), done.
Thanks for the report. Can you tell me more what you mean by 'one somehow survived' - does that mean it didn't crash on a .channel?
Do you have any CAP features requested?
Also interesting it crashed after the same user each time. Were these different channels, or the same channel?
Thanks
Yes, one 1.9.1 returned whole .channel # info, but that bot has reconnected to the network and channel with altnick (the original nick was juped due to split/server died), so most likely that is why it survived, because it had a fresh channel data. Also after restarting crashed bots they work ok so far.
The network is IRCnet, no CAP extensions here.
It is the same channel. Indeed they seem to have crashed after the same user, but I do not find anything suspicious in nick!user@host or realname in the following user or any other user.
The other thing to note might be that I have .console channels on all bots set to * .
Maybe the crash was due to some weird condition because of split and stoned connection of the first bot in the channel records? (note that one bot reported 50 users on #, the other one 49 users, and the bot that reconnected reported at the same time 48 users)
Has this happened again, or was it a one-time thing?
So far one-timer, but I haven't got too many occasions to test it during splits coupled with bot reconnect also the main hub currently has issues with linking..