[Pkg-xfce-devel] Bug#852397: Update, cygwin Xwin X server required to produce problem
paula at soe.ucsc.edu
Thu Nov 2 23:26:13 UTC 2017
I've recently returned to this issue to see if time has resolved anything. I've updated Debian 9 to 9.2 and Cygwin to November 2017. Just to give an idea, Debian 8.7 X server reports version 1.16.4, Debian 9.2 reports 1.18.4 and cygwin 1.19.4. But time hasn't resolved anything, the problem is still identical to the original report.
However, I've recently discovered how to connect successfully via XDMCP from Debian 8 to Debian 9:
$X :0 -query dn2800mt2
This rules out any sort of general XDMCP problem with Debian 9. It now is fairly certain that the problem is limited to connecting to Debian 9 from the cygwin Xwin server via XDMCP.
Before I report this problem in cygwin channels, I'd like to make one additional observation that I find particularly interesting. I've poked around this problem quite a bit, enough to find the related logs on the client side, /var/log/lightdm/lightdm.log and /var/log/lightdm/(null)-greeter.log, and on the server side /var/log/xwin/XWin.0.log. I've increased the log verbosity as much as I can or as much as is likely possible. I've altered lightdm configuration to get rid of some logged background image related errors. At this point the Debian 9 lightdm logs are identical for an unsuccessful XDMCP connection from cygwin and a successful connection from a Debian 8 machine. Further, the cygwin XWin log doesn't show any (EE) errors at all. So as far as I can tell, there are no relevant errors in the logs on either side of the connection, yet the connection is totally useless, blank screen. Interestingly, the lightdm client seems to think everything is ok because a successful login can be accomplished by just blind typing. One would suspect some canvas configuration error is to blame but for the mouse pointer jumping from the middle of the screen to the upper left.
Just to put this in a separate paragraph, I find it particularly dispiriting that the logs contain no relevant errors yet the connection is totally useless. I also find it dispiriting that something as basic as XDMCP from cygwin can just cease to function and yet a reasonably capable person can't get to the bottom of it in finite time. In my opinion, open source can't mean that one has to understand the source in order to make vanilla deployments. Especially at the X windows level, there's just too much detail to expect very many people to assimilate it.
One more point of interest. I went so far as to sniff X11 packets on with wire with Wireshark. It turns out that a packet trace of a successful connection from cygwin to a Debian 8 machine is identical from one connection to the next. However, the same can't be said for the unsuccessful connection to a Debian 9 machine. The packet order from one connection to the next is almost immediately, by say the 10th packet, different. Further, there are 10 or so X11 TCP connections all seemingly vying for bandwidth in parallel. And as far as I can tell, there's no way to tell xlib to just use one TCP connection to aid in debugging.
I'm not going back to proprietary software, but in my mind Open Source software isn't as useful as it should be. This isn't the only fairly basic problem that I've encountered. And when I do encounter problems, things like forensic log information is more often than not useless. Ideas like following packets on the wire don't help due to underlying complexity that obscures relevant detail. And there's no thought given to simplified operational modes to aid debugging. Of course understanding and building from source is always theoretically possible, but who has the time to build and understand large fundamental subsystems like X11, the linux kernel, or pulseaudio, or ...
More information about the Pkg-xfce-devel