Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.

Bug 135778

Summary: gaim consistently hangs on exit on with jabber/ssl
Product: [Fedora] Fedora Reporter: Colin Walters <walters>
Component: gaimAssignee: Ivana Varekova <varekova>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: eblanton, lschiere+bugs, mark, stu, wtogami
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2005-04-29 05:40:07 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 136452    

Description Colin Walters 2004-10-14 23:38:46 UTC
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/
#1  0x0000002a9ebe2408 in _gnutls_record_buffer_get ()
   from /usr/lib64/
#2  0x0000002a9ebe292d in _gnutls_io_read_buffered ()
   from /usr/lib64/
#3  0x0000002a9ebe0300 in _gnutls_recv_int () from
#4  0x0000002a9ebe10bd in gnutls_bye () from /usr/lib64/
#5  0x0000002a9eaaf254 in ?? () from /usr/lib64/gaim/
#6  0x000000552ab05548 in gaim_ssl_close () from /usr/bin/gaim
#7  0x0000002a9fd5c23c in jabber_register_start ()
   from /usr/lib64/gaim/
#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
#11 0x000000552aaea43c in gaim_core_quit () from /usr/bin/gaim
#12 0x0000002a96e0cfaa in g_closure_invoke ()
   from /usr/lib64/
#13 0x0000002a96e2258a in g_signal_has_handler_pending ()
   from /usr/lib64/
#14 0x0000002a96e23d36 in g_signal_emit_valist ()
   from /usr/lib64/
#15 0x0000002a96e24083 in g_signal_emit () from
#16 0x0000002a9636e71f in gtk_widget_activate ()
   from /usr/lib64/
#17 0x0000002a96292f77 in gtk_menu_shell_activate_item ()
   from /usr/lib64/
#18 0x0000002a962932a3 in gtk_menu_shell_activate_item ()
   from /usr/lib64/
#19 0x0000002a96283d66 in gtk_marshal_VOID__UINT_STRING ()
   from /usr/lib64/
#20 0x0000002a96e0cfaa in g_closure_invoke ()
   from /usr/lib64/
#21 0x0000002a96e21f1c in g_signal_has_handler_pending ()
   from /usr/lib64/
#22 0x0000002a96e2399d in g_signal_emit_valist ()
   from /usr/lib64/
#23 0x0000002a96e24083 in g_signal_emit () from
#24 0x0000002a9636e880 in gtk_widget_activate ()
   from /usr/lib64/
#25 0x0000002a96281d4e in gtk_propagate_event ()
   from /usr/lib64/
#26 0x0000002a962820d5 in gtk_main_do_event ()
   from /usr/lib64/
#27 0x0000002a965b2b40 in gdk_event_get_graphics_expose ()
   from /usr/lib64/
#28 0x0000002a971726bd in g_main_context_dispatch ()
   from /usr/lib64/
#29 0x0000002a97174397 in g_main_context_acquire ()
#30 0x0000002a97174735 in g_main_loop_run () from
#31 0x0000002a96281531 in gtk_main () from /usr/lib64/
#32 0x000000552ab618b2 in main () from /usr/bin/gaim

How reproducible:

Steps to Reproduce:
1. Start gaim, use jabber account with ssl
2. Try to quit

Comment 1 Warren Togami 2004-10-31 08:57:00 UTC
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)?

Comment 2 Colin Walters 2004-11-04 18:08:44 UTC
I've confirmed this happens on my ia32 laptop too.  The backtrace is slightly

(gdb) bt
#0  0xf6f147a2 in _dl_sysinfo_int80 () from /lib/
#1  0xf684df41 in recv () from /lib/tls/
#2  0xf57facab in _gnutls_record_buffer_get () from /usr/lib/
#3  0xf57fb2a9 in _gnutls_io_read_buffered () from /usr/lib/
#4  0xf57f8857 in _gnutls_recv_int () from /usr/lib/
#5  0xf57f9753 in gnutls_bye () from /usr/lib/
#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/
#17 0xf6959347 in g_closure_invoke () from /usr/lib/
#18 0xf696e94e in g_signal_has_handler_pending () from /usr/lib/
#19 0xf69709bc in g_signal_emit_valist () from /usr/lib/
#20 0xf6970c5a in g_signal_emit () from /usr/lib/
#21 0xf6c918e9 in gtk_widget_activate () from /usr/lib/
#22 0xf6bad3c0 in gtk_menu_shell_activate_item () from /usr/lib/
#23 0xf6bad6ca in gtk_menu_shell_activate_item () from /usr/lib/
#24 0xf6ba3ddd in gtk_menu_reorder_child () from /usr/lib/
#25 0xf6b9de67 in gtk_marshal_VOID__UINT_STRING () from /usr/lib/
#26 0xf69596b2 in g_cclosure_new_swap () from /usr/lib/
#27 0xf6959347 in g_closure_invoke () from /usr/lib/
#28 0xf696f576 in g_signal_has_handler_pending () from /usr/lib/
#29 0xf6970613 in g_signal_emit_valist () from /usr/lib/
#30 0xf6970c5a in g_signal_emit () from /usr/lib/
#31 0xf6c91a75 in gtk_widget_activate () from /usr/lib/
#32 0xf6b9c12b in gtk_propagate_event () from /usr/lib/
#33 0xf6b9c430 in gtk_main_do_event () from /usr/lib/
#34 0xf6a62082 in gdk_event_get_graphics_expose () from /usr/lib/
#35 0xf68f074b in g_main_context_dispatch () from /usr/lib/
#36 0xf68f21d2 in g_main_context_acquire () from /usr/lib/
#37 0xf68f247f in g_main_loop_run () from /usr/lib/
#38 0xf6b9b78e in gtk_main () from /usr/lib/
#39 0xf6fea7b9 in main (argc=1, argv=0xfeee9724) at main.c:911

Comment 3 Warren Togami 2005-01-08 11:01:51 UTC
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.

Comment 4 Warren Togami 2005-01-30 09:13:58 UTC
According to upstream gaim, this is a gnutls problem.  Reassigning.

Comment 5 Luke Schierer 2005-04-08 02:05:32 UTC
what was the output from gaim -d? was it "gnutls handshaking"?

Comment 6 Warren Togami 2005-04-29 05:40:07 UTC
Closing because we switched back to mozilla-nss in order to avoid gnutls issues.
 This is now only an upstream problem.

Comment 7 Terry Wilson 2005-06-06 20:20:51 UTC
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...