RE: X11 forwarding extremely slow (unusable) after Cygwin upgrade (starting from cygwin1.dll version 3.1.0-0.4)

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

RE: X11 forwarding extremely slow (unusable) after Cygwin upgrade (starting from cygwin1.dll version 3.1.0-0.4)

ianpul01
Now narrowed down to cygwin1.dll version 3.1.0-0.4 as the release which
introduced this issue.

I found the intervening versions between 3.0.7-1 and 3.1.0-1 as test
releases in earlier release archives at crouchingtigerhiddenfruitbat.org, so
incrementally installing those from 3.1.0-0.1, I found that with cygwin1.dll
version 3.1.0-0.3 X11 forwarding works fine, with 3.1.0-0.4 it is extremely
slow (unusably slow for CPU-intensive programs).

Ian

> -----Original Message-----
> From: [hidden email] <[hidden email]>
> Sent: Thursday, January 2, 2020 11:17 AM
>
> Hi.
>
> I don't know if this will help at all since there is a big time gap and it
looks like

> a lot of changes between these, but I tried the cygwin1 dlls from the
> snapshots at https://www.cygwin.com/snapshots and found that the 2019-
> 08-19 snapshot works fine, the next one dated 2019-11-03 introduces the
> issue.
>
> Someone told me offline that there were about half a dozen released
> versions between 3.0.7-1 and 3.1.0-1, but those are not available to pull
> from any of the mirrors that I tried. Anyone know if any of those
> intermediate versions of cygwin1.dll may be available somewhere from
> which I can grab them to try to narrow this down further?
>
> Ian
>
> > -----Original Message-----
> > From: [hidden email] <[hidden email]>
> > Sent: Wednesday, January 1, 2020 12:41 AM
> >
> > The problem is with cygwin 3.1.0-1, released on Dec 16th, or
thereabouts.
> >
> > I decided to track it down by re-installing the earlier working
> > release from the Cygwin time machine at
> > crouchingtigerhiddenfruitbat.org, and then incrementally upgrading it
> > until the problem showed up. It turns out that it was introduced in
> > the Dec 16th release, which made just one change - upgraded cygwin
> > from 3.0.7-1 to 3.1.0-1. With the Dec 15th release all works fine -
> > nice fast response in the X11 windows, with the Dec 16th release the
same

