eggheads / eggdrop

The Eggdrop IRC Bot
GNU General Public License v2.0
506 stars 84 forks source link

Bug Report #202

Open Arkadietz opened 8 years ago

Arkadietz commented 8 years ago

Hello,

This is what DEBUG.txt says:

Debug (eggdrop v1.8.0+infiniteinfo) written Mon Jan 26 09:39:00 2015
Full Patch List:  CVS 1412277709 infiniteinfo
Tcl library: /usr/share/tcltk/tcl8.5
Tcl version: 8.5.11 (header version 8.5.11)
Tcl is threaded
Compiled with IPv6 support
Compiled with TLS support
Configure flags:  '--with-handlen=9'
Compile flags: gcc -g -O2 -pipe -Wall -I.. -I..  -DHAVE_CONFIG_H -g3 -DDEBUG -DDEBUG_ASSERT -DDEBUG_MEM -DDEBUG_DNS  
Link flags: gcc
Strip flags: touch
Context: tclhash.c/742, []
         tclhash.c/727, []
         tclhash.c/731, [Tcl proc: *raw:KICK, param:  $_raw1 $_raw2 $_raw3]
         tclhash.c/742, []
         tclhash.c/727, []
         tclhash.c/731, [Tcl proc: *raw:irc:kick, param:  $_raw1 $_raw2 $_raw3]
         tclhash.c/742, []
         tclhash.c/727, []
         tclhash.c/731, [Tcl proc: *raw:KICK, param:  $_raw1 $_raw2 $_raw3]
         tclhash.c/742, []
         tclhash.c/727, []
         tclhash.c/731, [Tcl proc: *raw:irc:mode, param:  $_raw1 $_raw2 $_raw3]
         tclhash.c/742, []
         tclhash.c/727, []
         tclhash.c/731, [Tcl proc: *raw:MODE, param:  $_raw1 $_raw2 $_raw3]
         tclhash.c/742 []

IDX ADDR                                     + PORT NICK      TYPE  INFO
---

3   31.13.219.146                             20024 (users)   lstn  20024
4   31.13.219.146                             20025 (bots)    lstn  20025
9   79.98.104.32                             + 6697 (server)  serv  (lag: 0)
10  85.217.128.122                            37057 sex       bot   flags: pUCosgwliA
5   212.73.138.38                                 0 (dns)     dns   (ready)
11  79.98.108.67                              38138 Jenny     bot   flags: pUCosgwliA

