Segfault with irssi-silc-plugin (gdb backtrace)

Micah Anderson <[email protected]> Wed, 08 Oct 2008 14:24:27 -0400
Newsgroups gmane.network.silc.devel
Message-ID <[email protected]>
I was on a channel that has a channel key set, and I tried to send a
message to a user on that same server, and irssi segfaulted. I had been
experiencing segfaults more regularly now, so I had recompiled the
plugin and irssi with debugging symbols and was running in gdb so I
could get a backtrace.

I'm running 1.1.5, here is the backtrace:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x40602df0 (LWP 21273)]
0x4082080e in silc_hmac_get_name (hmac=0x0) at silchmac.c:284
284     silchmac.c: No such file or directory.
        in silchmac.c
(gdb) bt
#0  0x4082080e in silc_hmac_get_name (hmac=0x0) at silchmac.c:284
#1  0x40873cf3 in silc_client_del_channel_private_keys (client=0x8231b10, conn=0x8268150, channel=0x826d778) at client_channel.c:634
#2  0x4086d484 in silc_client_del_channel (client=0x8231b10, conn=0x8268150, channel=0x826d778) at client_entry.c:1725
#3  0x4087db7c in silc_client_command_reply_leave (fsm=0x8349f20, fsm_context=0x8349f18, state_context=0x82fd9d8) at command_reply.c:1838
#4  0x40884352 in silc_client_command_reply_process (fsm=0x8349f20, fsm_context=0x8349f18, state_context=0x82fd9d8) at command_reply.c:375
#5  0x4080b5e0 in silc_fsm_run (schedule=0x82344c8, app_context=0x8231b10, type=0, fd=0, context=0x8349f20) at silcfsm.c:429
#6  0x4080bb91 in silc_fsm_continue_sync (fsm=0x8349f20) at silcfsm.c:309
#7  0x40884624 in silc_client_command_reply (fsm=0x82cf5b0, fsm_context=0x8268150, state_context=0x822f6b0) at command_reply.c:209
#8  0x40876116 in silc_client_connection_st_packet (fsm=0x82cf5b0, fsm_context=0x8268150, state_context=0x822f6b0) at client.c:382
#9  0x4080b5e0 in silc_fsm_run (schedule=0x82344c8, app_context=0x8231b10, type=0, fd=0, context=0x82cf5b0) at silcfsm.c:429
#10 0x4080bdf3 in silc_fsm_start_sync (fsm=0x82cf5b0, start_state=0x40875f1c <silc_client_connection_st_packet>) at silcfsm.c:249
#11 0x40874dfc in silc_client_packet_receive (engine=0x82342a8, stream=0x83c5668, packet=0x822f6b0, callback_context=0x8231b10, 
    stream_context=0x8268150) at client.c:120
#12 0x407f738e in silc_packet_dispatch (packet=0x822f6b0) at silcpacket.c:2007
#13 0x407fc515 in silc_packet_read_process (stream=0x83c5668) at silcpacket.c:2318
#14 0x407fd6ed in silc_packet_stream_io (stream=0x829edc0, status=SILC_STREAM_CAN_READ, context=0x83c5668) at silcpacket.c:436
#15 0x40805386 in silc_socket_stream_io (schedule=0x82344c8, app_context=0x8231b10, type=SILC_TASK_READ, fd=11, context=0x829edc0)
    at silcunixsocketstream.c:36
#16 0x4081073b in silc_schedule_dispatch_fd (schedule=0x82344c8) at silcschedule.c:61
#17 0x408121fd in silc_schedule_iterate (schedule=0x82344c8, timeout_usecs=0) at silcschedule.c:455
#18 0x40812363 in silc_schedule_one (schedule=0x82344c8, timeout_usecs=0) at silcschedule.c:484
#19 0x40874bbd in silc_client_run_one (client=0x8231b10) at client.c:1093
#20 0x407de412 in my_silc_scheduler_fd (source=0x8474948, condition=G_IO_IN, data=0xb) at silc-core.c:91
#21 0x4025b75d in ?? () from /usr/lib/libglib-2.0.so.0
#22 0x08474948 in ?? ()
#23 0x00000001 in ?? ()
#24 0x0000000b in ?? ()
#25 0x402a04a8 in ?? () from /usr/lib/libglib-2.0.so.0
#26 0xbfb8ecbc in ?? ()
#27 0x08314f00 in ?? ()
#28 0xbfb8ecd8 in ?? ()
#29 0x402252e1 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
Backtrace stopped: frame did not save the PC
(gdb) thread apply all bt

