Phone crashes when GLSL structs are used as "out" fucntion parameters
Reported by
michael....@human-interactive.org,
Jun 12 2018
|
||||||||||||
Issue descriptionSteps to reproduce the problem: Open the testcase: https://jsfiddle.net/f2Lommf5/6830/ What is the expected behavior? You should see a green plane on the lower right of the screeen. That means the shader is executed correctly. What went wrong? In error cases the phone crashes after the page was loaded. It seems that certain Android are not able to process "out" struct paramters in GLSL functions. The crash only happens when the code is executed in high precision. lowp and mediump works fine. Did this work before? N/A Does this work in other browsers? N/A Chrome version: 66.0.3359.158 Channel: stable OS Version: 7.0.0 Flash Version: Tested with LG Aristo and LG Fiesta (both have a Qualcomm Snapdragon 425). It does not happen with other devices like a Pixel 1 or Pixel 2. More information about the issue: https://github.com/mrdoob/three.js/issues/14137
,
Jun 13 2018
,
Jun 13 2018
Tested the issue using #66.0.3359.158 on Android Samsung J7 7.0 as per the steps mentioned in original comment.No crash is seen upon navigating to https://jsfiddle.net/f2Lommf5/6798. @Reporter: Could you please update to latest chrome version 67.0.3396.87 and check if issue persists. If yes, please help us by providing crash id from chrome://crashes. Thanks!!
,
Jun 13 2018
Thanks for the feedback! I asked my colleague to do a new test with your recommended setup. BTW: You might want to verify the issue with a mobile device that has a GPU from Qualcomm. Besides: If https://jsfiddle.net/f2Lommf5/6830/ does not crash your phone but the colored output is red, there is still a problem with the device.
,
Jun 13 2018
Thank you for providing more feedback. Adding the requester to the cc list. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Jun 14 2018
Repeated from https://github.com/mrdoob/three.js/issues/14137#issuecomment-397094343 Verified that this issue does occur with the latest Chrome version available (67.0.3396.87). There are no crash IDs listed at chrome://crashes I'm presuming this is because it isn't just causing chrome to crash, but rather causing the whole phone to crash (like full, hard restart), and that is occurring before the problem can be recorded.
,
Jun 14 2018
To elaborate on Michael's comment: the Samsung J7 appears to have either a Qualcomm MSM8939 Snapdragon 615 (with Adreno 405 GPU) or Exynos 7580 Octa (with Mali-T720MP2) depending on the exact model. This issue appears to manifest on phones run by a Qualcomm Snapdragon 425 (with Adreno 308 GPU) I've been testing on an LG Aristo and an LG Fiesta. The overarching issue has been reported on 15 different specific devices from 7 manufacturers[1], most (all?) of which have the same Snapdragon 425 (though it's unconfirmed whether this crash on this exact test case occur on all of those; I'm currently charging a Samsung J3 with this same processor to verify) [1]: https://github.com/mrdoob/three.js/issues/14137#issue-326298141
,
Jun 14 2018
Repeated from https://github.com/mrdoob/three.js/issues/14137#issuecomment-397167706 Just tested on a Samsung Galaxy J3 Luna Pro (SM-S327VL) which also has the same Snapdragon 425/Adreno 308, but is running Android 6.0.1 (security patch July 1, 2017). As reported in the original issue on the AFrame repo (https://github.com/aframevr/aframe/issues/3523#issuecomment-391611976), this version of Android does _not_ exhibit the errors described in this issue. It seems no official update is available for this device, so I'm still unable to personally confirm the issues on a non-LG phone (though, as previously mentioned, numerous others have already done so: https://github.com/mrdoob/three.js/issues/14137#issue-326298141)
,
Jun 14 2018
note for anyone trying to repro this: this issue causes the phone to crash completely and hard-restart, so make sure you don't have anything important open that you'll lose, and I'd recommend testing it in an incognito tab to avoid getting stuck in the same restart loop that I did: https://github.com/mrdoob/three.js/issues/14137#issuecomment-396348889
,
Jun 14 2018
As per comment #!0 this issue seems to be hardware related.Hence adding TE-NeedsTriageHelp label for further inputs on same. Thanks!
,
Jun 14 2018
,
Jun 14 2018
,
Jun 19 2018
Adding some more labels. Need to potentially add this to the WebGL conformance suite and report this to Qualcomm, though I'm not optimistic about the drivers for these phones being fixed.
,
Jun 19 2018
,
Jun 27 2018
Could repro this issue on LG Aristo/NRD90U with M67 Steps: 1. Launch Chrome 2. Go to https://jsfiddle.net/f2Lommf5/6798 3. Phone crashes not just browser kbr@, I have the device with me, I can drop off at your desk.
,
Jun 30 2018
Submitter: have created a WebGL conformance test for this in this pull request: https://github.com/KhronosGroup/WebGL/pull/2663 It fails on the affected phone, but doesn't crash the phone. Perhaps the JSFiddles are crashing because they're repeatedly rendering with the affected shader. If you can figure out how to modify the conformance test to crash the phone, please put up another pull request once the above one lands. Alternatively, the tests in conformance/rendering/ may be a better starting point.
,
Jul 20
Is there anything actionable here on the Chrome side? If this is not a Chrome issue, should we remove the release-block label?
,
Jul 20
I was holding off marking this ExternalDependency until new Android graphics tests landed: https://android-review.googlesource.com/718028 but let me do so now. There is nothing we can do from the Chrome side about this.
,
Jul 21
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6f64860d89fdb6d3397286e722b42f18c7df7db7 commit 6f64860d89fdb6d3397286e722b42f18c7df7db7 Author: Kenneth Russell <kbr@chromium.org> Date: Sat Jul 21 02:54:54 2018 Roll WebGL a5c263c..21dbf06 https://chromium.googlesource.com/external/khronosgroup/webgl.git/+log/a5c263c..21dbf06 Bug: 830901 , 851870, 851873, 859400 , 866089 Tbr: zmo@chromium.org Tbr: kainino@chromium.org Cq-Include-Trybots: luci.chromium.try:win_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_angle_rel_ng;luci.chromium.try:win_angle_rel_ng Change-Id: Icef8ddc970ccb6653e95920c28b4d003d1b27100 Reviewed-on: https://chromium-review.googlesource.com/1144306 Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Cr-Commit-Position: refs/heads/master@{#577063} [modify] https://crrev.com/6f64860d89fdb6d3397286e722b42f18c7df7db7/DEPS [modify] https://crrev.com/6f64860d89fdb6d3397286e722b42f18c7df7db7/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py [modify] https://crrev.com/6f64860d89fdb6d3397286e722b42f18c7df7db7/content/test/gpu/gpu_tests/webgl_conformance_revision.txt
,
Aug 21
Removing Release-Block-Stable label as there is nothing the Chrome team can do to work around this driver bug. |
||||||||||||
►
Sign in to add a comment |
||||||||||||
Comment 1 by michael....@human-interactive.org
, Jun 12 2018