On 03/10/2014 21:02, mathog wrote:
Today I ran into an interesting variant of this.

1.  putty   ssh -X session from XP to a remote Centos 6.5 system.
2.  on the remote system: xterm &
3.  copy a line of text on remote system
4.  paste it into a roundcube "compose" window on XP system.  The
browser is Seamonkey 2.29.

It works fine for a while and then the _browser_ locks.  It is
definitely an X11
issue because this unlocked the browser: exit all xterms, exit the putty
session, kill
the X11 server.  The browser didn't unlock until the last step.

This lock up happened twice within half an hour.  Now I can't reproduce it.

There is supposed to be a 1 second timeout to ensure that we always respond to the Windows application in a timely fashion.

(The issue here is that Windows clipboard pastes are synchronous (when the Windows application calls GetClipboardData(), it sends a WM_RENDERFORMAT to the clipboard owner, and blocks until that returns), but the X11 clipboard render is asynchronous (since we send a XConvertSelection() request to the clipboard owner and wait for a SelectionNotify event))

I've looked at this code again, and can't see anything wrong with they way this timeout is implemented.

So, I'm afraid there's not a lot I can do without a repeatable reproduction or a log file.

That is the only system I have used recently that uses xterm instead of
uxterm.

The clipboard problems I have seen previously were all in the other
direction, where clip going into an X11 application would fail.

Unfortunately I didn't save the X server log file.  Which, brings up
another point.
The X11 server is started by clicking on "start_server.bat" which contains:

@echo off
set CYGXTOP=%~dp0
C:
chdir "%CYGXTOP%\bin"
start Xwin :0 -multiwindow

It always overwrites the Xwin.0.log file when it starts.  Is there some
change we could make to this .bat script that would cause it to at least
save one previous version?

I guess you could add to the above something like:

move C:\cygwin\var\log\XWin.0.log C:\cygwin\var\log\XWin.0.log.old

but yes, there is actually some code in the server to do that, but it's not turned on in XWin for unknown reasons...

--
Jon TURNEY
Volunteer Cygwin/X X Server maintainer

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

Reply via email to