Description of problem: I have a jabber account that uses SSL. I'm using an em64t machine (x86_64). Gaim hangs consistently when I try to exit it. I have a feeling this has something to do with x86_64 because it worked fine on my laptop (i386). When I get it back I'll double-check. #0 0x0000002a975b9c24 in recv () from /lib64/tls/libc.so.6 #1 0x0000002a9ebe2408 in _gnutls_record_buffer_get () from /usr/lib64/libgnutls.so.11 #2 0x0000002a9ebe292d in _gnutls_io_read_buffered () from /usr/lib64/libgnutls.so.11 #3 0x0000002a9ebe0300 in _gnutls_recv_int () from /usr/lib64/libgnutls.so.11 #4 0x0000002a9ebe10bd in gnutls_bye () from /usr/lib64/libgnutls.so.11 #5 0x0000002a9eaaf254 in ?? () from /usr/lib64/gaim/ssl-gnutls.so #6 0x000000552ab05548 in gaim_ssl_close () from /usr/bin/gaim #7 0x0000002a9fd5c23c in jabber_register_start () from /usr/lib64/gaim/libjabber.so #8 0x000000552aaff0e7 in serv_close () from /usr/bin/gaim #9 0x000000552aae2da2 in gaim_connection_disconnect () from /usr/bin/gaim #10 0x000000552aae3895 in gaim_connections_disconnect_all () from /usr/bin/gaim #11 0x000000552aaea43c in gaim_core_quit () from /usr/bin/gaim #12 0x0000002a96e0cfaa in g_closure_invoke () from /usr/lib64/libgobject-2.0.so.0 #13 0x0000002a96e2258a in g_signal_has_handler_pending () from /usr/lib64/libgobject-2.0.so.0 #14 0x0000002a96e23d36 in g_signal_emit_valist () from /usr/lib64/libgobject-2.0.so.0 #15 0x0000002a96e24083 in g_signal_emit () from /usr/lib64/libgobject-2.0.so.0 #16 0x0000002a9636e71f in gtk_widget_activate () from /usr/lib64/libgtk-x11-2.0.so.0 #17 0x0000002a96292f77 in gtk_menu_shell_activate_item () from /usr/lib64/libgtk-x11-2.0.so.0 #18 0x0000002a962932a3 in gtk_menu_shell_activate_item () from /usr/lib64/libgtk-x11-2.0.so.0 #19 0x0000002a96283d66 in gtk_marshal_VOID__UINT_STRING () from /usr/lib64/libgtk-x11-2.0.so.0 #20 0x0000002a96e0cfaa in g_closure_invoke () from /usr/lib64/libgobject-2.0.so.0 #21 0x0000002a96e21f1c in g_signal_has_handler_pending () from /usr/lib64/libgobject-2.0.so.0 #22 0x0000002a96e2399d in g_signal_emit_valist () from /usr/lib64/libgobject-2.0.so.0 #23 0x0000002a96e24083 in g_signal_emit () from /usr/lib64/libgobject-2.0.so.0 #24 0x0000002a9636e880 in gtk_widget_activate () from /usr/lib64/libgtk-x11-2.0.so.0 #25 0x0000002a96281d4e in gtk_propagate_event () from /usr/lib64/libgtk-x11-2.0.so.0 #26 0x0000002a962820d5 in gtk_main_do_event () from /usr/lib64/libgtk-x11-2.0.so.0 #27 0x0000002a965b2b40 in gdk_event_get_graphics_expose () from /usr/lib64/libgdk-x11-2.0.so.0 #28 0x0000002a971726bd in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0 #29 0x0000002a97174397 in g_main_context_acquire () #30 0x0000002a97174735 in g_main_loop_run () from /usr/lib64/libglib-2.0.so.0 #31 0x0000002a96281531 in gtk_main () from /usr/lib64/libgtk-x11-2.0.so.0 #32 0x000000552ab618b2 in main () from /usr/bin/gaim How reproducible: Always Steps to Reproduce: 1. Start gaim, use jabber account with ssl 2. Try to quit
Perhaps this is a gnutls problem? We only recently switched from mozilla-nss to gnutls for gaim's encryption capabilities. Does it work if you rebuild gaim with the boolean for gnutls/mozilla-nss flipped (see near top of .spec)?
I've confirmed this happens on my ia32 laptop too. The backtrace is slightly different: (gdb) bt #0 0xf6f147a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2 #1 0xf684df41 in recv () from /lib/tls/libc.so.6 #2 0xf57facab in _gnutls_record_buffer_get () from /usr/lib/libgnutls.so.11 #3 0xf57fb2a9 in _gnutls_io_read_buffered () from /usr/lib/libgnutls.so.11 #4 0xf57f8857 in _gnutls_recv_int () from /usr/lib/libgnutls.so.11 #5 0xf57f9753 in gnutls_bye () from /usr/lib/libgnutls.so.11 #6 0xf5862dc5 in ssl_gnutls_close (gsc=0xfffffe00) at ssl-gnutls.c:134 #7 0xf6f7da58 in gaim_ssl_close (gsc=0xf8bfdad0) at sslconn.c:183 #8 0xf58ced1b in jabber_close (gc=0xf8bda198) at jabber.c:749 #9 0xf6f78085 in serv_close (gc=0xf8bda198) at server.c:127 #10 0xf6f59735 in gaim_connection_disconnect (gc=0xf8bda198) at connection.c:241 #11 0xf6f4e2f5 in gaim_account_disconnect (account=0xf8bd96c8) at account.c:246 #12 0xf6f59688 in gaim_connection_disconnect (gc=0xf8bda198) at connection.c:228 #13 0xf6f598b5 in gaim_connection_destroy (gc=0xf8bda198) at connection.c:68 #14 0xf6f5a297 in gaim_connections_disconnect_all () at connection.c:528 #15 0xf6f61960 in gaim_core_quit () at core.c:116 #16 0xf69710ae in g_cclosure_marshal_VOID__VOID () from /usr/lib/libgobject-2.0.so.0 #17 0xf6959347 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #18 0xf696e94e in g_signal_has_handler_pending () from /usr/lib/libgobject-2.0.so.0 #19 0xf69709bc in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #20 0xf6970c5a in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 #21 0xf6c918e9 in gtk_widget_activate () from /usr/lib/libgtk-x11-2.0.so.0 #22 0xf6bad3c0 in gtk_menu_shell_activate_item () from /usr/lib/libgtk-x11-2.0.so.0 #23 0xf6bad6ca in gtk_menu_shell_activate_item () from /usr/lib/libgtk-x11-2.0.so.0 #24 0xf6ba3ddd in gtk_menu_reorder_child () from /usr/lib/libgtk-x11-2.0.so.0 #25 0xf6b9de67 in gtk_marshal_VOID__UINT_STRING () from /usr/lib/libgtk-x11-2.0.so.0 #26 0xf69596b2 in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0 #27 0xf6959347 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #28 0xf696f576 in g_signal_has_handler_pending () from /usr/lib/libgobject-2.0.so.0 #29 0xf6970613 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #30 0xf6970c5a in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 #31 0xf6c91a75 in gtk_widget_activate () from /usr/lib/libgtk-x11-2.0.so.0 #32 0xf6b9c12b in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0 #33 0xf6b9c430 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0 #34 0xf6a62082 in gdk_event_get_graphics_expose () from /usr/lib/libgdk-x11-2.0.so.0 #35 0xf68f074b in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #36 0xf68f21d2 in g_main_context_acquire () from /usr/lib/libglib-2.0.so.0 #37 0xf68f247f in g_main_loop_run () from /usr/lib/libglib-2.0.so.0 #38 0xf6b9b78e in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0 #39 0xf6fea7b9 in main (argc=1, argv=0xfeee9724) at main.c:911
Colin, could you please try the gaim package rebuilt using mozilla-nss rather than gnutls and see if this behavior still exists? You will find a simple boolean toggle near the top of gaim.spec.
According to upstream gaim, this is a gnutls problem. Reassigning.
what was the output from gaim -d? was it "gnutls handshaking"?
Closing because we switched back to mozilla-nss in order to avoid gnutls issues. This is now only an upstream problem.
I of course get the handshaking bug with my jabber server only with mozilla-nss. Works perfectly for me when using gaim compiled with gnutls. So I guess the question is, who do you like better? Me or Colin. :-) I suppose I can always maintain a private yum repository with gaim compiled with gnutls...