https://bugzilla.novell.com/show_bug.cgi?id=400834
Summary: hang on network shutdown ...
Product: openSUSE 11.0
Version: Final
Platform: Other
OS/Version: Other
Status: NEW
Severity: Critical
Priority: P5 - None
Component: Evolution
AssignedTo: bnc-team-evolution@forge.provo.novell.com
ReportedBy: mmeeks@novell.com
QAContact: lakhil@novell.com
Found By: ---
This is rather an amazing issue; I've seen hangs in gnutls before, and always
assumed that I was just impatient, and this was making progress. Unfortunately
it seems that at least in this case it was not.
* evo hung,
* I shut down networking in nm-applet (disable)
* /sbin/ifconfig showed the network interfaces are down
* unfortunately gnutls is still hung in a 'recv' on a IP socket to somewhere
else:
How can lsof -p 3323 show:
evolution 3323 michael 35w IPv4 70358 0t0 TCP
192.168.0.8:54021->130.57.5.105:trivnet2 (ESTABLISHED)
when /sbin/ifconfig shows:
michael@t60p:~> /sbin/ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:208 errors:0 dropped:0 overruns:0 frame:0
TX packets:208 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:18777 (18.3 Kb) TX bytes:18777 (18.3 Kb)
Surely the kernel should close all connections on interfaces that have been
shut down - and this is no local connection :-)
evolution:
Thread 3 (Thread 0xb0afcb90 (LWP 6012)):
#0 0xffffe430 in __kernel_vsyscall ()
#1 0xb67321c7 in *__GI___poll (fds=0x92faf28, nfds=1, timeout=-1) at
./sysdeps/unix/sysv/linux/poll.c:87
#2 0xb6817492 in g_main_context_iterate (context=0x92fc2f8, block=1,
dispatch=1, self=0x92fc8a8) at gmain.c:2951
#3 0xb6817aca in IA__g_main_loop_run (loop=0x92f8d90) at gmain.c:2850
#4 0xb7ba3952 in startup_mainloop (arg=0x0) at e-book.c:3773
#5 0xb683de7f in g_thread_create_proxy (data=0x92fc8a8) at gthread.c:635
#6 0xb7255175 in start_thread (arg=0xb0afcb90) at pthread_create.c:297
#7 0xb673bdce in clone () from /lib/libc.so.6
Thread 2 (Thread 0xae1ffb90 (LWP 6014)):
#0 0xffffe430 in __kernel_vsyscall ()
#1 0xb67321c7 in *__GI___poll (fds=0x809be40, nfds=9, timeout=-1) at
./sysdeps/unix/sysv/linux/poll.c:87
#2 0xb6817492 in g_main_context_iterate (context=0x92fc528, block=1,
dispatch=1, self=0x92fac80) at gmain.c:2951
#3 0xb6817aca in IA__g_main_loop_run (loop=0x92faa38) at gmain.c:2850
#4 0xb72a9e00 in link_io_thread_fn (data=0x0) at linc.c:396
#5 0xb683de7f in g_thread_create_proxy (data=0x92fac80) at gthread.c:635
#6 0xb7255175 in start_thread (arg=0xae1ffb90) at pthread_create.c:297
#7 0xb673bdce in clone () from /lib/libc.so.6
Thread 1 (Thread 0xb63e0720 (LWP 5715)):
#0 0xffffe430 in __kernel_vsyscall ()
#1 0xb7258c15 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so0
#2 0xb728c005 in giop_recv_buffer_get (ent=0xbfb840dc, timeout=0xbfb840f4) at
giop-recv-buffer.c:716
#3 0xb7290ed6 in ORBit_small_invoke_stub (obj=0xa2f50930, m_data=0xb7bc10c0,
ret=0xbfb841c0, args=0xbfb841b8, ctx=0x0, ev=0xbfb84228) at orbit-small.c:658
#4 0xb7291109 in ORBit_small_invoke_stub_n (object=0xa2f50930, methods=0x535,
index=<value optimized out>, ret=0xbfb841c0, args=0xbfb841b8, ctx=0x0,
ev=0xbfb84228) at orbit-small.c:575
#5 0xb729ddaa in ORBit_c_stub_invoke (obj=0xa2f50930, methods=0xb7bc1104,
method_index=0, ret=0xbfb841c0, args=0xbfb841b8, ctx=0x0, ev=0xbfb84228,
class_id=0, method_offset=4, skel_impl=0xb7b9c7c0
<_ORBIT_skel_small_GNOME_Evolution_Addressbook_BookFactory_getBook>) at
poa.c:2643
#6 0xb7b9e3e9 in GNOME_Evolution_Addressbook_BookFactory_getBook
(_obj=0xa2f50930,
source=0xa2f36440 "<?xml version=\"1.0\"?>\n
New subject: [Bug 400834] hang on network shutdown ...
https://bugzilla.novell.com/show_bug.cgi?id=400834
User mmeeks@novell.com added comment
https://bugzilla.novell.com/show_bug.cgi?id=400834#c1
Michael Meeks changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |sragavan@novell.com
--- Comment #1 from Michael Meeks 2008-06-23 08:16:16 MDT ---
Soo ... it seems that we are doomed to have an ESTABLISHED connection to block
on, with no hope of ever getting any data from it: which is at best painful,
and at worst - clearly leads to this sort of hang.
I guess I would recommend that when the online status changes, we actively kill
the connection and/or close the socket ;-) Unfortunately it looks like that is
what we are trying to do, but not doing.
In the case of:
#17 0xb6c8df2a in e_gw_connection_send_message (cnc=0x81576d0, msg=0x88d3088)
at e-gw-connection.c:676
#18 0xb6c97656 in e_gw_connection_dispose (object=0x81576d0)
at e-gw-connection.c:261
..
#21 0xb7e8e040 in e_book_backend_set_mode (backend=0xabd10760, mode=1)
at e-book-backend.c:779
#22 0xb7e90455 in set_backend_online_status (key=0x817a600, value=0xabd10760,
data=0x1) at e-data-book-factory.c:462
To avoid sending a message, that is if we are forced off line, vs. trying to
take ourselves gracefully off-line in response to user-input (?).
if (dbus_message_we_really_are_off_line) { ... don't start sending messages ...
& waiting for replies that don't come ;-) ... }
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
New subject: [Bug 400834] hang on network shutdown ...
https://bugzilla.novell.com/show_bug.cgi?id=400834
User jc@phocean.net added comment
https://bugzilla.novell.com/show_bug.cgi?id=400834#c2
jean-christophe baptiste changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jc@phocean.net
Component|Evolution |Evolution
Product|openSUSE 11.0 |openSUSE 11.1
--- Comment #2 from jean-christophe baptiste 2009-03-20 20:49:28 MST ---
How is it going with this issue ?
It is still a major usability problem on openSUSE 11.1, when using a laptop.
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.