[Android] Chrome crashed when running the WebML examples for WebGL backend
Reported by
leix1.w...@intel.com,
Dec 18
|
||||||
Issue descriptionSteps to reproduce the problem: 1. Launch chrome stable 71.0.3578.98 on Android 2. Visit https:///brucedai.github.io/nt/examples/image_classification/index.html 3. Switch to WebGL from WASM in the first box 4. Switch to "ResNet50 v2(Onnx)" or "DenseNet(Onnx)" in the second box It will take a long time to wait for the examples loading. What is the expected behavior? The examples work normally on Android. What went wrong? Chrome crashed when running the examples with WebGL backend. 1. ResNet50 v2(Onnx) --> see "Aw, Snap!" pages 2. DenseNet(Onnx) --> The browser closes abruptly My Test Device: Google Pixel 2(Android 8.1.0) Crashed report ID: How much crashed? Just one tab Is it a problem with a plugin? N/A Did this work before? N/A Chrome version: 71.0.3578.98 Channel: stable OS Version: 8.1.0 Flash Version:
,
Dec 19
,
Dec 21
Tested the issue in Android and able to reproduce the issue. Steps Followed: 1. Navigated to https:///brucedai.github.io/nt/examples/image_classification/index.html 2. Selected WebGL and ResNet50 v2(Onnx) in M-71 and M-73 : Observed Aw snap page 3. In M-60 browser abruptly closes Chrome versions tested: 60.0.3112.113 , 71.0.3578.99 , 73.0.3646.0 OS: Android 9.0.0 Android Devices: Pixel 2 Issue is seen from older M-60 builds, hence considering this as Non-Regression and marking as Untriaged for further inputs from dev team. Thanks!
,
Dec 21
Please provide about:crashes entries for these.
,
Dec 21
,
Dec 27
I uploaded the crash reports, the crash report IDs are aab2020600943c71 and d06cb5ce7eef71cf.
,
Dec 27
The crash is a GPU process hang. This is expected if too much GPU work is enqueued at once (typically one really long-running draw call). Unless this is a regression, this is working as intended. Unfortunately the stacks don't seem to have been preserved, so I can't tell what exact operation is taking too long (but it's probably a drawArrays).
,
Jan 9
Thanks for the investigation! For some background info, 1) the ResNet50 is an important workload for image classification, so we try it on web. 2) we use TesnorFlow.js WebGL kernels to execute ResNet50 in the webml examples, so I suppose TensorFlow.js users may also hit this issue when running ResNet50 on Chrome for Android 3) this test can pass on Chrome for desktop My question is how Chrome thinks the GPU work is "too much". Any thresholds for that? And how about the compute task (e.g. running compute shader), is it allowed to be running longer?
,
Jan 9
Can you have a try with option "--disable-gpu-watchdog"?
,
Jan 9
Too much ~= 5 or 10 seconds for a single operation (I don't remember). You'll need to break the work up into smaller parts that don't take as long. --disable-gpu-watchdog, as Yang pointed out, will let you confirm whether the operation works when the watchdog doesn't kill it.
,
Jan 18
(4 days ago)
I opened Chrome with: adb shell 'echo "chrome --disable-gpu-watchdog" > /data/local/tmp/chrome-command-line', this browser still crashed when running these same examples. Now, we updated our examples codes, this issue didn't occur on Chrome.
,
Jan 18
(4 days ago)
I think that setting flags this way might require a rooted device. You can check in chrome://version to see whether the flag is taking effect. |
||||||
►
Sign in to add a comment |
||||||
Comment 1 by gov...@chromium.org
, Dec 19