[virt-tools-list] VirtViewer and TCP Keepalives

Colin Coe colin.coe at gmail.com
Tue Sep 17 22:54:14 UTC 2013


OK, I'm confused.  Why don't I see the keep alives in the wireshark dump?
I'm happy to upload my pcap file to dropbox.redhat.com for analysis

Apologies for harping on about this but the users are getting annoyed with
their sessions freezing or terminating.  Also, we've confirmed that the
exact timing is 30 minutes not 15 minutes

I had a fairly long and productive chat with one of the guys that manage
the other firewall cluster.  I gave him the src and dst addresses and dst
port and he was able to advise on the session state on the firewall.  If I
opened a spice session to a RHEL server (no X) and minimised it, all 4
sessions on the 'odd' port started counting down from 1800.  If we leave
the session minimised for then we get the "Could not connect to graphic
server" or similar, can't remember exact wording.  However, if I start a
spice session to a RHEL server (no X) and minimise/un-minimise it every few
minutes (but no keyboard interaction) only 3 of the 4 sessions on the odd
port continue counting down from 1800.  Once they hit zero, the screen is
still visible but nothing I type appears on the screen and sending a
keystroke with 'Send Key' does noting.

While I've been writing this, I've had an strace running on a remote-viewer
session.
---
[colin at fedora18 ~]$ strace -e trace=setsockopt -p 15504
Process 15504 attached
---
>From another terminal session,
---
 [colin at fedora18 ~]$ ps -ef | grep strace
colin     15534  7107  0 06:00 pts/11   00:00:00 strace -e trace=setsockopt
-p 15504
colin     16799 19435  0 06:34 pts/5    00:00:00 grep --color=auto strace
[colin at fedora18 ~]$
---
So the strace has been running for about 35 minutes now, and strace has not
shown a single 'setsockopt'.

Thanks

CC

PS: Just killed the remote-viewer session and got
---
[colin at fedora18 ~]$ strace -e trace=setsockopt -p 15504
Process 15504 attached
setsockopt(30, SOL_SOCKET, SO_ATTACH_FILTER,
"\10\0\0\0\0\0\0\0\360\354\310\r\377\177\0\0", 16) = 0
setsockopt(30, SOL_SOCKET, SO_PASSCRED, [1], 4) = 0
+++ exited with 0 +++
[colin at fedora18 ~]$
---



On Tue, Sep 17, 2013 at 8:43 PM, Marc-André Lureau <mlureau at redhat.com>wrote:

>
>
> ----- Original Message -----
> > Just downloaded spice-gtk3 source. When I grep 'setsockopt', the only
> > instance I see is setting TCP_NODELAY. It seems that while spice-gtk may
> [1]
> > set SO_KEEPALIVE, spice-gtk3 does not.
>
> spice-gtk uses glib, g_socket_set_keepalive(), it was added in 0.10:
>
> http://cgit.freedesktop.org/spice/spice-gtk/commit/?id=8fe6547b6181fb7acbabedcd6ed95caf263dd8cc
>
> This can be verified with strace:
>
> elmarco at anakao:~$ strace -e trace=setsockopt -- spicy -p 5900
> setsockopt(7, SOL_SOCKET, SO_ATTACH_FILTER,
> "\10\0\0\0\0\0\0\0\240\202J\5\377\177\0\0", 16) = 0
> setsockopt(7, SOL_SOCKET, SO_PASSCRED, [1], 4) = 0
> setsockopt(15, SOL_SOCKET, SO_KEEPALIVE, [1], 4) = 0
> setsockopt(15, SOL_TCP, TCP_NODELAY, [1], 4) = 0
> setsockopt(18, SOL_SOCKET, SO_PRIORITY, [6], 4) = 0
> setsockopt(18, SOL_SOCKET, SO_RCVBUF, [65472], 4) = 0
> setsockopt(18, SOL_SOCKET, SO_SNDBUF, [65472], 4) = 0
> setsockopt(18, SOL_SOCKET, SO_PASSCRED, [1], 4) = 0
> setsockopt(19, SOL_SOCKET, SO_KEEPALIVE, [1], 4) = 0
> setsockopt(19, SOL_TCP, TCP_NODELAY, [1], 4) = 0
> setsockopt(20, SOL_SOCKET, SO_KEEPALIVE, [1], 4) = 0
> setsockopt(20, SOL_TCP, TCP_NODELAY, [1], 4) = 0
> setsockopt(21, SOL_SOCKET, SO_KEEPALIVE, [1], 4) = 0
> setsockopt(21, SOL_TCP, TCP_NODELAY, [1], 4) = 0
> setsockopt(22, SOL_SOCKET, SO_KEEPALIVE, [1], 4) = 0
> setsockopt(22, SOL_TCP, TCP_NODELAY, [1], 4) = 0
> setsockopt(23, SOL_SOCKET, SO_KEEPALIVE, [1], 4) = 0
> setsockopt(23, SOL_TCP, TCP_NODELAY, [1], 4) = 0
>
>


-- 
RHCE#805007969328369
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/virt-tools-list/attachments/20130918/bc7a6c11/attachment.htm>


More information about the virt-tools-list mailing list