Issue metadata
Sign in to add a comment
|
Chrome display starts flickering after WebGL errors occur on several Android devices with ARM GPUs
Reported by
allydona...@googlemail.com,
Jan 26 2018
|
||||||||||||||||||||||
Issue descriptionSteps to reproduce the problem: 1. Open Chrome on a Samsung Galaxy S6, Samsung Galaxy S7 (model with ARM GPU) or Nokia 3 phone 2. Navigate to: http://www.graphicsfuzz.com/benchmark/android-v1.html 3. Run the benchmark, assuming you agree to the disclaimer What is the expected behavior? The benchmark should run to completion, possibly showing some compile and link errors, and maybe losing the WebGL context from time to time, necessitating a page reload. However, the UI should look OK. What went wrong? Around shader number 8, on all three devices with ARM GPUs, the UI starts to go crazy - it flickers on scroll, and black rectangles. This video shows the issue in action: https://www.youtube.com/watch?v=poO3jF3mGHc&feature=youtu.be The flickering starts around 2:22. Did this work before? N/A Chrome version: 63.0.3239.111 Channel: stable OS Version: 7.0.0; SM-GP30P Build/NRD90M Flash Version: - The benchmark works OK in Firefox - the ARM GPU driver gives errors, but the Firefox UI is fine. - We don't see these problems in Chrome with a Galaxy S8 with an ARM GPU. This is probably simply because the S8 does not trigger the compilation failures that lead to this issue.
,
Jan 29 2018
,
Jan 29 2018
Tested the issue in Android and able to reproduce the issue. Steps Followed: 1. Launched the Chrome 2. Navigated to http://www.graphicsfuzz.com/benchmark/android-v1.html 3. Observed the flickering and black screen Chrome versions tested: 63.0.3239.111(Stable) OS: Android 7.0.0 Android Devices: Samsung J7 Using the per-revision bisect providing the bisect results, Good build: 61.0.3163.98 Bad build: 62.0.3164.0 You are looking for a change made after 488528(GOOD), but before 488529(BAD). CHANGELOG URL: The script might not always return single CL as suspect as some perf builds might get missing due to failure. https://chromium.googlesource.com/chromium/src/+log/61.0.3163.0..62.0.3164.0?pretty=fuller&n=10000 Unable to find the suspect from the above log as getting all bad builds in tool bisect. Untriaged for further inputs. Please navigate to below link for log's and video-- go/chrome-androidlogs/806201 Note: This issue is not observed in Desktop. Thanks!
,
Jan 29 2018
,
Feb 1 2018
Next week I'll bisect this and find who best to assign it to.
,
Feb 8 2018
The NextAction date has arrived: 2018-02-08
,
Mar 6 2018
Vikas, seems like a GL shader compilation problem on certain Android drivers. Can you take a look and see if you can narrow down the issue? Thanks!
,
Mar 7 2018
Tried to debug this issue by setting breakpoints in html code of webpage using developer options and also by reading logs from terminal by using "adb logcat" Thanks a lot to Chris and Eric to help me in debug and understand the above debug process. I am running this benchmark on Samsung galaxy J7.. Bisecting gave me -> You are looking for a change made after 62.0.3202.79(GOOD), but before 62.0.3202.80(BAD). In chrome, I can see "link crash" happening for 8th fragment shader. On mozilla, "link fails" but doesn't crash and hence benchmark continues without causing UI issues. I tried getting logs from terminal using "adb logcat | grep -i 'chromium'". I am seeing below logs. Looks like bunch of GL errors are causing context to be lost and hence crash and black window in UI. Debugging further to trace reason of GL ERRORS. "Test 8 / 15: (Variant) Linking shader program.", source: http://www.graphicsfuzz.com/benchmark/android-v1.html (735) [ERROR:gles2_cmd_decoder.cc(8053)] [.RenderWorker-0xe4205c00.GpuRasterization]GL ERROR :GL_OUT_OF_MEMORY : glFramebufferTexture2D: <- error from previous GL command [ERROR:gles2_cmd_decoder.cc(5501)] Error: 5 for Command kFramebufferTexture2D [ERROR:gles2_cmd_decoder.cc(4469)] GLES2DecoderImpl: Trying to make lost context current. [ERROR:gles2_cmd_decoder.cc(10008)] [.DisplayCompositor-0xce176800]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.
,
Mar 7 2018
To get the accurate line numbers in the code from the error messages, i tried to run the benchmark on beta and dev and it seems like this issue is no longer present in newer versions. I tested on beta and dev on all 3 devices - galaxy s6, s7 and J7 and the test is working without any crash or black screen. (shaders have link errors and not link crash ). I also tested it on current android stable which had not yet reached 100% of users and i do not see any crash in that version. These are the version numbers i tested android dev 66.0.3356.0 android beta 65.0.3325.144 android stable 65.0.3325.109 The stable version which is present on those device is 64.0.3282.137 and that version still has the issue. Once the current stable is rolled out to everyone, this issue will disappear. Since this issues is not anymore in beta/dev/current_stable, we can close this bug for now and can reopen if we see this later. I am marking this as fixed |
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by allydona...@googlemail.com
, Jan 26 2018