Subject: Bug#516: [X2Go-Dev] Bug#516: X2go successfully connects to server, but no window is shown

From: Mihai Moldovan <[email-masked]>
Date: Fri, 20 Jun 2014 17:10:32 +0200

Hi,

Well, I have done quite some work.

The xkbcomp issue I've been seeing seems to be normal - other machines behave
the same. It was a missing directory (keymaps.dir) in /usr/share/X11/xkb on my
x86_64 machine that prevented xkbcomp from being called and a root-non-root
issue regarding the file location (/var/tmp/server-$DISPLAYNO.xkm vs.
compiled/server-$DISPLAYNO.xkm.)

Alas, none of these were critical or actually had any influence on the X server
as such. Both machines produces the same messages. So xkb was totally the wrong
thing to look at.

I have then compiled with even more debug info in nxproxy and nxagent to see
whether the problem is in the connection part between two machines.

I even straced the nxagent/x2goagent process to get some useful information out
of there. After going through a several megabytes big strace file, I ended up
seeing that both ppc64 and x86_64 are behaving the same establishing the
connection and everything is functional. Bummer, nothing on that front either.

There's no indication of what may be wrong. Not even with nxagent (being the X
server itself) compiled with -DDEBUG -DDEBUG_CMD -DNX_TRANS_TEST. This produces
quite a lot of messages every once in a place, but there's nothing regarding
being unable to create/show windows.

Not even starting another application from a shell via
DISPLAY=:<current-sessions-display-number> xeyes bring's anything to light.

At least X clients (programs) and server are constantly exchanging information,
so the missing window issue must be nested deep within the X server itself.

However, I have no idea where to look.

To make matters worse, attaching gdb to nxagent during normal operation is quite
impossible. As soon as nxagent is stopped for single-stepping through functions
and examining variables/code in detail, the (remote) nxproxy client will get a
timeout as it's not able to communicate with the agent anymore (well, sure,
we've just been stopping that for debugging...) and close the connection.

Pretty much the only way possible is print-debugging in the code.

I could live with that, had I at least any idea of where the problem could be.

Maybe finding the code drawing/creating a window would be interesting.

---

In other news, I can report that outgoing connections via x2goclient are working
just fine. I've been connecting to my ionic.de machine in order to start a
simple xterm from the ppc64 box and that worked flawlessly. How wouldn't it, as
"this way 'round" doesn't use the very old X server distributed with NX, but
actually the recent, known-to-work X server as shipped with Fedora.

Thus, it's really just a server-side issue.

Mihai