irssi-import / bugs.irssi.org

bugs.irssi.org archive
https://github.com/irssi/irssi/issues
0 stars 0 forks source link

Irssi crash when it try's to download a file (DCC) #187

Closed irssibot closed 19 years ago

irssibot commented 19 years ago

alitrix@moria:~$ irssi -v irssi 0.8.10-rc5 (20041018 1440)

When a bot/somebody sends a file to me through DCC irssi crashes :( There is a bug in the core (as the gdb tells me in the information)

alitrix@moria:~$ gdb irssi core
GNU gdb 6.1.1
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i486-slackware-linux"...Using host libthread_db library "/lib/libthread_db.so.1".

Core was generated by `irssi'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /lib/libnsl.so.1...done.
Loaded symbols for /lib/libnsl.so.1
Reading symbols from /lib/libm.so.6...done.
Loaded symbols for /lib/libm.so.6
Reading symbols from /lib/libcrypt.so.1...done.
Loaded symbols for /lib/libcrypt.so.1
Reading symbols from /lib/libutil.so.1...done.
Loaded symbols for /lib/libutil.so.1
Reading symbols from /usr/lib/libgmodule-2.0.so.0...done.
Loaded symbols for /usr/lib/libgmodule-2.0.so.0
Reading symbols from /usr/lib/libglib-2.0.so.0...done.
Loaded symbols for /usr/lib/libglib-2.0.so.0
Reading symbols from /usr/lib/libssl.so.0...done.
Loaded symbols for /usr/lib/libssl.so.0
Reading symbols from /usr/lib/libcrypto.so.0...done.
Loaded symbols for /usr/lib/libcrypto.so.0
Reading symbols from /lib/libdl.so.2...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /lib/libncurses.so.5...done.
Loaded symbols for /lib/libncurses.so.5
Reading symbols from /lib/libc.so.6...done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
Reading symbols from /lib/libgpm.so.1...done.
Loaded symbols for /lib/libgpm.so.1
Reading symbols from /lib/libnss_compat.so.2...done.
Loaded symbols for /lib/libnss_compat.so.2
Reading symbols from /usr/lib/gconv/ISO8859-1.so...done.
Loaded symbols for /usr/lib/gconv/ISO8859-1.so
Reading symbols from /usr/lib/perl5/5.8.4/i486-linux/auto/Irssi/Irssi.so...done.
Loaded symbols for /usr/lib/perl5/5.8.4/i486-linux/auto/Irssi/Irssi.so
Reading symbols from /usr/lib/perl5/5.8.4/i486-linux/auto/Irssi/UI/UI.so...done.
Loaded symbols for /usr/lib/perl5/5.8.4/i486-linux/auto/Irssi/UI/UI.so
Reading symbols from /usr/lib/perl5/5.8.4/i486-linux/auto/Irssi/Irc/Irc.so...done.
Loaded symbols for /usr/lib/perl5/5.8.4/i486-linux/auto/Irssi/Irc/Irc.so
Reading symbols from /usr/lib/perl5/5.8.4/i486-linux/auto/Irssi/TextUI/TextUI.so...done.
Loaded symbols for /usr/lib/perl5/5.8.4/i486-linux/auto/Irssi/TextUI/TextUI.so
Reading symbols from /usr/lib/perl5/5.8.4/i486-linux/auto/POSIX/POSIX.so...done.
(gdb) bt full
#0  0x40300613 in strlen () from /lib/libc.so.6
No symbol table info available.
#1  0x4042d950 in boot_Irssi__Irc__Dcc () from /usr/lib/perl5/5.8.4/i486-linux/auto/Irssi/Irc/Irc.so
No symbol table info available.
#2  0x080e7403 in irssi_bless_iobject (type=139324364, chat_type=1862281572, object=0x85af9d0) at perl-common.c:142
        rec = (PERL_OBJECT_REC *) 0x831ce00
        stash = (HV *) 0x83229cc
        hv = (HV *) 0x835260c
        __PRETTY_FUNCTION__ = "irssi_bless_iobject"
#3  0x080ea1b0 in sig_func (p1=0x6f002964, p2=0x6f002964, p3=0x6f002964, p4=0x6f002964, p5=0x6f002964, p6=0x6f002964)
    at perl-signals.c:149
        rec = (PERL_SIGNAL_REC *) 0x6f002964
        args = {0x85af9d0, 0x0, 0x0, 0x0, 0x0, 0x0}
#4  0x080dd5e8 in signal_emit_real (rec=0x8351dd8, params=139324364, va=0x837dc18 "", first_hook=0x837dc18)
    at signals.c:242
        arglist = {0x85af9d0, 0x0, 0x0, 0x0, 0x0, 0x0}
        prev_emitted_signal = (Signal *) 0x81f6ce8
        hook = (SignalHook *) 0x837dc18
        prev_emitted_hook = (SignalHook *) 0x81f6d08
        i = 0
        stopped = 0
        stop_emit_count = 0
        continue_emit_count = 0
        __PRETTY_FUNCTION__ = "signal_emit_real"
#5  0x080dd76e in signal_emit (signal=0x81ad112 "dcc created", params=1) at signals.c:286
        rec = (Signal *) 0x8351dd8
        signal_id = 1862281572
        __PRETTY_FUNCTION__ = "signal_emit"
#6  0x080c152b in dcc_get_create (server=0x8280a20, chat=0x0, nick=0x8593bb9 "[Ns]-371", 
    arg=0x85ae820 "Little.Black.Book.SVCD.TELESYNC-maVen-CD1.tar") at dcc-get.c:45
        dcc = (GET_DCC_REC *) 0x85af9d0
#7  0x080c1ffb in ctcp_msg_dcc_send (server=0x8280a20, data=0x1 <Address 0x1 out of bounds>, nick=0x8593bb9 "[Ns]-371", 
    addr=0x8593bc2 "~xDcC@A06DA2CF.FBA7A132.DD7DCDE.IP", target=0x8576010 "alitrix", chat=0x0) at dcc-get.c:470
        dcc = (GET_DCC_REC *) 0x85035d8
        temp_dcc = (SEND_DCC_REC *) 0x85035d8
        ip = {family = 2, ip = {s_addr = 377530333}}
        address = 0x84f20b8 "3718742038"
        params = (char **) 0x85035d8
        fname = 0x85ae820 "Little.Black.Book.SVCD.TELESYNC-maVen-CD1.tar"
        paramcount = 140175392
        fileparams = 1
        quoted = 0
        size = 848742400
        p_id = -1
        passive = 0
#8  0x080dd5e8 in signal_emit_real (rec=0x81f6ce8, params=139324364, va=0x81f6d08 "", first_hook=0x81f6d08)
    at signals.c:242
        arglist = {0x8280a20, 0x85731da, 0x8593bb9, 0x8593bc2, 0x8576010, 0x0}
        prev_emitted_signal = (Signal *) 0x81f5eb0
        hook = (SignalHook *) 0x81f6d08
        prev_emitted_hook = (SignalHook *) 0x81f5ed0
        i = 0
        stopped = 0
        stop_emit_count = 0
        continue_emit_count = 0
        __PRETTY_FUNCTION__ = "signal_emit_real"
#9  0x080dd76e in signal_emit (signal=0x85731c8 "ctcp msg dcc send", params=6) at signals.c:286
        rec = (Signal *) 0x81f6ce8
        signal_id = 1862281572
        __PRETTY_FUNCTION__ = "signal_emit"
#10 0x080bedc8 in ctcp_msg_dcc (server=0x8280a20, 
    data=0x857601e "SEND Little.Black.Book.SVCD.TELESYNC-maVen-CD1.tar 3718742038 4324 848742400", 
    nick=0x8593bb9 "[Ns]-371", addr=0x8593bc2 "~xDcC@A06DA2CF.FBA7A132.DD7DCDE.IP", target=0x8576010 "alitrix", chat=0x0)
    at dcc.c:366
        args = 0x85731da "Little.Black.Book.SVCD.TELESYNC-maVen-CD1.tar 3718742038 4324 848742400"
        str = 0x85731c8 "ctcp msg dcc send"
#11 0x080dd5e8 in signal_emit_real (rec=0x81f5eb0, params=139324364, va=0x81f5ed0 "", first_hook=0x81f5ed0)
    at signals.c:242
        arglist = {0x8280a20, 0x857601e, 0x8593bb9, 0x8593bc2, 0x8576010, 0x0}
        prev_emitted_signal = (Signal *) 0x81f19b0
        hook = (SignalHook *) 0x81f5ed0
        prev_emitted_hook = (SignalHook *) 0x81f5e68
        i = 0
        stopped = 0
        stop_emit_count = 0
        continue_emit_count = 0
        __PRETTY_FUNCTION__ = "signal_emit_real"
#12 0x080dd76e in signal_emit (signal=0x81a31d1 "ctcp msg dcc", params=5) at signals.c:286
        rec = (Signal *) 0x81f5eb0
        signal_id = 1862281572
        __PRETTY_FUNCTION__ = "signal_emit"
#13 0x080bec7b in ctcp_msg (server=0x8280a20, 
    data=0x857601e "SEND Little.Black.Book.SVCD.TELESYNC-maVen-CD1.tar 3718742038 4324 848742400", 
    nick=0x8593bb9 "[Ns]-371", addr=0x8593bc2 "~xDcC@A06DA2CF.FBA7A132.DD7DCDE.IP", target=0x8576010 "alitrix")
    at dcc.c:334
No locals.
#14 0x080dd5e8 in signal_emit_real (rec=0x81f19b0, params=139324364, va=0x81f5e68 "Ð\031\037\b", first_hook=0x81f77d0)
    at signals.c:242
        arglist = {0x8280a20, 0x857601a, 0x8593bb9, 0x8593bc2, 0x8576010, 0x0}
        prev_emitted_signal = (Signal *) 0x81f1320
        hook = (SignalHook *) 0x81f5e68
        prev_emitted_hook = (SignalHook *) 0x81f1530
        i = 0
        stopped = 0
        stop_emit_count = 0
        continue_emit_count = 0
        __PRETTY_FUNCTION__ = "signal_emit_real"
#15 0x080dd76e in signal_emit (signal=0x81a2645 "ctcp msg", params=5) at signals.c:286
        rec = (Signal *) 0x81f19b0
        signal_id = 1862281572
        __PRETTY_FUNCTION__ = "signal_emit"
#16 0x080bb60a in event_privmsg (server=0x8280a20, data=0x84debcc "\b\017L\b", nick=0x8593bb9 "[Ns]-371", 
    addr=0x8593bc2 "~xDcC@A06DA2CF.FBA7A132.DD7DCDE.IP") at ctcp.c:288
        params = 0x8576010 "alitrix"
        target = 0x8576010 "alitrix"
        msg = 0x857601a "DCC SEND Little.Black.Book.SVCD.TELESYNC-maVen-CD1.tar 3718742038 4324 848742400"
        __PRETTY_FUNCTION__ = "event_privmsg"
#17 0x080dd5e8 in signal_emit_real (rec=0x81f1320, params=139324364, va=0x81f1530 "@í#\b\234ÿÿÿôº\032\b\220µ\v\b", 
    first_hook=0x823e7b0) at signals.c:242
        arglist = {0x8280a20, 0x8528da6, 0x8593bb9, 0x8593bc2, 0x0, 0x0}
        prev_emitted_signal = (Signal *) 0x81ef1e8
        hook = (SignalHook *) 0x81f1530
        prev_emitted_hook = (SignalHook *) 0x81f5540
        i = 0
        stopped = 0
        stop_emit_count = 0
        continue_emit_count = 0
        __PRETTY_FUNCTION__ = "signal_emit_real"
#18 0x080dd76e in signal_emit (signal=0x8528d98 "event privmsg", params=4) at signals.c:286
        rec = (Signal *) 0x81f1320
        signal_id = 1862281572
        __PRETTY_FUNCTION__ = "signal_emit"
#19 0x080ab219 in irc_server_event (server=0x8280a20, 
    line=0x8593be5 "PRIVMSG alitrix :\001DCC SEND Little.Black.Book.SVCD.TELESYNC-maVen-CD1.tar 3718742038 4324 848742400\001", nick=0x8593bb9 "[Ns]-371", address=0x8593bc2 "~xDcC@A06DA2CF.FBA7A132.DD7DCDE.IP") at irc.c:293
        signal = 0x8528d98 "event privmsg"
        event = 0x8528d98 "event privmsg"
        args = 0x8528da6 "alitrix :\001DCC SEND Little.Black.Book.SVCD.TELESYNC-maVen-CD1.tar 3718742038 4324 848742400\001"
        __PRETTY_FUNCTION__ = "irc_server_event"
#20 0x080dd5e8 in signal_emit_real (rec=0x81ef1e8, params=139324364, va=0x81f5540 "", first_hook=0x81ef208)
    at signals.c:242
        arglist = {0x8280a20, 0x8593be5, 0x8593bb9, 0x8593bc2, 0x0, 0x0}
        prev_emitted_signal = (Signal *) 0x81f5588
        hook = (SignalHook *) 0x81f5540
        prev_emitted_hook = (SignalHook *) 0x81f55a8
        i = 0
        stopped = 0
        stop_emit_count = 0
        continue_emit_count = 0
        __PRETTY_FUNCTION__ = "signal_emit_real"
#21 0x080dd7c4 in signal_emit_id (signal_id=1862281572, params=4) at signals.c:304
        rec = (Signal *) 0x81ef1e8
        __PRETTY_FUNCTION__ = "signal_emit_id"
#22 0x080ab318 in irc_parse_incoming_line (server=0x8280a20, line=0x0) at irc.c:369
        nick = 0x8593bb9 "[Ns]-371"
        address = 0x8593bc2 "~xDcC@A06DA2CF.FBA7A132.DD7DCDE.IP"
        __PRETTY_FUNCTION__ = "irc_parse_incoming_line"
#23 0x080dd5e8 in signal_emit_real (rec=0x81f5588, params=139324364, va=0x81f55a8 "", first_hook=0x81f55a8)
    at signals.c:242
        arglist = {0x8280a20, 0x8593bb8, 0x0, 0x0, 0x0, 0x0}
        prev_emitted_signal = (Signal *) 0x0
        hook = (SignalHook *) 0x81f55a8
        prev_emitted_hook = (SignalHook *) 0x0
        i = 0
        stopped = 0
        stop_emit_count = 0
        continue_emit_count = 0
        __PRETTY_FUNCTION__ = "signal_emit_real"
#24 0x080dd7c4 in signal_emit_id (signal_id=1862281572, params=2) at signals.c:304
        rec = (Signal *) 0x81f5588
        __PRETTY_FUNCTION__ = "signal_emit_id"
#25 0x080ab4bd in irc_parse_incoming (server=0x8280a20) at irc.c:388
        str = 0x8593bb8 ":[Ns]-371"
        count = 1
        __PRETTY_FUNCTION__ = "irc_parse_incoming"
#26 0x080d061d in irssi_io_invoke (source=0x8380418, condition=0, data=0x8381a50) at misc.c:56
        icond = 1862281572
#27 0x400e155f in g_vasprintf () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#28 0x400bbf72 in g_main_depth () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#29 0x400bd048 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#30 0x400bd380 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#31 0x400bd5ed in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#32 0x0807eea1 in main (argc=1, argv=0xbffff284) at irssi.c:385
        options = {{longName = 0x81a0204 "dummy", shortName = 100 'd', argInfo = 0, arg = 0x81d641c, val = 0, 
    descrip = 0x81a020a "Use the dummy terminal mode", argDescrip = 0x0}, {longName = 0x0, shortName = 0 '\0', 
    argInfo = 0, arg = 0x0, val = 0, descrip = 0x0, argDescrip = 0x0}}
(gdb) 

I hope this will help you people It looks like irssi can't get the string length of the filename?

Loaded symbols for /usr/lib/perl5/5.8.4/i486-linux/auto/POSIX/POSIX.so
#0  0x40300613 in strlen () from /lib/libc.so.6
irssibot commented 19 years ago

It crashes in perl stuff, so my first guess is it's a problem with a script you have loaded. Which scripts did you have loaded?

irssibot commented 19 years ago

Ah yes, I found the problem :)

It was idd a script , stupid of me.. I unloaded all the scripts except this one :( My fault

Incase you want to know which script, it's dccstat use 5.6.0; use Irssi 20020217; # Irssi 0.8.0 use vars qw($VERSION %IRSSI); $VERSION = "1.51";

irssibot commented 19 years ago