> programs in X11 windows are really, really slow.
> >
> > I can roll cygwin back to 3.0.7-1 from the latter release and X.11
> > then works fine again.
> >
> > To quantify the problem, I timed these using the BeyondCompare and
> > kdiff3 file diff programs (which really show up the issue being very
> > CPU intensive) comparing two versions of a source code directory
> > containing 6 largish files, all differing:
> >
> > Time to open the window and display the directory:
> >
> > BeyondCompare with cygwin 3.0.7-1: 2 seconds, with cygwin 3.1.0-1:
> > 18 seconds.
> > Kdiff3 with cygwin 3.0.7.1: 4 seconds with cygwin 3.1.0-1:
> > 15 seconds.
> >
> > Time to open a tab and display the diffs for one of the files:
> >
> > BeyondCompare with cygwin 3.0.7-1: 1 seconds, with cygwin 3.1.0-1:
> > 8 seconds.
> > Kdiff3 with cygwin 3.0.7.1: 5 seconds with cygwin 3.1.0-1:
> > 13 seconds.
> >
> > Firefox is not so bad, but still slower. The time to open the window
> > and display the default home page is about 2 seconds with cygwin
> > 3.0.7-1, 5 seconds with 3.1.0-1. And the problem that I reported below
> > relating to slow response trying to type into Firefox's address bar is
> > not showing up with this build. Either that was introduced later, or
> > maybe it was some side effect of the upgrade path that I took then?
> >
> > Ian
> >
> > > -----Original Message-----
> > > From: [hidden email] <[hidden email]> On
> > Behalf Of
> > > Ian Puleston
> > > Sent: Friday, December 27, 2019 4:39 PM
> > >
> > > Hi,
> > >
> > > I have a Cygwin installation on a Windows 10 PC, on which I use
> > > X-Windows to access a Linux development/build server. All has been
> > > working great for a long time, until I rand a Cygwin upgrade on
> > > December 23rd, and after that
> > > X11 has become pretty much unusable. I normally launch the
> > > terminator terminal emulator locally under X, in that I "ssh -Y" to
> > > the Linux machine, and then on there I use a number of GUI apps,
> > > mainly SlickEdit and BeyondCompare, which run remotely via X11
> > > forwarding to display in windows on my local Windows PC. But since
> > > this Cygwin upgrade all of those remote X11 apps are now extremely
> > > slow to respond to anything - about 10 to 20 seconds to action any
> > > key press or mouse
> > click.
> > >
> > > The two machines are on the same Gig-Ethernet LAN segment so there
> > > are no latency issues there (ping response time <1mS).
> > >
> > > To take any possible problems with those components out of the
> > > picture, I tried instead launching xterm under X11 locally, and from
> > > it launching Firefox after ssh to the Linux machine, and again I see
> > > the same symptoms with that
> > > - trying to type into Firefox's address bar takes about 10 seconds per
> letter.
> > >
> > > I had previously updated my Cygwin installation on March 3rd 2019,
> > > so this problem has come in sometime between then and now. I've just
> > > spent a very long day and a half rolling back the changes as much as
> > > I could (by hacking the setup.ini and re-installing previous
> > > versions from the local download
> > > cache) and eventually managed to get a working hybrid with enough
> > > packages rolled back to make the difference, and now X11 is working
> > > fine again.
> > >
> > > I also tried a new clean install of the latest Cygwin, after
> > > deleting my .XWinrc and removing all but the bare minimum from
> > > .startxwinrc, and do see the problem with that too.
> > >
> > > Is this any known problem? I couldn't find anything obvious in the
> > > email archives.
> > >
> > > Ian
> > >
> > > --
> > > Problem reports:       http://cygwin.com/problems.html
> > > FAQ:                   http://cygwin.com/faq/
> > > Documentation:         http://cygwin.com/docs.html
> > > Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

Reply | Threaded
Open this post in threaded view
|

Re: X11 forwarding extremely slow (unusable) after Cygwin upgrade (starting from cygwin1.dll version 3.1.0-0.4)