Thread 1 (Thread 0x40602df0 (LWP 21273)):
#0  0x4082080e in silc_hmac_get_name (hmac=0x0) at silchmac.c:284
#1  0x40873cf3 in silc_client_del_channel_private_keys (client=0x8231b10, conn=0x8268150, channel=0x826d778) at client_channel.c:634
#2  0x4086d484 in silc_client_del_channel (client=0x8231b10, conn=0x8268150, channel=0x826d778) at client_entry.c:1725
#3  0x4087db7c in silc_client_command_reply_leave (fsm=0x8349f20, fsm_context=0x8349f18, state_context=0x82fd9d8) at command_reply.c:1838
#4  0x40884352 in silc_client_command_reply_process (fsm=0x8349f20, fsm_context=0x8349f18, state_context=0x82fd9d8) at command_reply.c:375
#5  0x4080b5e0 in silc_fsm_run (schedule=0x82344c8, app_context=0x8231b10, type=0, fd=0, context=0x8349f20) at silcfsm.c:429
#6  0x4080bb91 in silc_fsm_continue_sync (fsm=0x8349f20) at silcfsm.c:309
#7  0x40884624 in silc_client_command_reply (fsm=0x82cf5b0, fsm_context=0x8268150, state_context=0x822f6b0) at command_reply.c:209
#8  0x40876116 in silc_client_connection_st_packet (fsm=0x82cf5b0, fsm_context=0x8268150, state_context=0x822f6b0) at client.c:382
#9  0x4080b5e0 in silc_fsm_run (schedule=0x82344c8, app_context=0x8231b10, type=0, fd=0, context=0x82cf5b0) at silcfsm.c:429
#10 0x4080bdf3 in silc_fsm_start_sync (fsm=0x82cf5b0, start_state=0x40875f1c <silc_client_connection_st_packet>) at silcfsm.c:249
#11 0x40874dfc in silc_client_packet_receive (engine=0x82342a8, stream=0x83c5668, packet=0x822f6b0, callback_context=0x8231b10, 
    stream_context=0x8268150) at client.c:120
#12 0x407f738e in silc_packet_dispatch (packet=0x822f6b0) at silcpacket.c:2007
#13 0x407fc515 in silc_packet_read_process (stream=0x83c5668) at silcpacket.c:2318
#14 0x407fd6ed in silc_packet_stream_io (stream=0x829edc0, status=SILC_STREAM_CAN_READ, context=0x83c5668) at silcpacket.c:436
#15 0x40805386 in silc_socket_stream_io (schedule=0x82344c8, app_context=0x8231b10, type=SILC_TASK_READ, fd=11, context=0x829edc0)
    at silcunixsocketstream.c:36
#16 0x4081073b in silc_schedule_dispatch_fd (schedule=0x82344c8) at silcschedule.c:61
#17 0x408121fd in silc_schedule_iterate (schedule=0x82344c8, timeout_usecs=0) at silcschedule.c:455
#18 0x40812363 in silc_schedule_one (schedule=0x82344c8, timeout_usecs=0) at silcschedule.c:484
#19 0x40874bbd in silc_client_run_one (client=0x8231b10) at client.c:1093
#20 0x407de412 in my_silc_scheduler_fd (source=0x8474948, condition=G_IO_IN, data=0xb) at silc-core.c:91
#21 0x4025b75d in ?? () from /usr/lib/libglib-2.0.so.0
#22 0x08474948 in ?? ()
#23 0x00000001 in ?? ()
#24 0x0000000b in ?? ()
#25 0x402a04a8 in ?? () from /usr/lib/libglib-2.0.so.0
#26 0xbfb8ecbc in ?? ()
#27 0x08314f00 in ?? ()
#28 0xbfb8ecd8 in ?? ()
#29 0x402252e1 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
Backtrace stopped: frame did not save the PC
(gdb) bt full
#0  0x4082080e in silc_hmac_get_name (hmac=0x0) at silchmac.c:284
No locals.
#1  0x40873cf3 in silc_client_del_channel_private_keys (client=0x8231b10, conn=0x8268150, channel=0x826d778) at client_channel.c:634
        entry = (SilcChannelPrivateKey) 0x830ca50
#2  0x4086d484 in silc_client_del_channel (client=0x8231b10, conn=0x8268150, channel=0x826d778) at client_entry.c:1725
        id_cache = (SilcIDCacheEntry) 0x827f1e8
        ret = 1 '\001'
        key = <value optimized out>
        hmac = <value optimized out>
        namec = 0x81c55d8 "��'\b"
        __FUNCTION__ = "silc_client_del_channel"
#3  0x4087db7c in silc_client_command_reply_leave (fsm=0x8349f20, fsm_context=0x8349f18, state_context=0x82fd9d8) at command_reply.c:1838
        cmd = (SilcClientCommandContext) 0x8349f18
        conn = (SilcClientConnection) 0x8268150
        client = (SilcClient) 0x8231b10
        payload = (SilcCommandPayload) 0x82fd9d8
        args = (SilcArgumentPayload) 0x82c1ec8
        channel = (SilcChannelEntry) 0x826d778
        key = <value optimized out>
        hmac = <value optimized out>
        id = {u = {server_id = {ip = {data = "S�ID", '\0' <repeats 11 times>, data_len = 4 '\004'}, port = 49666, rnd = 17165}, 
    channel_id = {ip = {data = "S�ID", '\0' <repeats 11 times>, data_len = 4 '\004'}, port = 49666, rnd = 17165}, client_id = {ip = {
        data = "S�ID", '\0' <repeats 11 times>, data_len = 4 '\004'}, rnd = 0 '\0', hash = "\002�\rC\000\000\000\000\000\000"}}, type = 3}
        __FUNCTION__ = "silc_client_command_reply_leave"
#4  0x40884352 in silc_client_command_reply_process (fsm=0x8349f20, fsm_context=0x8349f18, state_context=0x82fd9d8) at command_reply.c:375
        cmd = (SilcClientCommandContext) 0x8349f18
#5  0x4080b5e0 in silc_fsm_run (schedule=0x82344c8, app_context=0x8231b10, type=0, fd=0, context=0x8349f20) at silcfsm.c:429
        fsm = (SilcFSM) 0x8349f20
        status = <value optimized out>
        __FUNCTION__ = "silc_fsm_run"
#6  0x4080bb91 in silc_fsm_continue_sync (fsm=0x8349f20) at silcfsm.c:309
        f = (SilcFSM) 0x8349f20
#7  0x40884624 in silc_client_command_reply (fsm=0x82cf5b0, fsm_context=0x8268150, state_context=0x822f6b0) at command_reply.c:209
        conn = (SilcClientConnection) 0x8268150
        cmd = <value optimized out>
        payload = (SilcCommandPayload) 0x82fd9d8
        command = 24 '\030'
        cmd_ident = 160
        __FUNCTION__ = "silc_client_command_reply"
#8  0x40876116 in silc_client_connection_st_packet (fsm=0x82cf5b0, fsm_context=0x8268150, state_context=0x822f6b0) at client.c:382
        packet = (SilcPacket) 0x822f6b0
        __FUNCTION__ = "silc_client_connection_st_packet"
#9  0x4080b5e0 in silc_fsm_run (schedule=0x82344c8, app_context=0x8231b10, type=0, fd=0, context=0x82cf5b0) at silcfsm.c:429
        fsm = (SilcFSM) 0x82cf5b0
        status = <value optimized out>
        __FUNCTION__ = "silc_fsm_run"