File 'language.c' accounted for 21057/21057 (ok)
File 'chanprog.c' accounted for 111/111 (ok)
File 'misc.c    ' accounted for 11349/11349 (ok)
File 'userrec.c ' accounted for 15737/15737 (ok)
File 'net.c     ' accounted for 0/0 (ok)
File 'dccutil.c ' accounted for 9792/9792 (ok)
File 'botnet.c  ' accounted for 2264/2264 (ok)
File 'tcl.c     ' accounted for 1708/1708 (ok)
File 'tclhash.c ' accounted for 22325/22325 (ok)
File 'tclmisc.c ' accounted for 27/27 (ok)
File 'modules.c ' accounted for 1127/1127 (ok)
File 'tcldcc.c  ' accounted for 24/24 (ok)
File 'dns.c     ' accounted for 0/0 (ok)
File 'tls.c     ' accounted for 272/272 (ok)
Module 'assoc     ' accounted for 0/0 (ok)
Module 'console   ' accounted for 0/0 (ok)
Module 'notes     ' accounted for 0/0 (ok)
Module 'compress  ' accounted for 0/0 (ok)
Module 'share     ' accounted for 48/48 (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 97/730 (debug follows:)
   server.c  /896 :(0020) server.c  /896 :(00B3) server.c  /877 :(000C)
   server.c  /896 :(00B3) server.c  /877 :(000C) server.c  /877 :(000C)
   server.c  /896 :(0032) server.c  /877 :(000C) server.c  /896 :(0028)
   server.c  /896 :(0020) server.c  /877 :(000C) server.c  /877 :(000C)
   servmsg.c /309 :(000C) servmsg.c /304 :(000C) server.c  /968 :(0018)
   server.c  /978 :(000C) server.c  /968 :(0018) server.c  /978 :(000D)
   server.c  /896 :(0025) server.c  /877 :(000C)
Module 'channels  ' accounted for 60554/60549 (debug follows:)
   chan.c    /47  :(0188) chan.c    /47  :(0188) chan.c    /47  :(0188)
   chan.c    /47  :(0188) chan.c    /47  :(0188) chan.c    /47  :(0188)
   chan.c    /47  :(0188) chan.c    /47  :(0188) tclchan.c /2046:(0718)
   tclchan.c /1922:(0001) tclchan.c /1938:(0188) chan.c    /47  :(0188)
   chan.c    /47  :(0188) chan.c    /47  :(0188) chan.c    /47  :(0188)
   irc.c     /305 :(0018) chan.c    /47  :(0188) udefchan.c/115 :(0014)
   udefchan.c/116 :(000A) udefchan.c/87  :(000C) udefchan.c/88  :(0005)
   chan.c    /47  :(0188) irc.c     /307 :(001A) chan.c    /47  :(0188)
   chan.c    /47  :(0188) userchan.c/274 :(0018) chan.c    /47  :(0188)
   chan.c    /1545:(0040) chan.c    /47  :(0188) chan.c    /47  :(0188)
   irc.c     /300 :(0010) chan.c    /47  :(0188) chan.c    /47  :(0188)
   chan.c    /47  :(0188) chan.c    /47  :(0188) chan.c    /47  :(0188)
   irc.c     /302 :(0001) tclchan.c /1952:(0010) tclchan.c /1922:(0001)
   tclchan.c /1956:(0010) irc.c     /447 :(0001) chan.c    /47  :(0188)
   chan.c    /47  :(0188) chan.c    /47  :(0188) chan.c    /47  :(0188)
   chan.c    /47  :(0188) chan.c    /47  :(0188) chan.c    /47  :(0188)
   chan.c    /47  :(0188) chan.c    /47  :(0188) chan.c    /47  :(0188)
   chan.c    /47  :(0188) chan.c    /47  :(0188) chan.c    /47  :(0188)
   chan.c    /47  :(0188) chan.c    /47  :(0188) chan.c    /47  :(0188)
   chan.c    /47  :(0188) chan.c    /47  :(0188) chan.c    /47  :(0188)
   chan.c    /47  :(0188) chan.c    /47  :(0188) chan.c    /47  :(0188)
   chan.c    /47  :(0188) chan.c    /47  :(0188) chan.c    /47  :(0188)
   chan.c    /47  :(0188) chan.c    /47  :(0188) chan.c    /47  :(0188)
   chan.c    /47  :(0188) chan.c    /47  :(0188) chan.c    /47  :(0188)
   chan.c    /47  :(0188) chan.c    /47  :(0188) chan.c    /47  :(0188)
   chan.c    /47  :(0188) chan.c    /47  :(0188) chan.c    /47  :(0188)
   chan.c    /47  :(0188) chan.c    /47  :(0188) chan.c    /47  :(0188)
   chan.c    /47  :(0188) chan.c    /47  :(0188) chan.c    /47  :(0188)
   chan.c    /47  :(0188) chan.c    /47  :(0188) chan.c    /47  :(0188)
   chan.c    /47  :(0188) chan.c    /47  :(0188) irc.c     /300 :(0010)
   chan.c    /47  :(0188) chan.c    /47  :(0188) chan.c    /47  :(0188)
   chan.c    /47  :(0188) chan.c    /47  :(0188) chan.c    /47  :(0188)
   chan.c    /47  :(0188) chan.c    /47  :(0188) chan.c    /47  :(0188)
   chan.c    /47  :(0188) irc.c     /300 :(0010) chan.c    /47  :(0188)
   chan.c    /47  :(0188) chan.c    /47  :(0188) chan.c    /47  :(0188)
   chan.c    /47  :(0188) chan.c    /47  :(0188) chan.c    /47  :(0188)
   chan.c    /47  :(0188) chan.c    /47  :(0188) chan.c    /47  :(0188)
   chan.c    /47  :(0188) chan.c    /47  :(0188) chan.c    /47  :(0188)
   chan.c    /47  :(0188) chan.c    /47  :(0188) chan.c    /47  :(0188)
   chan.c    /47  :(0188) chan.c    /47  :(0188) chan.c    /47  :(0188)
   chan.c    /47  :(0188) chan.c    /47  :(0188) irc.c     /305 :(0018)
   chan.c    /47  :(0188) irc.c     /307 :(001A) chan.c    /47  :(0188)
   chan.c    /47  :(0188) chan.c    /47  :(0188) chan.c    /47  :(0188)
   chan.c    /47  :(0188) chan.c    /47  :(0188) chan.c    /47  :(0188)
   chan.c    /47  :(0188) chan.c    /47  :(0188) chan.c    /47  :(0188)
   chan.c    /47  :(0188) chan.c    /47  :(0188) chan.c    /47  :(0188)
   chan.c    /47  :(0188) chan.c    /47  :(0188) chan.c    /47  :(0188)
   chan.c    /47  :(0188) chan.c    /47  :(0188) chan.c    /47  :(0188)
   chan.c    /47  :(0188) chan.c    /47  :(0188) chan.c    /47  :(0188)
   chan.c    /47  :(0188) chan.c    /47  :(0188) chan.c    /47  :(0188)
   chan.c    /47  :(0188) chan.c    /47  :(0188) chan.c    /47  :(0188)
   chan.c    /47  :(0188) chan.c    /47  :(0188) chan.c    /47  :(0188)
   chan.c    /47  :(0188) chan.c    /47  :(0188) chan.c    /47  :(0188)
   chan.c    /47  :(0188) chan.c    /47  :(0188) chan.c    /47  :(0188)
   chan.c    /47  :(0188) chan.c    /47  :(0188) chan.c    /47  :(0188)
   chan.c    /47  :(0188) chan.c    /47  :(0188) chan.c    /47  :(0188)
   chan.c    /47  :(0188) mode.c    /321 :(0006)
Module 'dns       ' accounted for 225/225 (ok)
Module 'uptime    ' accounted for 0/0 (ok)
Module 'encryption' accounted for 12552/12552 (ok)
Module 'eggdrop   ' accounted for 0/0 (ok)
--- End of debug memory list.
Open sockets: 3 (listen), 4 (listen), 5 (passed on), 10, 9 (TLS), 11, 12 (file), done.

This is what core file says:


# 0  newmask (m=0x0, s=s@entry=0x7ffc793fb638 "_!_@BGchat.html.chat", who=who@entry=0x7ffc793fac80 "Alice!Alice@Resident.Evil") at .././irc.mod/irc.c:295
# 1  0x00007fde8e5fe928 in got_ban (chan=0x7f7df0, nick=0x823e90 "Alice", from=0x823e96 "Alice@Resident.Evil", who=0x7ffc793fb638 "_!_@BGchat.html.chat", ch=0x7ffc793fb630 "#XXL", u=0x7efec0) at .././irc.mod/mode.c:765
# 2  0x00007fde8e60144e in gotmode (from=0x823e96 "Alice@Resident.Evil", origmsg=0x7ffc793fb638 "_!_@BGchat.html.chat") at .././irc.mod/mode.c:1291
# 3  0x00007fde8ea11779 in server_raw (cd=0x7fde8e5ff930 <gotmode>, irp=0x77e920, argc=<optimized out>, argv=0x782d80) at .././server.mod/server.c:1150
# 4  0x00007fde9105e694 in TclInvokeStringCommand () from /usr/lib/x86_64-linux-gnu/libtcl8.6.so
# 5  0x00007fde91060a87 in TclNRRunCallbacks () from /usr/lib/x86_64-linux-gnu/libtcl8.6.so
# 6  0x00007fde910617bb in ?? () from /usr/lib/x86_64-linux-gnu/libtcl8.6.so
# 7  0x00007fde91061093 in Tcl_EvalEx () from /usr/lib/x86_64-linux-gnu/libtcl8.6.so
# 8  0x00007fde910622a5 in Tcl_Eval () from /usr/lib/x86_64-linux-gnu/libtcl8.6.so
# 9  0x00007fde910632c6 in Tcl_VarEvalVA () from /usr/lib/x86_64-linux-gnu/libtcl8.6.so
# 10 0x00007fde91063399 in Tcl_VarEval () from /usr/lib/x86_64-linux-gnu/libtcl8.6.so
# 11 0x0000000000439383 in trigger_bind (mask=0x7f9310 "MODE", param=0x7fde8ea19a59 " $_raw1 $_raw2 $_raw3", proc=0x7ff890 "*raw:irc:mode") at tclhash.c:739
# 12 check_tcl_bind (tl=0x7f8fe0, match=0x7ffc793fbe5b "MODE", atr=0x0, param=0x7fde8ea19a59 " $_raw1 $_raw2 $_raw3", match_type=161) at tclhash.c:873
# 13 0x00007fde8ea10cda in check_tcl_raw (msg=0x7ffc793fbe60 "#XXL +b _!_@BGchat.html.chat", code=0x7ffc793fbe5b "MODE", from=0x7ffc793fbe41 "Alice!Alice@Resident.Evil") at .././server.mod/servmsg.c:180
# 14 server_activity (idx=<optimized out>, msg=0x7ffc793fbe60 "#XXL +b _!_@BGchat.html.chat", len=<optimized out>) at .././server.mod/servmsg.c:1066
# 15 0x000000000042a5e7 in mainloop (toplevel=toplevel@entry=1) at ./main.c:812
# 16 0x0000000000405642 in main (arg_c=<optimized out>, arg_v=<optimized out>) at ./main.c:1196

# 0  newmask (m=0x0, s=s@entry=0x7ffc793fb638 "_!_@BGchat.html.chat", who=who@entry=0x7ffc793fac80 "Alice!Alice@Resident.Evil") at .././irc.mod/irc.c:295
No locals.
# 1  0x00007fde8e5fe928 in got_ban (chan=0x7f7df0, nick=0x823e90 "Alice", from=0x823e96 "Alice@Resident.Evil", who=0x7ffc793fb638 "_!_@BGchat.html.chat", ch=0x7ffc793fb630 "#XXL", u=0x7efec0) at .././irc.mod/mode.c:765
    me = "Alice!Alice@Resident.Evil\000\177\000\000\000\000\000\364\002\000\000\000\000\000\000\332\063`\216\336\177\000\000`E*\220\336\177\000\000v\322\372\217\336\177\000\000k\255?y\374\177\000\000\b\000\000\000\000\000\000\000\070~\177\000\000\000\000\000\344\313B\000\000\000\000\000\v\000\000\000\000\000\000\000\340\253?y\374\177\000\000k\255?y\374\177\000\000`\255?y\374\177\000\000\274!\372V\000\000\000\000\060\000\000\000\060\000\000\000X\261?y\374\177\000\000`\260?y\374\177\000\000[09:33:32] \000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000x\254\062\060\061\066\000\000"...
    s = "Alice!Alice@Resident.Evil\000B\000\000\000\000\000\v", '\000' <repeats 15 times>, "{\256?y\374\177\000\000p\256?y\374\177\000\000\274!\372V\000\000\000\000\060\000\000\000\060\000\000\000h\262?y\374\177\000\000p\261?y\374\177\000\000[09:33:32] \000\000\000\000\000\177\255?y\374\177\000\000\300\256?y\374\177\000\000\300\256?y\374\177\000\000\377\377\377\377\001\000\000\000.29Mar2016\000y\374\177\000\000~\255?y\374\177\000\000ۮ?y\374\177\000\000\354\256?y\374\177\000\000\200\255?y\374\177\000\000\300\256?y\374\177\000\000\225"...
    s1 = "\214\257?y\374\177\000\000 \256?y\374\177\000\000`\257?y\374\177\000\000\225\207B", '\000' <repeats 13 times>, "\020\256?y\374\177\000\000\001", '\000' <repeats 15 times>, "IRC.INDEX.BG!*\000*\000\063.HSD1.\205\062C\000\000\000\000\000\000\206\177\000\000\000\000\000`\256?y\374\177\000\000\360}\177\000\000\000\000\000\206\035A\000\000\000\000\000\006\000\000\000\000\000\000\000f\256?y\374\177\000\000Alice\000Alice@Resident.Evil", '\000' <repeats 154 times>
    m = <optimized out>
    targ = <optimized out>
# 2  0x00007fde8e60144e in gotmode (from=0x823e96 "Alice@Resident.Evil", origmsg=0x7ffc793fb638 "_!_@BGchat.html.chat") at .././irc.mod/mode.c:1291
    todo = 2034218552
    nick = 0x823e90 "Alice"
    op = 0x7ffc793fb638 "*!*@BGchat.html.chat"
    chg = 0x7ffc793fb636 "b"
    msg = 0x7ffc793fb64c ""
    s = "p\264?y\374\177\000\000=E\231\220\336\177\000\000P\263?y\374\177\000\000q.\242\220\336\177\000\000P\263?y\374\177\000\000\250.\242\220\336\177\000\000\260\265?y\374\177\000\000P\263?y\374\177\000\000P\263?y\374\177\000\000\277rn\220\336\177\000\000\r\000\000\000\364\377\377\377\377\377\377\377\310\377\377\377\020\267?y\374\177\000\000m\000\000\000\000\000\000\000\070ˎ\000\000\000\000\000s\001\000\000\a\000\000\000\200\263?y\374\177\000\000\220\274\231\220\336\177\000\000@\000\000\000\b\000\000\000p\264?y\374\177\000\000\020fn\220\336\177\000\000\006\000\000\000\070\000\000\000\001\000\000\000\001\000\000\000@\000\000\000\000\000\000\000\024\000\000\000\000\000\000\000\024"...
    buf = "#XXL\000+b\000*!*@BGchat.html.chat", '\000' <repeats 482 times>
    ms2 = "+b"
    chan = 0x7f7df0
# 3  0x00007fde8ea11779 in server_raw (cd=0x7fde8e5ff930 <gotmode>, irp=0x77e920, argc=<optimized out>, argv=0x782d80) at .././server.mod/server.c:1150
    F = <optimized out>
# 4  0x00007fde9105e694 in TclInvokeStringCommand () from /usr/lib/x86_64-linux-gnu/libtcl8.6.so
No symbol table info available.
# 5  0x00007fde91060a87 in TclNRRunCallbacks () from /usr/lib/x86_64-linux-gnu/libtcl8.6.so
No symbol table info available.
# 6  0x00007fde910617bb in ?? () from /usr/lib/x86_64-linux-gnu/libtcl8.6.so
No symbol table info available.
# 7  0x00007fde91061093 in Tcl_EvalEx () from /usr/lib/x86_64-linux-gnu/libtcl8.6.so
No symbol table info available.
# 8  0x00007fde910622a5 in Tcl_Eval () from /usr/lib/x86_64-linux-gnu/libtcl8.6.so
No symbol table info available.
# 9  0x00007fde910632c6 in Tcl_VarEvalVA () from /usr/lib/x86_64-linux-gnu/libtcl8.6.so
No symbol table info available.
# 10 0x00007fde91063399 in Tcl_VarEval () from /usr/lib/x86_64-linux-gnu/libtcl8.6.so
No symbol table info available.
# 11 0x0000000000439383 in trigger_bind (mask=0x7f9310 "MODE", param=0x7fde8ea19a59 " $_raw1 $_raw2 $_raw3", proc=0x7ff890 "*raw:irc:mode") at tclhash.c:739
    x = <optimized out>
    msg = 0x44fbfa "Tcl proc: %s, param: %s"
    buf = 0x8ec7e0 ""
# 12 check_tcl_bind (tl=0x7f8fe0, match=0x7ffc793fbe5b "MODE", atr=0x0, param=0x7fde8ea19a59 " $_raw1 $_raw2 $_raw3", match_type=161) at tclhash.c:873
    result = 0
    cnt = <optimized out>
    proc = <optimized out>
    mask = <optimized out>
    tm = 0x7f92e0
    tm_last = 0x7ff4c0
    tm_p = 0x7ff4c0
    tc = <optimized out>
    htc = 0x0
# 13 0x00007fde8ea10cda in check_tcl_raw (msg=0x7ffc793fbe60 "#XXL +b _!_@BGchat.html.chat", code=0x7ffc793fbe5b "MODE", from=0x7ffc793fbe41 "Alice!Alice@Resident.Evil") at .././server.mod/servmsg.c:180
No locals.
# 14 server_activity (idx=<optimized out>, msg=0x7ffc793fbe60 "#XXL +b _!_@BGchat.html.chat", len=<optimized out>) at .././server.mod/servmsg.c:1066
    from = 0x7ffc793fbe41 "Alice!Alice@Resident.Evil"
    code = 0x7ffc793fbe5b "MODE"
# 15 0x000000000042a5e7 in mainloop (toplevel=toplevel@entry=1) at ./main.c:812
    idx = <optimized out>
    socket_cleanup = 2
    xx = <optimized out>
    i = 60
    eggbusy = 1
    tclbusy = 0
    buf = ":Alice!Alice@Resident.Evil\000MODE\000#XXL +b *!*@BGchat.html.chat\000\000nned\000\000nel\000\000ash IRC Client\000\000 \345, \354, \372, \355, \345, \376, \361\000\000\356\357\350\370\340, \344\363\347\357\340, \356\357\350\370\340, \350\347\357\356\344, \340\363\344\350\356, \364\363\344\346\350, \350\347\347\340\344\000\000 \340\352\342\340\360\350\363\354, \361\363\360\342\340\352\340\360, \340\342\340\360\361\352\350\000\000y Scout +S"...
# 16 0x0000000000405642 in main (arg_c=<optimized out>, arg_v=<optimized out>) at ./main.c:1196
    i = <optimized out>
    xx = <optimized out>
    s = "Tue Mar 29 2016\000:01 2016"
    f = <optimized out>
    sv = {__sigaction_handler = {sa_handler = 0x429ce0 <got_alarm>, sa_sigaction = 0x429ce0 <got_alarm>}, sa_mask = {__val = {0 <repeats 16 times>}}, sa_flags = 0, sa_restorer = 0x7ffc793fc250}
    chan = <optimized out>
    cdlim = {rlim_cur = 18446744073709551615, rlim_max = 18446744073709551615}
Arkadietz commented 8 years ago

Update

kiril@Hyperion(~/SIS)$ gdb eggdrop core
GNU gdb (Debian 7.7.1+dfsg-5) 7.7.1
Copyright (C) 2014 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-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 eggdrop...done.

warning: core file may not match specified executable file.
[New LWP 26856]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `./eggdrop SIS.conf'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007f2733c19dcc in _IO_vfprintf_internal (s=s@entry=0x7ffe16340e90, format=<optimized out>, format@entry=0x7f2731286ba2 "%s</span>", ap=ap@entry=0x7ffe16340ff8) at vfprintf.c:1642
1642    vfprintf.c: No such file or directory.
(gdb) bt full
#0  0x00007f2733c19dcc in _IO_vfprintf_internal (s=s@entry=0x7ffe16340e90, format=<optimized out>, format@entry=0x7f2731286ba2 "%s</span>", ap=ap@entry=0x7ffe16340ff8) at vfprintf.c:1642
        len = <optimized out>
        string_malloced = <optimized out>
        step0_jumps = {0, -21408, -10006, -9919, -9825, -9738, -9633, -9357, -8392, -7901, -7780, -7036, -7329, -7232, -6868, -9131, -2198, -2183, -4523, -4438, -1471, -3815, -1799, -4599, -168, -1104, -2074, -7135, -7232, -9460}
        space = 0
        is_short = 0
        use_outdigits = 0
        step1_jumps = {0, 0, 0, 0, 0, 0, 0, 0, 0, -7901, -7780, -7036, -7329, -7232, -6868, -9131, -2198, -2183, -4523, -4438, -1471, -3815, -1799, -4599, -168, -1104, -2074, -7135, -7232, 0}
        group = 0
        prec = -1
        step2_jumps = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -7780, -7036, -7329, -7232, -6868, -9131, -2198, -2183, -4523, -4438, -1471, -3815, -1799, -4599, -168, -1104, -2074, -7135, -7232, 0}
        string = <optimized out>
        left = 0
        is_long_double = 0
        width = 0
        step3a_jumps = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -7133, 0, 0, 0, -6868, -9131, -2198, -2183, -4523, 0, 0, 0, 0, -4599, 0, 0, 0, 0, 0, 0}
        alt = 0
        showsign = 0
        is_long = 0
        is_char = 0
        pad = 32 ' '
        step3b_jumps = {0 <repeats 11 times>, -7329, 0, 0, -6868, -9131, -2198, -2183, -4523, -4438, -1471, -3815, -1799, -4599, -168, -1104, -2074, 0, 0, 0}
        step4_jumps = {0 <repeats 14 times>, -6868, -9131, -2198, -2183, -4523, -4438, -1471, -3815, -1799, -4599, -168, -1104, -2074, 0, 0, 0}
        is_negative = <optimized out>
        number = <optimized out>
        base = <optimized out>
        the_arg = {pa_wchar = 824731957 L'\x31286935', pa_int = 824731957, pa_long_int = 139806305184053, pa_long_long_int = 139806305184053, pa_u_int = 824731957, pa_u_long_int = 139806305184053, pa_u_long_long_int = 139806305184053,
          pa_double = 6.907349246343756e-310, pa_long_double = <invalid float value>, pa_string = 0x7f2731286935 "",
          pa_wstring = 0x7f2731286935 L"\x25002f00\x25732573\x25642573\x25643230\x5f643230\x64256770\x6d74682e\x6277006c\x65683c00\xa3e6461\x682f3c00\x3e646165\x3c000a0a\x79646f62\x616c6320\x223d7373\x4c68326c\x6150676f\x3e226567\x3c09000a\x20766964\x223d6469\x746e6f63\x656e6961\xa3e2272\x3c090900\x20766964\x223d6469\x745f706c\x3e22706f\x90a000a\x642f3c09\xa3e7669\x3c090900\x20766964\x223d6469\x64616568\x3e227265\x909000a\x7669643c\x3d646920\x69616d22\x6f6c626e\x3e226b63\x2d2d000a\x4100202d\x6f697463\x203a6e\x2000203e\x6e696f6a\x206465\x6170733c\x6c63206e\x3d737361\x736c6522\x226a5f65\x626e263e\x3b7073\x66656c20\x72692074\x203a63\x6170733c\x6c63206e\x3d737361\x736c6522\x696c5f65\x6e263e22\x3b707362\x656c2000\x207466\x6170733c\x6c63206e\x3d737361\x736c6522\x226c5f65\x626e263e\x3b7073\x6b63694e\x61686320\x3a65676e\x733c0020\x206e6170\x73616c63\x65223d73\x5f65736c\x263e226e\x7073626e\x203a003b\x65646f6d\x61686320\x2065676e\x733c0027\x206e6170\x73616c63\x65223d73\x5f65736c\x263e226d\x7073626e\x6b20003b\x656b6369\x72662064\x206d6f\x6170733c\x6c63206e\x3d737361\x736c6522\x226b5f65\x626e263e\x3b7073\x6170733c\x6c63206e\x3d737361\x736c6522\x263e2265\x7073626e\x2563003b\x322e3230\x32302564\x64322e\x32302566\x64322e\x746e6f66\x6965772d\x3a746867\x646c6f62\x6e6f6600\x74732d74\x3a656c79\x6c617469\x74006369\x2d747865\x6f636564\x69746172\x753a6e6f\x7265646e\x656e696c\x70746600\x733c002e\x206e6170\x73616c63\x25223d73\x3e2273\x6170733c\x7473206e\x3d656c79\x22732522\x613c003e\x65726820\x6d223d66\x746c6961\x73253a6f\x3c003e22\x72682061\x223d6665\x3e227325\x3c732500\x6170732f\x61003e6e\x9090062\x7669643c\x3d646920\x76616e22\x74746f62\x3e226d6f\x72623c00\x3e2f20\x623c0909\x6c632072\x3d737361\x656c6322\x6c667261\x2274616f\xa3e2f20\x3c090900\x20766964\x223d6469\x625f706c\x6f74746f\xa3e226d\x622f3c00\x3e79646f\x2f3c000a\x6c6d7468\x6f000a3e\x65006464\x6e6576\x73257325\x61666564\x2e746c75\x737363\x61686340\x74657372\x74752220\x22382d66\x2f000a3b\x5343202a\x6f442053\x656d7563\x2a20746e\xa0a2f"..., pa_pointer = 0x7f2731286935, pa_user = 0x7f2731286935}
        spec = 115 's'
        _buffer = {__routine = 0x7ffe16340a90, __arg = 0x3000000018, __canceltype = 372510960, __prev = 0x7ffe16341030}
        _avail = <optimized out>
        thousands_sep = 0x0
        grouping = 0xffffffffffffffff <error: Cannot access memory at address 0xffffffffffffffff>
        done = 0
        f = 0x7f2731286ba3 "s</span>"
        lead_str_end = <optimized out>
        end_of_spec = <optimized out>
        work_buffer = "\340\f4\026\376\177\000\000\000p\\\002\000\000\000\000\027\000E\000\000\000\000\000\000p\\\002\000\000\000\000\220\222f\002", '\000' <repeats 13 times>, "p\\\002", '\000' <repeats 12 times>, "\001\200\255\373\000\000\000\000\000\352\241\017\335\376\343\071\340\f4\026\376\177\000\000\001\000\000\000\000\000\000\000 \211]\002\000\000\000\000\000p\\\002\000\000\000\000\220\222f\002\000\000\000\000\001\000\000\000\000\000\000\000\220\fb\002\000\000\000\000\235|\342\064'\177\000\000\310\v4\026\376\177\000\000\001\000\000\000\000\000\000\000\020\322\\\002\000\000\000\000\000\000\000\000\001\000\000\000\320\v4\026\376\177\000\000\060\232f\002\000\000\000\000\000\000]\002\000\000\000\000\000\000\000\000"...
        workstart = 0x0
        workend = 0x7ffe16340e48 "\220\016\064\026\376\177"
        ap_save = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7ffe163410f0, reg_save_area = 0x7ffe16341010}}
        nspecs_done = 0
        save_errno = <optimized out>
        readonly_format = 0
        args_malloced = 0x0
        specs = <optimized out>
        specs_malloced = false
        jump_table = "\001\000\000\004\000\016\000\006\000\000\a\002\000\003\t\000\005\b\b\b\b\b\b\b\b\b\000\000\000\000\000\000\000\032\000\031\000\023\023\023\000\035\000\000\f\000\000\000\000\000\000\025\000\000\000\000\022\000\r\000\000\000\000\000\000\032\000\024\017\023\023\023\n\017\034\000\v\030\027\021\026\f\000\025\033\020\000\000\022\000\r"
        __PRETTY_FUNCTION__ = "_IO_vfprintf_internal"
#1  0x00007f2733c41409 in _IO_vsnprintf (string=0x2719fa0 "", maxlen=<optimized out>, format=0x7f2731286ba2 "%s</span>", args=0x7ffe16340ff8) at vsnprintf.c:119
        sf = {f = {_sbf = {_f = {_flags = -72515583, _IO_read_ptr = 0x2719fa0 "", _IO_read_end = 0x2719fa0 "", _IO_read_base = 0x2719fa0 "", _IO_write_base = 0x2719fa0 "", _IO_write_ptr = 0x2719fa0 "", _IO_write_end = 0x271a19f "",
                _IO_buf_base = 0x2719fa0 "", _IO_buf_end = 0x271a19f "", _IO_save_base = 0x0, _IO_backup_base = 0x0, _IO_save_end = 0x0, _markers = 0x0, _chain = 0x0, _fileno = 40979885, _flags2 = 0, _old_offset = 140880,
                _cur_column = 0, _vtable_offset = -80 '\260', _shortbuf = "", _lock = 0x0, _offset = 40982720, _codecvt = 0x200, _wide_data = 0xffffffffffffffff, _freeres_list = 0x0, _freeres_buf = 0x26f4660, _freeres_size = 4388435,
                _mode = -1, _unused2 = "2html:fileopera\000ions"}, vtable = 0x7f2733f73460 <_IO_strn_jumps>}, _s = {_allocate_buffer = 0x0, _free_buffer = 0x3000000028}},
          overflow_buf = "P\020\064\026\376\177\000\000\a9\304\063'\177\000\000`Fo\002\000\000\000\000\001\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\360\330p\002\000\000\000\000\255\232\303\063'\177\000"}
---Type <return> to continue, or q <return> to quit---
michaelortmann commented 6 years ago

1st: the update core dump from 18. aug. is shortened and i cant get information out of it.

2nd: but the 1st core dump shows everything such a coredump can: the issue is a nullpointer.

got_ban() calles newban(chan, ...) calles newmask((chan)->channel.ban, ...)

i wasted some time figuring out, which conditions could lead to channel.ban be NULL, without success.

i give up here.

maybe an additional log file of what happened before would help.

Could we add something like https://github.com/eggheads/eggdrop/blob/develop/src/botnet.c#L948 to the code and close this PR (until feedback)?

scan-build found the following, which looks related:

290 | static void newmask(masklist *m, char *s, char *who)
-- | --
291 | {
292 | for (; m && m->mask[0] && rfc_casecmp(m->mask, s); m = m->next);
  | Assuming 'm' is null→ |
293 | if (m->mask[0])
  | Access to field 'mask' results in a dereference of a null pointer (loaded from variable 'm') |
michaelortmann commented 2 years ago

Full Patch List: CVS 1412277709 infiniteinfo equals 24da99cb3846f9cd8fa030ca1c732a2b6ec2d997