New issue
Advanced search Search tips

Issue 749152 link

Starred by 2 users

Issue metadata

Status: Archived
Owner: ----
Closed: Sep 13
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug-Regression



Sign in to add a comment

dragging Chrome window in CRD crashes Xvfb-randr

Project Member Reported by skobes@chromium.org, Jul 26 2017

Issue description

Reproduced with Chrome trunk build (M61 at r487992) on Ubuntu 14.04.5 LTS with Cinnamon 3.2.7.

1. Start a CRD session
2. Run Chrome inside the session
3. Make the window not maximized
4. Drag the window from the top part (not the tab)

Expected result: the window moves

Actual result: CRD session terminates immediately with this message:

  The remote computer is not responding to connection requests.
  Please verify that it is online and try again.

                         [Reconnect]  [OK]

After waiting for a minute or so, I'm able to reconnect.

Resizing is also broken, but moving the window by dragging the tab works.  The windows of other apps, including content_shell, can be dragged successfully.

My guess is that it's crashing Cinnamon somehow, but I'm not sure where the relevant logs are.
 
crd1.png
371 KB View Download
crd2.png
253 KB View Download
It could be Cinnamon crashing, or the X server. Logs are in
/tmp/chrome_remote_desktop_*
(pick the file that corresponds to the time of the issue)

I think CRD might stop logging the session after 30s, so restart CRD and try to repro the problem:
https://cs.chromium.org/search/?q=SESSION_OUTPUT_TIME_LIMIT_SECONDS&sq=package:chromium&type=cs


Filed  issue 749215  for the 30s cutoff problem.

The script is installed at /opt/google/chrome-remote-desktop/chrome-remote-desktop
just in case you need to manually edit it and change the value of SESSION_OUTPUT_TIME_LIMIT_SECONDS.

Comment 3 by skobes@chromium.org, Jul 26 2017

When the problem occurs I get the following written to /tmp/chrome_remote_desktop_20170726_124526_ngTJE5:

Backtrace:
0: /usr/bin/Xvfb-randr (xorg_backtrace+0x26) [0x5558b3ec8496]
1: /usr/bin/Xvfb-randr (0x5558b3d60000+0x16c33a) [0x5558b3ecc33a]
2: /lib/x86_64-linux-gnu/libpthread.so.0 (0x7f717a16b000+0x10330) [0x7f717a17b330]
3: /usr/bin/Xvfb-randr (0x5558b3d60000+0x4a088) [0x5558b3daa088]
4: /usr/bin/Xvfb-randr (0x5558b3d60000+0x113af1) [0x5558b3e73af1]
5: /usr/bin/Xvfb-randr (0x5558b3d60000+0x2e45a) [0x5558b3d8e45a]
6: /lib/x86_64-linux-gnu/libc.so.6 (__libc_start_main+0xf5) [0x7f7178fd2f45]
7: /usr/bin/Xvfb-randr (0x5558b3d60000+0x2e74d) [0x5558b3d8e74d]
Segmentation fault at address 0x14

Caught signal 11 (Segmentation fault). Server aborting

(chrome-remote-desktop-host:32268): Gdk-WARNING **: chrome-remote-desktop-host: Fatal IO error 11 (Resource temporarily unavailable) on X server :20.

2017-07-26 12:46:27,323:INFO:wait() returned (32239,256)
2017-07-26 12:46:27,323:INFO:X server process terminated
2017-07-26 12:46:27,323:INFO:Failure count for 'X server' is now 0
2017-07-26 12:46:27,323:INFO:Terminating X session
2017-07-26 12:46:27,324:INFO:wait() returned (32266,0)
2017-07-26 12:46:27,324:INFO:Session process terminated
2017-07-26 12:46:27,324:INFO:Relaunching self
2017-07-26 12:46:27,324:INFO:Cleanup.
2017-07-26 12:46:27,324:INFO:Terminating host
2017-07-26 12:46:27,436:INFO:Daemon process started in the background, logging to '/tmp/chrome_remote_desktop_20170726_124526_ngTJE5'
2017-07-26 12:46:27,437:INFO:Using host_id: 9ec44664-8ed2-c9cd-374c-a8f43514722f
...
Thanks for the log. Xvfb-randr is the component that is crashing.
It is a Google-internal patched version of Xvfb that our team built years ago.
More recent versions of Xvfb (such as in Ubuntu 16.04) have the patch already built in.

You could try removing the xvfb-randr package, which will cause plain Xvfb to be used instead. We don't have any way to symbolize or debug the backtrace for Xvfb-randr. But if you can repro the same issue with stock Xvfb, that would open the door to using a debug symbolized version.

We have a long-standing bug for Xvfb-randr crashes at b/26047696 (and b/27309469). We've never been able to get much traction on it, as the crash is so rare and difficult to repro. It's possible that yours could be the same problem.

Comment 5 by skobes@chromium.org, Jul 26 2017

I removed the xvfb-randr package and now it doesn't crash.

However I notice that when I finish dragging the window and let go of the mouse button, the pointer doesn't change back from the hand to the arrow the way it's supposed to.  This is the same moment (releasing mouse button) when the crash occurs with xvfb-randr.

So, I suspect it has something to do with the way Chrome changes the mouse pointer icon.

Using plain Xvfb isn't a good solution for me, since the desktop doesn't resize properly.
That's interesting to know. The crashes we've seen (where we've been able to symbolize the backtrace) occurred around the cursor-setting code (more details in the internal bug).
It looks like the Xorg implementation of setting the cursor is flaky. As it's a bug in X, it's not something we can easily address in CRD.
Best we can do is to try to repro the problem, identify the buggy code, and file an upstream X bug (possibly with a patch). But we haven't had much success so far.

Do you only see the bug when dragging Chrome windows, or with other apps?

Comment 7 by skobes@chromium.org, Jul 27 2017

Components: UI>Aura
It only happens with Chrome windows.  This makes me think it could be fixed in Chrome (by using X in a way that matches other apps).
Labels: TE-NeedsTriageHelp
Cc: sadrul@chromium.org kylec...@chromium.org e...@chromium.org
Summary: dragging Chrome window in CRD crashes Xvfb-randr (was: dragging Chrome window breaks CRD session)
I bisected this to http://crrev.com/a7a78c24d346 (enabling linux_aura).

Cc'ing some folks who know about X11 stuff.

Comment 10 by e...@chromium.org, Aug 1 2017

Cc: thomasanderson@chromium.org
Adding current linux maintainer.
Components: -Services>Chromoting
I don't think there's anything we can do about this within Chromoting. Removing that component.
Updating the client system from Trusty to Rodete seemed to fix this.

Comment 13 by e...@chromium.org, Mar 9 2018

Cc: -e...@chromium.org
Un-cc-ing me from all bugs on my final day.
Status: Archived (was: Unconfirmed)
Archiving old bugs that haven't been actively assigned in over 180 days.

If you feel this issue should still be addressed, feel free to reopen it or to file a new issue. Thanks!
Archiving old bugs that haven't been actively assigned in over 180 days.

If you feel this issue should still be addressed, feel free to reopen it or to file a new issue. Thanks!

Sign in to add a comment