#1505 XChat freezes when disconnect from server

open
nobody
None
5
2014-12-23
2011-03-23
Auguste
No

When I choose from menu Server -> Disconnect, chances are XChat freezes. This does not happen every time. For a human estimation, it happens with a possibility larger than 50%. I'd like to provide more information, but starting XChat from a terminal give me no error message at all.

Discussion

  • Auguste
    Auguste
    2011-03-28

    When choose "disconnect", there's a chance of segmentation fault.
    xchat version is 2.8.8 for linux.

    $ gdb xchat
    GNU gdb (GDB) 7.2
    Copyright (C) 2010 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 "i686-pc-linux-gnu".
    For bug reporting instructions, please see:
    <http://www.gnu.org/software/gdb/bugs/>...
    Reading symbols from /usr/bin/xchat...done.
    (gdb) run
    Starting program: /usr/bin/xchat
    [Thread debugging using libthread_db enabled]
    [New Thread 0xb2fa0b70 (LWP 10095)]

    Program received signal SIGSEGV, Segmentation fault.
    0xb75d8151 in free () from /lib/libc.so.6
    (gdb) bt
    #0 0xb75d8151 in free () from /lib/libc.so.6
    #1 0x080ab4c9 in free_user (user=0x85a5c98, data=0x0) at userlist.c:153
    #2 0x080aac9f in tree_foreach (t=0x818ea38, func=0x80ab4b0 <free_user>,
    data=0x0) at tree.c:189
    #3 0x080ab645 in userlist_free (sess=0x818efa0) at userlist.c:166
    #4 0x080ab6ba in userlist_clear (sess=0x818efa0) at userlist.c:184
    #5 0x08093866 in clear_channel (sess=0x818efa0) at inbound.c:71
    #6 0x080a2ea5 in server_disconnect (sess=0x818efa0, sendquit=1, err=-1)
    at server.c:1147
    #7 0x08098f52 in cmd_discon (sess=0x818efa0, tbuf=0xbfffd2a8 "",
    word=0xbfffe72c, word_eol=0xbfffe6a8) at outbound.c:1389
    #8 0x0809f9ec in handle_command (sess=0x818efa0, cmd=0x80b7cdf "DISCON",
    check_spch=0) at outbound.c:4284
    #9 0x08067083 in menu_disconnect (wid=0x81a8cf0, none=0x0) at menu.c:1238
    #10 0xb7a9ac4c in g_cclosure_marshal_VOID__VOID ()
    from /usr/lib/libgobject-2.0.so.0
    #11 0xb7a7ea72 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
    #12 0xb7a918a0 in ?? () from /usr/lib/libgobject-2.0.so.0
    #13 0xb7a9a306 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
    #14 0xb7a9a4b2 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
    #15 0xb7e5d9d5 in gtk_widget_activate () from /usr/lib/libgtk-x11-2.0.so.0
    #16 0xb7d3fce1 in gtk_menu_shell_activate_item ()
    from /usr/lib/libgtk-x11-2.0.so.0
    ---Type <return> to continue, or q <return> to quit---
    #17 0xb7d400ba in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #18 0xb7d347b8 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #19 0xb7d2b374 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #20 0xb7a7d3c7 in ?? () from /usr/lib/libgobject-2.0.so.0
    #21 0xb7a7ea72 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
    #22 0xb7a916a5 in ?? () from /usr/lib/libgobject-2.0.so.0
    #23 0xb7a9a08b in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
    #24 0xb7a9a4b2 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
    #25 0xb7e5ea76 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #26 0xb7d294ed in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0
    #27 0xb7d298ef in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
    #28 0xb7bb7b3a in ?? () from /usr/lib/libgdk-x11-2.0.so.0
    #29 0xb76f3b72 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
    #30 0xb76f4350 in ?? () from /usr/lib/libglib-2.0.so.0
    #31 0xb76f4a1b in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
    #32 0xb7d285b9 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
    #33 0x0805f5bb in fe_main () at fe-gtk.c:290
    #34 0x080aec9a in main (argc=1, argv=0xbffff2e4) at xchat.c:920

     
  • Auguste
    Auguste
    2011-03-28

    Here is another try, and gdb printed the backtrace by itself.

    $ gdb xchat
    GNU gdb (GDB) 7.2
    Copyright (C) 2010 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 "i686-pc-linux-gnu".
    For bug reporting instructions, please see:
    <http://www.gnu.org/software/gdb/bugs/>...
    Reading symbols from /usr/bin/xchat...done.
    (gdb) run
    Starting program: /usr/bin/xchat
    [Thread debugging using libthread_db enabled]
    [New Thread 0xb2fa0b70 (LWP 10454)]
    *** glibc detected *** /usr/bin/xchat: double free or corruption (fasttop): 0x085befc8 ***
    ======= Backtrace: =========
    /lib/libc.so.6(+0x6b6c1)[0xb75d36c1]
    /lib/libc.so.6(+0x6cfdb)[0xb75d4fdb]
    /lib/libc.so.6(cfree+0x6d)[0xb75d818d]
    /usr/bin/xchat[0x80ab4d8]
    /usr/bin/xchat[0x80aac9f]
    /usr/bin/xchat[0x80ab645]
    /usr/bin/xchat[0x80ab6ba]
    /usr/bin/xchat[0x8093866]
    /usr/bin/xchat[0x80a2ea5]
    /usr/bin/xchat[0x8098f52]
    /usr/bin/xchat[0x809f9ec]
    /usr/bin/xchat[0x8067083]
    /usr/lib/libgobject-2.0.so.0(g_cclosure_marshal_VOID__VOID+0x7c)[0xb7a9ac4c]
    /usr/lib/libgobject-2.0.so.0(g_closure_invoke+0x192)[0xb7a7ea72]
    /usr/lib/libgobject-2.0.so.0(+0x1e8a0)[0xb7a918a0]
    /usr/lib/libgobject-2.0.so.0(g_signal_emit_valist+0x806)[0xb7a9a306]
    /usr/lib/libgobject-2.0.so.0(g_signal_emit+0x32)[0xb7a9a4b2]
    /usr/lib/libgtk-x11-2.0.so.0(gtk_widget_activate+0x95)[0xb7e5d9d5]
    /usr/lib/libgtk-x11-2.0.so.0(gtk_menu_shell_activate_item+0x121)[0xb7d3fce1]
    /usr/lib/libgtk-x11-2.0.so.0(+0x1480ba)[0xb7d400ba]
    /usr/lib/libgtk-x11-2.0.so.0(+0x13c7b8)[0xb7d347b8]
    /usr/lib/libgtk-x11-2.0.so.0(+0x133374)[0xb7d2b374]
    /usr/lib/libgobject-2.0.so.0(+0xa3c7)[0xb7a7d3c7]
    /usr/lib/libgobject-2.0.so.0(g_closure_invoke+0x192)[0xb7a7ea72]
    /usr/lib/libgobject-2.0.so.0(+0x1e6a5)[0xb7a916a5]
    /usr/lib/libgobject-2.0.so.0(g_signal_emit_valist+0x58b)[0xb7a9a08b]
    /usr/lib/libgobject-2.0.so.0(g_signal_emit+0x32)[0xb7a9a4b2]
    /usr/lib/libgtk-x11-2.0.so.0(+0x266a76)[0xb7e5ea76]
    /usr/lib/libgtk-x11-2.0.so.0(gtk_propagate_event+0xcd)[0xb7d294ed]
    /usr/lib/libgtk-x11-2.0.so.0(gtk_main_do_event+0x31f)[0xb7d298ef]
    /usr/lib/libgdk-x11-2.0.so.0(+0x55b3a)[0xb7bb7b3a]
    /usr/lib/libglib-2.0.so.0(g_main_context_dispatch+0x1d2)[0xb76f3b72]
    /usr/lib/libglib-2.0.so.0(+0x40350)[0xb76f4350]
    /usr/lib/libglib-2.0.so.0(g_main_loop_run+0x18b)[0xb76f4a1b]
    /usr/lib/libgtk-x11-2.0.so.0(gtk_main+0xb9)[0xb7d285b9]
    /usr/bin/xchat[0x805f5bb]
    /usr/bin/xchat[0x80aec9a]
    /lib/libc.so.6(__libc_start_main+0xe6)[0xb757edb6]
    /usr/bin/xchat[0x8054ed1]
    ======= Memory map: ========
    08048000-080d4000 r-xp 00000000 08:02 158039 /usr/bin/xchat
    080d4000-080d6000 rw-p 0008c000 08:02 158039 /usr/bin/xchat
    080d6000-08603000 rw-p 00000000 00:00 0 [heap]
    b2300000-b2321000 rw-p 00000000 00:00 0
    b2321000-b2400000 ---p 00000000 00:00 0
    b24d2000-b2532000 rw-s 00000000 00:04 6488082 /SYSV00000000 (deleted)
    b2532000-b2636000 rw-p 00000000 00:00 0
    b2636000-b2768000 r-xp 00000000 08:02 137394 /usr/lib/libpython2.7.so.1.0
    b2768000-b2796000 rw-p 00131000 08:02 137394 /usr/lib/libpython2.7.so.1.0
    b2796000-b27a0000 rw-p 00000000 00:00 0
    b27a0000-b27a1000 ---p 00000000 00:00 0
    b27a1000-b2fa1000 rw-p 00000000 00:00 0
    b2fa1000-b3099000 r-xp 00000000 08:02 155793 /usr/lib/libtcl8.5.so
    b3099000-b309f000 rw-p 000f8000 08:02 155793 /usr/lib/libtcl8.5.so
    b309f000-b30a0000 rw-p 00000000 00:00 0
    b30bf000-b30d2000 r-xp 00000000 08:02 1445965 /lib/libnsl-2.13.so
    b30d2000-b30d3000 r--p 00012000 08:02 1445965 /lib/libnsl-2.13.so
    b30d3000-b30d4000 rw-p 00013000 08:02 1445965 /lib/libnsl-2.13.so
    b30d4000-b30d6000 rw-p 00000000 00:00 0
    b30d6000-b30de000 r-xp 00000000 08:02 1466993 /lib/libcrypt-2.13.so
    b30de000-b30df000 r--p 00007000 08:02 1466993 /lib/libcrypt-2.13.so
    b30df000-b30e0000 rw-p 00008000 08:02 1466993 /lib/libcrypt-2.13.so
    b30e0000-b3107000 rw-p 00000000 00:00 0
    b3107000-b3259000 r-xp 00000000 08:02 299366 /usr/lib/perl5/core_perl/CORE/libperl.so
    b3259000-b325e000 rw-p 00152000 08:02 299366 /usr/lib/perl5/core_perl/CORE/libperl.so
    b325e000-b3273000 r-xp 00000000 08:02 298062 /usr/lib/xchat/plugins/perl.so
    b3273000-b3274000 rw-p 00014000 08:02 298062 /usr/lib/xchat/plugins/perl.so
    b3274000-b328e000 r--s 00000000 08:02 270355 /usr/share/mime/mime.cache
    b328e000-b328f000 r--s 00000000 08:08 10485782 /home/pop/.local/share/mime/mime.cache
    b328f000-b3694000 r--p 00000000 08:02 424932 /usr/share/icons/hicolor/icon-theme.cache
    b3694000-b6931000 r--p 00000000 08:02 401188 /usr/share/icons/gnome/icon-theme.cache
    b6931000-b693d000 r-xp 00000000 08:02 1441998 /lib/libudev.so.0.10.0
    b693d000-b693e000 rw-p 0000b000 08:02 1441998 /lib/libudev.so.0.10.0
    b693e000-b6961000 r-xp 00000000 08:02 143368 /usr/lib/gio/modules/libgvfsdbus.so
    b6961000-b6962000 rw-p 00023000 08:02 143368 /usr/lib/gio/modules/libgvfsdbus.so
    b6962000-b699c000 r-xp 00000000 08:02 143361 /usr/lib/libibus.so.2.0.0
    b699c000-b699e000 rw-p 00039000 08:02 143361 /usr/lib/libibus.so.2.0.0
    b699e000-b69cf000 rw-p 00000000 00:00 0
    b69cf000-b6a22000 r-xp 00000000 08:02 137410 /usr/lib/libhunspell-1.2.so.0.0.0
    b6a22000-b6a26000 rw-p 00053000 08:02 137410 /usr/lib/libhunspell-1.2.so.0.0.0
    b6a26000-b6a41000 r-xp 00000000 08:02 146362 /usr/lib/libgcc_s.so.1
    b6a41000-b6a42000 rw-p 0001a000 08:02 146362 /usr/lib/libgcc_s.so.1
    b6a42000-b6b24000 r-xp 00000000 08:02 133791 /usr/lib/libstdc++.so.6.0.14
    b6b24000-b6b25000 ---p 000e2000 08:02 133791 /usr/lib/libstdc++.so.6.0.14
    b6b25000-b6b29000 r--p 000e2000 08:02 133791 /usr/lib/libstdc++.so.6.0.14
    b6b29000-b6b2a000 rw-p 000e6000 08:02 133791 /usr/lib/libstdc++.so.6.0.14
    b6b2a000-b6b31000 rw-p 00000000 00:00 0
    b6b31000-b6bcf000 r-xp 00000000 08:02 146395 /usr/lib/libaspell.so.15.1.4
    b6bcf000-b6bd3000 rw-p 0009d000 08:02 146395 /usr/lib/libaspell.so.15.1.4
    b6bd3000-b6bd7000 rw-p 00000000 00:00 0
    b6bdf000-b6be6000 r-xp 00000000 08:02 298064 /usr/lib/xchat/plugins/python.so
    b6be6000-b6be7000 rw-p 00007000 08:02 298064 /usr/lib/xchat/plugins/python.so
    b6be7000-b6bf1000 r-xp 00000000 08:02 298060 /usr/lib/xchat/plugins/tcl.so
    b6bf1000-b6bf3000 rw-p 00009000 08:02 298060 /usr/lib/xchat/plugins/tcl.so
    b6bf3000-b6bf6000 rw-p 00000000 00:00 0
    b6bf6000-b6bff000 r-xp 00000000 08:02 159200 /usr/lib/libenchant.so.1.6.0
    b6bff000-b6c00000 rw-p 00008000 08:02 159200 /usr/lib/libenchant.so.1.6.0
    b6c00000-b6c13000 r-xp 00000000 08:02 143360 /usr/lib/libgvfscommon.so.0.0.0
    b6c13000-b6c14000 rw-p 00013000 08:02 143360 /usr/lib/libgvfscommon.so.0.0.0
    b6c14000-b6c1d000 r-xp 00000000 08:02 271988 /usr/lib/enchant/libenchant_hspell.so
    b6c1d000-b6c1f000 rw-p 00008000 08:02 271988 /usr/lib/enchant/libenchant_hspell.so
    b6c1f000-b6c6e000 r--p 00000000 08:02 268951 /usr/share/fonts/TTF/DejaVuSansMono.ttf
    b6c6e000-b6cce000 rw-s 00000000 00:04 6455311 /SYSV00000000 (deleted)
    b6cce000-b6d75000 r--p 00000000 08:02 291409 /usr/share/fonts/TTF/DejaVuSans.ttf
    b6d75000-b6da7000 r--s 00000000 08:05 233615 /var/cache/fontconfig/f6b893a7224233d96cb72fd88691c0b4-le32d4.cache-3
    b6da7000-b6de8000 r--s 00000000 08:05 233613 /var/cache/fontconfig/17090aa38d5c6f09fb8c5c354938f1d7-le32d4.cache-3
    b6de8000-b6e29000 r--s 00000000 08:05 233294 /var/cache/fontconfig/df311e82a1a24c41a75c2c930223552e-le32d4.cache-3
    b6e29000-b6e3b000 r-xp 00000000 08:02 133459 /usr/lib/libelf-0.152.so
    b6e3b000-b6e3c000 r--p 00012000 08:02 133459 /usr/lib/libelf-0.152.so
    b6e3c000-b6e3d000 rw-p 00013000 08:02 133459 /usr/lib/libelf-0.152.so
    b6e3e000-b6e40000 r-xp 00000000 08:02 1462994 /lib/libutil-2.13.so
    b6e40000-b6e41000 r--p 00001000 08:02 1462994 /lib/libutil-2.13.so
    b6e41000-b6e42000 rw-p 00002000 08:02 1462994 /lib/libutil-2.13.so
    b6e42000-b6e46000 r-xp 00000000 08:02 282057 /usr/lib/gtk-2.0/2.10.0/immodules/im-ibus.so
    b6e46000-b6e47000 rw-p 00003000 08:02 282057 /usr/lib/gtk-2.0/2.10.0/immodules/im-ibus.so
    b6e47000-b6e4b000 r-xp 00000000 08:02 271990 /usr/lib/enchant/libenchant_myspell.so
    b6e4b000-b6e4c000 rw-p 00003000 08:02 271990 /usr/lib/enchant/libenchant_myspell.so
    b6e4c000-b6e5c000 r--s 00000000 08:05 264511 /var/cache/fontconfig/8d4af663993b81a124ee82e610bb31f9-le32d4.cache-3
    b6e5c000-b6e85000 r-xp 00000000 08:02 279454 /usr/lib/gtk-2.0/2.10.0/engines/libclearlooks.so
    b6e85000-b6e86000 rw-p 00028000 08:02 279454 /usr/lib/gtk-2.0/2.10.0/engines/libclearlooks.so
    b6e86000-b6e8d000 r-xp 00000000 08:02 134147 /usr/lib/libltdl.so.7.3.0
    b6e8d000-b6e8e000 rw-p 00006000 08:02 134147 /usr/lib/libltdl.so.7.3.0
    b6e8e000-b6e9d000 r-xp 00000000 08:02 158018 /usr/lib/libtdb.so.1.2.9
    b6e9d000-b6e9e000 rw-p 0000e000 08:02 158018 /usr/lib/libtdb.so.1.2.9
    b6e9e000-b6ec3000 r-xp 00000000 08:02 159222 /usr/lib/libvorbis.so.0.4.5
    b6ec3000-b6ec4000 rw-p 00025000 08:02 159222 /usr/lib/libvorbis.so.0.4.5
    Program received signal SIGABRT, Aborted.
    0xb7fe1424 in __kernel_vsyscall ()

     
  • Lian Wan Situ
    Lian Wan Situ
    2011-03-28

    Have you ran memtest86 recently?

     
  • Auguste
    Auguste
    2011-03-28

    No, I haven't. I'm in the middle of something, I'll try tomorrow. XChat is the only application that segfaults here, so I doubt it's a memory problem. I am running gtk2 2.22.1, and glib2 2.26.1, if that would help.

     
  • Auguste
    Auguste
    2011-03-29

    I ran the whole Memtest86+ v4.20, passed all tests with no error.