Ken Brown-6
[Please don't top-post on this list.]

On 1/2/2020 4:25 PM, [hidden email] wrote:
> Now narrowed down to cygwin1.dll version 3.1.0-0.4 as the release which
> introduced this issue.
>
> I found the intervening versions between 3.0.7-1 and 3.1.0-1 as test
> releases in earlier release archives at crouchingtigerhiddenfruitbat.org, so
> incrementally installing those from 3.1.0-0.1, I found that with cygwin1.dll
> version 3.1.0-0.3 X11 forwarding works fine, with 3.1.0-0.4 it is extremely
> slow (unusably slow for CPU-intensive programs).

I think this narrows it down to one of the following commits:

commit b7e429420063264d0be7ee6804f3e6f143f66232
Author: Takashi Yano <[hidden email]>
Date:   Thu Sep 5 19:44:41 2019 +0900

     Cygwin: pty: Fix potential state mismatch regarding pseudo console.

commit 915fcd0ae8d83546ce135131cd25bf6795d97966
Author: Takashi Yano <[hidden email]>
Date:   Thu Sep 5 13:22:54 2019 +0900

     Cygwin: pty: Fix select() with pseudo console support.

commit 433c6b8e0a667f9eae41a52efadec35ac62730df
Author: Takashi Yano <[hidden email]>
Date:   Thu Sep 5 09:24:26 2019 +0900

     Cygwin: pty: Disable clear screen on new pty if TERM=dumb or emacs*.

commit d4045fdbef60d8e7e0d11dfe38b048ea2cb8708b
Author: Takashi Yano <[hidden email]>
Date:   Wed Sep 4 22:47:42 2019 +0900

     Cygwin: pty: Add a workaround for ^C handling.

commit 83b2d576c835dad6b8e2ea53b55a25e7bfcdcde7
Author: Takashi Yano <[hidden email]>
Date:   Wed Sep 4 22:46:51 2019 +0900

     Cygwin: pty: Limit API hook to the program linked with the APIs.

commit 583102e7c9255ae25310154995f855e4f573f81c
Author: Takashi Yano <[hidden email]>
Date:   Wed Sep 4 10:45:35 2019 +0900
     Cygwin: pty: Fix state management for pseudo console support.

commit ffbb9b49711f6a8e3c4f83b226ff9476327dcb61
Author: Takashi Yano <[hidden email]>
Date:   Wed Sep 4 10:44:25 2019 +0900

     Cygwin: pty: Move function hook_api() into hookapi.cc.

commit bddb018e10e90ea300537d5a13999558b7dce476
Author: Takashi Yano <[hidden email]>
Date:   Wed Sep 4 10:44:24 2019 +0900

     Cygwin: pty: Speed up a little hooked Win32 API for pseudo console.

commit 9adb260181fa148fad0e91c55e41ea6d75eb8eb8
Author: Takashi Yano <[hidden email]>
Date:   Wed Sep 4 10:44:23 2019 +0900

     Cygwin: pty: Code cleanup

Ken

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

Reply | Threaded
Open this post in threaded view
|

Re: X11 forwarding extremely slow (unusable) after Cygwin upgrade (starting from cygwin1.dll version 3.1.0-0.4)

Takashi Yano
On Thu, 2 Jan 2020 22:16:02 +0000
Ken Brown wrote:
> I think this narrows it down to one of the following commits:

I looked into this probelm and found the issue occurs after
the following commit.

> commit 915fcd0ae8d83546ce135131cd25bf6795d97966
> Author: Takashi Yano <[hidden email]>
> Date:   Thu Sep 5 13:22:54 2019 +0900
>
>      Cygwin: pty: Fix select() with pseudo console support.

I investigated this deeper, and found:

1) xterm in ssh -Y session calls select() about 1000 times
   at startup.
2) pi->thread->detach() in pty_slave_cleanup() takes about
   20usec in usual, however, it takes more than 10msec
   in ssh -Y session.

As a result, start up of xterm takes more than 10 sec.

I have no idea so far why cygthread::detach() becomes
so slow in ssh -Y session. :-(

--
Takashi Yano <[hidden email]>

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

Reply | Threaded
Open this post in threaded view
|

Re: X11 forwarding extremely slow (unusable) after Cygwin upgrade (starting from cygwin1.dll version 3.1.0-0.4)

Takashi Yano
On Sat, 4 Jan 2020 10:51:42 +0900
Takashi Yano wrote:

> On Thu, 2 Jan 2020 22:16:02 +0000
> Ken Brown wrote:
> > I think this narrows it down to one of the following commits:
>
> I looked into this probelm and found the issue occurs after
> the following commit.
>
> > commit 915fcd0ae8d83546ce135131cd25bf6795d97966
> > Author: Takashi Yano <[hidden email]>
> > Date:   Thu Sep 5 13:22:54 2019 +0900
> >
> >      Cygwin: pty: Fix select() with pseudo console support.
>
> I investigated this deeper, and found:
>
> 1) xterm in ssh -Y session calls select() about 1000 times
>    at startup.
> 2) pi->thread->detach() in pty_slave_cleanup() takes about
>    20usec in usual, however, it takes more than 10msec
>    in ssh -Y session.
>
> As a result, start up of xterm takes more than 10 sec.
>
> I have no idea so far why cygthread::detach() becomes
> so slow in ssh -Y session. :-(

I have just posted a patch for this issue.

--
Takashi Yano <[hidden email]>

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple