silc-plugin-1.0.3 sigsegv in silc_disconnect()

Jochen Eisinger jochen at penguin-breeder.org
Sun Feb 11 19:15:02 CET 2007


Hi,

Horst Schirmeier wrote:
> Hello,
> 
> irssi-0.8.10 with silc-plugin-1.0.3 died this morning with a SIGSEGV; I
> was not there when this happened, the screen wasn't even attached, so I
> don't know how to reproduce this. I did not have any problems like this
> before, and I'm using the silc plugin for more than half a year now.
> Maybe the attached gdb backtrace helps to figure out what's wrong.

since all pointers that could cause the segfault here are checked before
they are accessed, this is pretty difficult to debug (at lest without
being able to reproduce :/)

maybe pekka has an idea?

regards
-- jochen


> 
> ------------------------------------------------------------------------
> 
> $ gdb --core=core.irssi irssi
> GNU gdb 6.4.90-debian
> Copyright (C) 2006 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-linux-gnu"...(no debugging symbols found)
> Using host libthread_db library "/lib/tls/libthread_db.so.1".
> 
> 
> warning: Can't read pathname for load map: Input/output error.
> 
> warning: .dynamic section for "/usr/lib/libperl.so.5.8" is not at the expected address
> 
> warning: .dynamic section for "/usr/lib/perl/5.8/auto/POSIX/POSIX.so" is not at the expected address
> Reading symbols from /usr/lib/libperl.so.5.8...(no debugging symbols found)...done.
> Loaded symbols for /usr/lib/libperl.so.5.8
> Reading symbols from /lib/tls/libm.so.6...Reading symbols from /usr/lib/debug/lib/tls/libm-2.3.6.so...(no debugging symbols found)...done.
> (no debugging symbols found)...done.
> Loaded symbols for /lib/tls/libm.so.6
> Reading symbols from /lib/tls/libpthread.so.0...Reading symbols from /usr/lib/debug/lib/tls/libpthread-2.3.6.so...(no debugging symbols found)...done.
> 
> (no debugging symbols found)...done.
> Loaded symbols for /lib/tls/libpthread.so.0
> Reading symbols from /lib/tls/libcrypt.so.1...Reading symbols from /usr/lib/debug/lib/tls/libcrypt-2.3.6.so...(no debugging symbols found)...done.
> (no debugging symbols found)...done.
> Loaded symbols for /lib/tls/libcrypt.so.1
> Reading symbols from /usr/lib/libgmodule-2.0.so.0...(no debugging symbols found)...done.
> Loaded symbols for /usr/lib/libgmodule-2.0.so.0
> Reading symbols from /lib/tls/libdl.so.2...Reading symbols from /usr/lib/debug/lib/tls/libdl-2.3.6.so...
> (no debugging symbols found)...done.
> (no debugging symbols found)...done.
> Loaded symbols for /lib/tls/libdl.so.2
> Reading symbols from /usr/lib/libglib-2.0.so.0...(no debugging symbols found)...done.
> Loaded symbols for /usr/lib/libglib-2.0.so.0
> Reading symbols from /usr/lib/i686/cmov/libssl.so.0.9.8...(no debugging symbols found)...done.
> Loaded symbols for /usr/lib/i686/cmov/libssl.so.0.9.8
> Reading symbols from /usr/lib/i686/cmov/libcrypto.so.0.9.8...
> (no debugging symbols found)...done.
> Loaded symbols for /usr/lib/i686/cmov/libcrypto.so.0.9.8
> Reading symbols from /lib/libncurses.so.5...(no debugging symbols found)...done.
> Loaded symbols for /lib/libncurses.so.5
> Reading symbols from /lib/tls/libc.so.6...Reading symbols from /usr/lib/debug/lib/tls/libc-2.3.6.so...(no debugging symbols found)...done.
> (no debugging symbols found)...done.
> Loaded symbols for /lib/tls/libc.so.6
> Reading symbols from /lib/ld-linux.so.2...Reading symbols from /usr/lib/debug/lib/ld-2.3.6.so...
> (no debugging symbols found)...done.
> (no debugging symbols found)...done.
> Loaded symbols for /lib/ld-linux.so.2
> Reading symbols from /lib/tls/librt.so.1...Reading symbols from /usr/lib/debug/lib/tls/librt-2.3.6.so...(no debugging symbols found)...done.
> (no debugging symbols found)...done.
> Loaded symbols for /lib/tls/librt.so.1
> Reading symbols from /usr/lib/libz.so.1...
> (no debugging symbols found)...done.
> Loaded symbols for /usr/lib/libz.so.1
> Reading symbols from /lib/tls/libnss_compat.so.2...Reading symbols from /usr/lib/debug/lib/tls/libnss_compat-2.3.6.so...(no debugging symbols found)...done.
> (no debugging symbols found)...done.
> Loaded symbols for /lib/tls/libnss_compat.so.2
> Reading symbols from /lib/tls/libnsl.so.1...Reading symbols from /usr/lib/debug/lib/tls/libnsl-2.3.6.so...(no debugging symbols found)...done.
> 
> (no debugging symbols found)...done.
> Loaded symbols for /lib/tls/libnsl.so.1
> Reading symbols from /lib/tls/libnss_nis.so.2...Reading symbols from /usr/lib/debug/lib/tls/libnss_nis-2.3.6.so...(no debugging symbols found)...done.
> (no debugging symbols found)...done.
> Loaded symbols for /lib/tls/libnss_nis.so.2
> Reading symbols from /lib/tls/libnss_files.so.2...Reading symbols from /usr/lib/debug/lib/tls/libnss_files-2.3.6.so...(no debugging symbols found)...done.
> 
> (no debugging symbols found)...done.
> Loaded symbols for /lib/tls/libnss_files.so.2
> Reading symbols from /usr/lib/gconv/ISO8859-1.so...Reading symbols from /usr/lib/debug/usr/lib/gconv/ISO8859-1.so...(no debugging symbols found)...done.
> (no debugging symbols found)...done.
> Loaded symbols for /usr/lib/gconv/ISO8859-1.so
> Reading symbols from /usr/lib/perl5/auto/Irssi/Irssi.so...(no debugging symbols found)...done.
> Loaded symbols for /usr/lib/perl5/auto/Irssi/Irssi.so
> Reading symbols from /usr/lib/perl5/auto/Irssi/UI/UI.so...
> (no debugging symbols found)...done.
> Loaded symbols for /usr/lib/perl5/auto/Irssi/UI/UI.so
> Reading symbols from /usr/lib/perl5/auto/Irssi/Irc/Irc.so...(no debugging symbols found)...done.
> Loaded symbols for /usr/lib/perl5/auto/Irssi/Irc/Irc.so
> Reading symbols from /usr/lib/perl/5.8.8/auto/File/Glob/Glob.so...(no debugging symbols found)...done.
> Loaded symbols for /usr/lib/perl/5.8/auto/File/Glob/Glob.so
> Reading symbols from /usr/lib/perl5/auto/Irssi/TextUI/TextUI.so...(no debugging symbols found)...done.
> Loaded symbols for /usr/lib/perl5/auto/Irssi/TextUI/TextUI.so
> Reading symbols from /usr/lib/perl/5.8.8/auto/Socket/Socket.so...
> (no debugging symbols found)...done.
> Loaded symbols for /usr/lib/perl/5.8/auto/Socket/Socket.so
> Reading symbols from /usr/lib/perl/5.8.8/auto/POSIX/POSIX.so...(no debugging symbols found)...done.
> Loaded symbols for /usr/lib/perl/5.8/auto/POSIX/POSIX.so
> Reading symbols from /usr/lib/perl/5.8.8/auto/Digest/MD5/MD5.so...(no debugging symbols found)...done.
> Loaded symbols for /usr/lib/perl/5.8/auto/Digest/MD5/MD5.so
> Reading symbols from /usr/lib/perl/5.8.8/auto/Data/Dumper/Dumper.so...(no debugging symbols found)...done.
> Loaded symbols for /usr/lib/perl/5.8/auto/Data/Dumper/Dumper.so
> Reading symbols from /home/bigfoot/.irssi/modules/libsilc_core.so...done.
> Loaded symbols for /home/bigfoot/.irssi/modules/libsilc_core.so
> Reading symbols from /home/bigfoot/.irssi/modules/libfe_silc.so...done.
> Loaded symbols for /home/bigfoot/.irssi/modules/libfe_silc.so
> Reading symbols from /lib/tls/libnss_dns.so.2...Reading symbols from /usr/lib/debug/lib/tls/libnss_dns-2.3.6.so...done.
> done.
> Loaded symbols for /lib/tls/libnss_dns.so.2
> Reading symbols from /lib/tls/libresolv.so.2...Reading symbols from /usr/lib/debug/lib/tls/libresolv-2.3.6.so...done.
> done.
> Loaded symbols for /lib/tls/libresolv.so.2
> 
> Core was generated by `irssi'.
> Program terminated with signal 11, Segmentation fault.
> #0  0xb76903a9 in silc_disconnect (client=0x88cfef8, conn=0x8b88300, status=52 '4', message=0x0) at client_ops.c:1365
> 1365      if (server->conn && server->conn->local_entry) {
> (gdb) bt
> #0  0xb76903a9 in silc_disconnect (client=0x88cfef8, conn=0x8b88300, status=52 '4', message=0x0) at client_ops.c:1365
> #1  0xb771dcd7 in silc_client_disconnected_by_server (client=0x88cfef8, sock=0x8a52280, packet=0xb5dc248) at client.c:1661
> #2  0xb7720886 in silc_client_packet_parse_type (client=0x88cfef8, sock=0x8a52280, packet=0xc3515f0) at client.c:1128
> #3  0xb77211b6 in silc_client_packet_parse (parser_context=0xc448260, context=0x88cfef8) at client.c:1106
> #4  0xb76abba4 in silc_packet_receive_process (sock=0x8a52280, local_is_router=0 '\0', cipher=0x0, hmac=0x0, sequence=0,
>     parser=0xb7721063 <silc_client_packet_parse>, parser_context=0x88cfef8) at silcpacket.c:462
> #5  0xb771f4c6 in silc_client_packet_process (schedule=0x88d4e30, app_context=0x88cfef8, type=SILC_TASK_READ, fd=34, context=0x88cfef8)
>     at client.c:1039
> #6  0xb77104a5 in silc_schedule_dispatch_nontimeout (schedule=0x88d4e30) at silcschedule.c:412
> #7  0xb77111bd in silc_schedule_one (schedule=0x88d4e30, timeout_usecs=0) at silcschedule.c:659
> #8  0xb771ec05 in silc_client_run_one (client=0x88cfef8) at client.c:227
> #9  0xb769a572 in my_silc_scheduler () at silc-core.c:63
> #10 0xb7ddacf6 in g_source_get_current_time () from /usr/lib/libglib-2.0.so.0
> #11 0xb7dda731 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
> #12 0xb7ddd7a6 in g_main_context_check () from /usr/lib/libglib-2.0.so.0
> #13 0xb7dddd27 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
> #14 0x0806f820 in main ()
> (gdb)


More information about the silc-devel mailing list