#10 0x4080bdf3 in silc_fsm_start_sync (fsm=0x82cf5b0, start_state=0x40875f1c <silc_client_connection_st_packet>) at silcfsm.c:249
        f = (SilcFSM) 0x82cf5b0
        __FUNCTION__ = "silc_fsm_start_sync"
#11 0x40874dfc in silc_client_packet_receive (engine=0x82342a8, stream=0x83c5668, packet=0x822f6b0, callback_context=0x8231b10, 
    stream_context=0x8268150) at client.c:120
        conn = (SilcClientConnection) 0x8268150
        thread = (SilcFSMThread) 0x82cf5b0
#12 0x407f738e in silc_packet_dispatch (packet=0x822f6b0) at silcpacket.c:2007
        stream = (SilcPacketStream) 0x83c5668
        p = (SilcPacketProcess) 0x0
        default_sent = 0 '\0'
        pt = <value optimized out>
        __FUNCTION__ = "silc_packet_dispatch"
#13 0x407fc515 in silc_packet_read_process (stream=0x83c5668) at silcpacket.c:2318
        inbuf = (SilcBuffer) 0x8210940
        cipher = (SilcCipher) 0x829b4f0
        hmac = (SilcHmac) 0x826d600
        packet = (SilcPacket) 0x822f6b0
        sid = <value optimized out>
---Type <return> to continue, or q <return> to quit---
        packetlen = <value optimized out>
        paddedlen = 80
        mac_len = 12
        block_len = 16
        ivlen = 0
        psnlen = 0
        tmp = "\000<\000\f\024\000\b\020\001�\r�\\�\002"
        header = (unsigned char *) 0xbfb8ea4c ""
        iv = "p\200u�Z���q\207�\231�/S\177"
        packet_seq = (unsigned char *) 0x0
        normal = 1 '\001'
        __FUNCTION__ = "silc_packet_read_process"
#14 0x407fd6ed in silc_packet_stream_io (stream=0x829edc0, status=SILC_STREAM_CAN_READ, context=0x83c5668) at silcpacket.c:436
        remote = (SilcPacketStream) 0x8210940
        ps = (SilcPacketStream) 0x83c5668
        __FUNCTION__ = "silc_packet_stream_io"
#15 0x40805386 in silc_socket_stream_io (schedule=0x82344c8, app_context=0x8231b10, type=SILC_TASK_READ, fd=11, context=0x829edc0)
    at silcunixsocketstream.c:36
        stream = (SilcSocketStream) 0x826d778
#16 0x4081073b in silc_schedule_dispatch_fd (schedule=0x82344c8) at silcschedule.c:61
        task = (SilcTaskFd) 0x81feaf0
#17 0x408121fd in silc_schedule_iterate (schedule=0x82344c8, timeout_usecs=0) at silcschedule.c:455
        ret = 1
        __FUNCTION__ = "silc_schedule_iterate"
#18 0x40812363 in silc_schedule_one (schedule=0x82344c8, timeout_usecs=0) at silcschedule.c:484
        ret = 0 '\0'
#19 0x40874bbd in silc_client_run_one (client=0x8231b10) at client.c:1093
No locals.
#20 0x407de412 in my_silc_scheduler_fd (source=0x8474948, condition=G_IO_IN, data=0xb) at silc-core.c:91
        __FUNCTION__ = "my_silc_scheduler_fd"
#21 0x4025b75d in ?? () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#22 0x08474948 in ?? ()
No symbol table info available.
#23 0x00000001 in ?? ()
No symbol table info available.
#24 0x0000000b in ?? ()
No symbol table info available.
#25 0x402a04a8 in ?? () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#26 0xbfb8ecbc in ?? ()
No symbol table info available.
#27 0x08314f00 in ?? ()
No symbol table info available.
#28 0xbfb8ecd8 in ?? ()
No symbol table info available.
#29 0x402252e1 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
Backtrace stopped: frame did not save the PC
(gdb) set logging on

_______________________________________________________________________
Info:    https://lists.silcnet.org/mailman/listinfo/silc-announce
Archive: https://lists.silcnet.org/pipermail/silc-announce
FAQ:     http://silcnet.org/support/faq/