Xpra: Ticket #1420: Unable to start multiple gnome-terminals

This is on Ubuntu 14.04.5.

I have started my Xpra server with: xpra start :10 --start-new-commands=yes

I connect locally to the server with: xpra attach ssh:localhost:10

I then try to start multiple copies of gnome-terminal by repeatedly invoking: xpra control :10 start gnome-terminal

The first always succeeds, but on a later attempt (typically the second), the Xpra server hangs. When this happens, the title bar and border of the new gnome-terminal appears but the contents are black. Nothing responds in any of the Xpra managed windows. Furthermore, the Xpra icon in the systray is changed to the clipboard icon. (I do not do anything with the clipboard - just run the xpra control commands.)

Running xpra list reports that the session is LIVE. Attempting to stop the session may report success or may give a connection timed out error. Either way, several Xpra processes are left running. It is necessary to manually kill the Xorg-for-Xpra process to clean up Xpra.

In the email thread (same subject as this ticket), Antoine suggested that the problem may be that gnome-terminal is running multiple windows from a single process. It looks like this is the problem as changing the command to: xpra control :10 start gnome-terminal --disable-factory causes each instance to be a separate process and avoids the hang.

Thu, 19 Jan 2017 19:10:17 GMT - Doug Doole: attachment set

Output of bug report tool taken during the hang

Fri, 20 Jan 2017 11:37:49 GMT - Antoine Martin: owner changed

I've tried to reproduce without success, both starting new "gnome-terminal" instances from an existing xterm and using "xpra control." I never saw big problems. (looks like there is something buggy in gnome-terminal as it spams stdout with warnings - but that's it)

Can you please provide more details so I can reproduce reliably? (DE, etc as per wiki/ReportingBugs)

Mon, 23 Jan 2017 20:54:47 GMT - Doug Doole: owner changed

The repro is dead simple. From a single terminal window I run:

xpra start :10 --start-new-commands=yes xpra attach ssh:localhost:10 xpra control :10 start gnome-terminal xpra control :10 start gnome-terminal xpra control :10 start gnome-terminal

The gnome-terminal typically goes bad on the second attempt, but I've had it succeed 3 or 4 times before failing.

Interestingly, I don't see a bunch of errors when I start the gnome-terminals. I just get a report of the PID that was started.

What information would you like beyond what's in the attached .zip from the bug report tool?

Thu, 09 Feb 2017 06:01:31 GMT - Antoine Martin: owner, version changed; milestone set

I've started 20 and didn't hit any server hangs.

As for the gnome-terminal errors, you can see those if you start the terminals from an xterm, otherwise they will go to the server log where it floods (16MB after a few minutes).

I suspect that what you're seeing is a clipboard bug, you can confirm this by turning off clipboard synchronization. I have set the version to 1.0.x as I assume this is what you're testing with, please change it if not.

Thu, 09 Feb 2017 07:21:07 GMT - Antoine Martin: priority changed

I thought I just saw the problem after leaving the VM alone for a few minutes, but now it is behaving OK. I suspect the bug is caused by abnormal behaviour in gnome-terminal / GTK. I still see a stream of:

(gnome-terminal:$PID): Gdk-WARNING: **: gdk-frame-clock: layout continuously requested, giving up after 4 tries.

Which points to this GTK bug: Journal spam: Gdk-WARNING **: gdk-frame-clock: layout continuously requested, giving up after 4 tries. And this corresponds to storms of damage events with updates to the _NET_WM_OPAQUE_REGION property. (which we do not support, is not exposed as a supported propery and should therefore not be set by client applications..)

If you can still reproduce, can you attach the "-d all" and/or "-d clipboard" server log. Maybe you can also get a GDB backtrace of what the server process is doing when it hangs? (see wiki/Debugging)

Thu, 09 Feb 2017 07:35:45 GMT - Antoine Martin: attachment set

log captured before the server hangs

Thu, 09 Feb 2017 07:42:19 GMT - Antoine Martin: owner, status changed

As per the attachment/ticket/1420/end-of-server-debug-log.txt, the server hangs shortly after:

Thu, 09 Feb 2017 14:39:17 GMT - Antoine Martin:

This may have been fixed by r15030, will re-test. Feel free to beat me to it, there are beta 1.0.3 packages for Ubuntu Trusty with this fix included here: http://xpra.org/beta/

Fri, 10 Feb 2017 03:05:47 GMT - Antoine Martin: owner, status changed

Fix works for me.

Please close this ticket to confirm.

Wed, 15 Feb 2017 12:39:22 GMT - Antoine Martin: status changed; resolution set

Fixed and released.

Sat, 23 Jan 2021 05:23:50 GMT - migration script:

this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/1420