← Back to team overview

ubuntu-x-swat team mailing list archive

Re: [Bug 320150] Re: X11 clients use blocking sockets causing large drawing times

 

I am still using 8.04 so yes, it is still an important issue for me.  It
is unrealistic to upgrade 5 or 6 versions of Ubuntu just to test this,
since upgrading all associated applications, scripts, maintenance
methods, etc. would be required.

Please note that this bug was filed over 2 years ago and no progress has
been made.

                -Mike

On Apr 27, 2011, at 8:38 PM, bugbot wrote:

> This bug report was filed against an old version of Ubuntu.
> Can you confirm whether this is still an issue in natty?
> 
> If you don't mind, it would be very helpful if you could update the bug
> report in launchpad to 'Fix Released' if it is no longer an issue for
> you, or if it is still occurring under natty, please tag the bug 'natty'
> so it's easier for us to track.
> 
> 
> ** Changed in: libx11 (Ubuntu)
>       Status: Confirmed => New
> 
> ** Changed in: libx11 (Ubuntu)
>       Status: New => Incomplete
> 
> -- 
> You received this bug notification because you are a direct subscriber
> of the bug.
> https://bugs.launchpad.net/bugs/320150
> 
> Title:
>  X11 clients use blocking sockets causing large drawing times
> 
> Status in “libx11” package in Ubuntu:
>  Incomplete
> 
> Bug description:
>  Binary package hint: libx11-6
> 
>  Description:    Ubuntu 8.04.2
>  Release:        8.04
> 
>  libx11-6:
>    Installed: 2:1.1.3-1ubuntu2
>    Candidate: 2:1.1.3-1ubuntu2
>    Version table:
>   *** 2:1.1.3-1ubuntu2 0
>          500 http://us.archive.ubuntu.com hardy/main Packages
>          100 /var/lib/dpkg/status
> 
>  Symptoms: very slow drawing times for text strings in X clients,
>  restored to normal if mouse moves over the X client's window while
>  drawing.  Originally seen in charts produced in the scilab
>  application, but underlying problem appears to exist in all X clients
>  due to Hardy X11 runtime library problem.  This problem did not exist
>  in Gutsy (I recently upgraded).
> 
>  Cause: strace shows that X clients under Ubuntu 8.04 do not set X
>  client-server socket's TCP_NODELAY option.  Therefore X server can
>  potentially wait until X server's timeout before sending ACK packet
>  back to X client.  This occurs in some (or all) X text drawing
>  commands which do not require a reply, therefore waiting for the ACK
>  until the next packet happens to be sent from X server back to X
>  client.  Under Windows this delay is 200 ms, causing extremely slow
>  drawing times if the window contains a lot of text.  ACK delay under
>  Hardy is very small (< 1 ms), making this issue imperceptible when X
>  server is also running (displaying) on a Hardy machine.
> 
>  Strace run on Ubuntu 8.04 contains this trace for opening the socket
>  to the X server:
> 
>  6246  socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 3
>  6246  connect(3, {sa_family=AF_INET, sin_port=htons(6000), sin_addr=inet_addr("192.168.0.14")}, 16) = 0
>  6246  getpeername(3, {sa_family=AF_INET, sin_port=htons(6000), sin_addr=inet_addr("192.168.0.14")}, [16]) = 0
> 
> 
>  The same startup on RedHat:
> 
>  [pid  8014] socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 3
>  [pid  8014] setsockopt(3, SOL_TCP, TCP_NODELAY, [1], 4) = 0
>  [pid  8014] setsockopt(3, SOL_SOCKET, SO_KEEPALIVE, [1], 4) = 0
>  [pid  8014] connect(3, {sa_family=AF_INET, sin_port=htons(6000), sin_addr=inet_addr("192.168.0.14")}, 16) = 0
>  [pid  8014] getpeername(3, {sa_family=AF_INET, sin_port=htons(6000), sin_addr=inet_addr("192.168.0.14")}, [16]) = 0
> 
> 
>  Note the lack of setsockopt() calls in Hardy.  The missing setsockopt() calls occur in apparently all Hardy X clients, including (for example) xterm, therefore I am *guessing* at this point that the problem occurs in the base X11 client library.
> 
> 
>  How to duplicate:
> 
>  strace -f -e trace=network,read,write,open,close -o ./strace.out /usr/bin/scilab -nw
>  plot(1:10,1:10,'-m');
> 
>  Notice the very slow drawing times for axes labels (text).
> 
>  Look in strace.out file for the lines above.
> 
>  Run same strace command under Gutsy or under other Linux versions
>  (such as RedHat, etc.).
> 
>  Strace shows the same difference in setsockopt() calls for any other X
>  client starting, such as xterm.
> 
>  [lspci]
>  00:00.0 Host bridge [0600]: Intel Corporation 82G33/G31/P35/P31 Express DRAM Controller [8086:29c0] (rev 02)
>      	Subsystem: Micro-Star International Co., Ltd. Unknown device [1462:7338]
>  01:00.0 VGA compatible controller [0300]: nVidia Corporation G72 [GeForce 7300 SE] [10de:01d3] (rev a1) (prog-if 00 [VGA controller])
>      	Subsystem: eVga.com. Corp. Unknown device [3842:c428]
> 
> To unsubscribe from this bug, go to:
> https://bugs.launchpad.net/ubuntu/+source/libx11/+bug/320150/+subscribe
>

-- 
You received this bug notification because you are a member of Ubuntu-X,
which is subscribed to libx11 in Ubuntu.
https://bugs.launchpad.net/bugs/320150

Title:
  X11 clients use blocking sockets causing large drawing times


References