New issue
Advanced search Search tips
Starred by 3 users
Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug-Regression



Sign in to add a comment
First renderer process doesn't render page in KVM guest
Reported by olivier....@canonical.com, Jun 22 2017 Back to list
UserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/60.0.3112.32 Chrome/60.0.3112.32 Safari/537.36

Steps to reproduce the problem:
(bug originally reported as https://launchpad.net/bugs/1696965)

While packaging chromium 59 for ubuntu, I noticed that when launched in a KVM guest, most of the time the first tab does not render anything (it remains blank). Refreshing (F5) does not make the page render. Browsing to a different domain in the same tab does make the issue go away (the pages start rendering).

This can be observed with the chrome://welcome page when launching the browser for the first time without an existing user profile, or in subsequent launches by passing a URL on the command line, e.g.: "chromium-browser http://example.org".

I initially thought this was a chromium-only issue, but I can reproduce with the official deb package for google-chrome-stable (although this happens much less frequently with chrome, and the result isn't completely blank with chrome, it's checkered - I'll attach a screenshot).

I bisected to find the revision that introduced the bug, and it appears to be https://chromium.googlesource.com/chromium/src/+/d85baf0b71c69bbd181aaefc8a803611e03c8eed (enabling swiftshader by default).

Launching chromium-browser with --use-gl=ANYSTRING (ANYSTRING really being any string, including invalid GL implementation names such as "foobarbaz", or valid ones such as "swiftshader") makes the issue go away, except when ANYSTRING=="any", in which case the issue can be observed.

Note that I haven't observed the issue on real hardware or in virtualbox VMs, only KVM seems to be showing the issue.

What is the expected behavior?
I expect the first page to always render correctly.

What went wrong?
The first page sometimes doesn't render, and no amount of refreshing will make it render. Navigating to a different domain in the same tab "fixes" the issue.

Did this work before? Yes any version before swiftshader was turned on by default in linux builds

Chrome version: 59.0.3071.109  Channel: stable
OS Version: Ubuntu 17.04
Flash Version:
 
chrome.png
90.1 KB View Download
Cc: kbr@chromium.org zmo@chromium.org capn@chromium.org ligim...@chromium.org
Components: -UI Internals>GPU>SwiftShader
Labels: M-59
cc-ing GPU experts.
Comment 2 by kbr@chromium.org, Jun 23 2017
What are the contents of about:gpu from the browser instance where this happens?

Comment 3 by kbr@chromium.org, Jun 23 2017
Labels: Needs-Feedback
Attaching the contents of chrome://gpu for both chrome and chromium (both at version 59.0.3071.109). They differ slightly.

I've also noticed that when the issue happens, opening a new tab then switching back to the first tab that wasn't rendered correctly appears to "fix" the issue, i.e. the first tab is rendered properly.
gpu-chrome.html
50.3 KB View Download
gpu-chromium.html
50.1 KB View Download
Project Member Comment 5 by sheriffbot@chromium.org, Jun 23 2017
Labels: -Needs-Feedback
Thank you for providing more feedback. Adding requester "kbr@chromium.org" to the cc list and removing "Needs-Feedback" label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Comment 6 by kbr@chromium.org, Jun 23 2017
Cc: sugoi@chromium.org
Labels: Needs-Feedback
Can you please try Dev Channel (package google-chrome-unstable)? There have been some recent fixes to SwiftShader's rendering path on Linux and I want to make sure this isn't a duplicate bug.

I have tested google-chrome unstable (version 61.0.3135.4-1) and chromium-browser (version 61.0.3128.3 from ppa:osomon/chromium-dev) and the issue appears to be fixed there. Now ideally those changes that fixed the issue would be backported to stable and beta, if they can be identified and cherry-picked easily enough.
Project Member Comment 8 by sheriffbot@chromium.org, Jun 23 2017
Labels: -Needs-Feedback
Thank you for providing more feedback. Adding requester "kbr@chromium.org" to the cc list and removing "Needs-Feedback" label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Comment 9 by kbr@chromium.org, Jun 24 2017
Labels: Needs-Feedback
Owner: capn@chromium.org
Status: Assigned
capn@ can comment on the feasibility of backporting. Since this is not a security issue it will not be backported to stable, but it may be feasible to do so to beta.

(Actually, could you please test beta, too? I think the fix may already have been backported there.)

Just tested beta, and the issue still happens. This is version 60.0.3112.40, both google-chrome and chromium-browser (from ppa:osomon/chromium-next) are affected, although the issue still happens much more frequently with chromium than with chrome.
Comment 11 by gkihl...@gmail.com, Jun 26 2017
This also happens on Intel NUCs running CentOS 7.3.1611 with the latest kernel 3.10.0-514.21.2.el7.x86_64 and google-chrome-stable 59.0.3071.109
gpu.html
50.0 KB View Download
Comment 12 by capn@chromium.org, Jun 27 2017
Status: Started
I'll look into this more, but note that the SwiftShader patch made two changes:
1) Use SwiftShader for WebGL content when the GPU is blacklisted.
2) When the GPU is blacklisted for WebGL, it is blacklisted for all uses.

Since example.org doesn't use any WebGL, it must be affected by the second change. And since the other uses of the GPU don't fall back to using SwiftShader, this is not a SwiftShader specific bug. Instead it appears that some other CPU rendering path has regressed. So I'll try to bisect older versions using --disable-gpu-compositing and/or --disable-gpu-rasterization
I was seeing similar for a while on linux with gpu compositing: https://bugs.chromium.org/p/chromium/issues/detail?id=730222

https://bugs.chromium.org/p/chromium/issues/detail?id=585023 also has gpu compositing and I think is the same.
Cc: danakj@chromium.org
Owner: ----
Status: Available
We can't install desktop VMs with network access on our workstations, but I was able to partially replace this on a cloud VM. I briefly get the page with four black corners, but then example.org renders fine. It's possible that Chrome Remote Desktop which I'm using to access this VM interferes with the issue and triggers a repaint.

Unassigning myself since this doesn't appear to be a SwiftShader specific issue or directly related to its integration.
Sign in to add a comment