New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 880760 link

Starred by 1 user

Issue metadata

Status: Duplicate
Merged: issue 878545
Owner:
OOO until 2019-01-24
Closed: Sep 14
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 1
Type: Bug-Regression

Blocked on:
issue 878545



Sign in to add a comment

Trouble loading 360 degree images in Android Chrome

Reported by appypie2...@gmail.com, Sep 5

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36

Steps to reproduce the problem:
1. Load the given URL - https://essnappy.appypie.com/vr_appy/index.html?preview=https://cdncloudfront.com/media/user_space/ccd40140fc4c/photo/preview_AMBIENTE-360-PIEDRA-ALUMINI-32X56-1_1534877617.jpg&image=https://cdncloudfront.com/media/user_space/ccd40140fc4c/photo/AMBIENTE-360-PIEDRA-ALUMINI-32X56-1_1534877617.jpg&is_stereo=false
2. This shows disrupted rotation in Chrome 68.0.3440.9 and above. 
3. The image does not open properly.

What is the expected behavior?
360 degree image url should load properly and rotation should be accurate according to device rotation.

What went wrong?
The above image url works perfectly in Chrome 64.0.3282.137 but shows unexpected behaviour in  68.0.3440.9 and above.

Did this work before? Yes Chrome 64.0.3282.137

Chrome version: 68.0.3440.106  Channel: n/a
OS Version: OS X 10.12.6
Flash Version:
 
Chrome69.0.3497.76.png
44.6 KB View Download
Chrome68.0.3440.9.png
2.8 MB View Download
Labels: -OS-Mac OS-Android
Labels: Needs-triage-Mobile
Cc: chelamcherla@chromium.org
Components: Blink>Sensor>DeviceOrientation
Labels: -Pri-2 hasbisect-per-revision RegressedIn-66 Target-70 M-70 Triaged-Mobile FoundIn-70 Target-69 FoundIn-69 Pri-1
Owner: digit@google.com
Status: Assigned (was: Unconfirmed)
Tested the issue in Android and able to reproduce the issue. 

Steps Followed:
1. Navigated to URL given in c#0
2. Observed zankiness in image while rotating

Chrome versions tested:
68.0.3440.81 , 69.0.3497.76, 70.0.3538.2 

OS:
Android 8.0.0

Android Devices:
Pixel 2

Issue is seen in latest stable #69.0.3497.76 and latest canary #70.0.3538.2. 

Using the per-revision bisect providing the bisect results,
Good Build - 67.0.3334.0
Bad Build - 67.0.3335.0

CL: https://chromium.googlesource.com/chromium/src/+/c0c8978849ac57e4ecd613ddc8ff7852a2054734

@ digit: Could you please look into the issue, pardon me if it has nothing to do with your changes and if possible please assign it to owner concerned. 

Thanks!
Labels: Needs-Feedback
Owner: juncai@chromium.org
This is likely caused by the change in units from radians to degrees announced on blink-dev[1] and released in Chrome 66.

[1]: https://groups.google.com/a/chromium.org/d/msg/blink-dev/ple1o7bFqEs/jJuhTSEYCwAJ

I tested this page in Firefox and it looks like motion control doesn't work at all there. Chrome's behavior in 66 and later matches Firefox.

Assigning to juncai@ but this will likely be closed as WontFix.
Status: Started (was: Assigned)
Status: WontFix (was: Started)
Tested the page and the image rotates very quickly. It is caused by the radians to degrees change. Suggest the test page JS code to be updated to use degrees instead of radians.
Status: Started (was: WontFix)
Some update:
The current behavior is the page loads, the image rotates very quickly for a very short time, and then the renderer crashes. 

Tried changing the code to be radians at:
https://cs.chromium.org/chromium/src/third_party/blink/renderer/modules/device_orientation/device_motion_event_pump.cc?l=164-170
The test page loads, the image rotates normally for a very short time, and then renderer crashes.

So it seems that the crash is not related to the DeviceMotion API.

I also tried the the following test page and it works well:
https://aframe.io/aframe/examples/boilerplate/hello-world/
which is from:
https://bugs.chromium.org/p/chromium/issues/detail?id=779443

Not sure if it is related to some VR api?

Cc: paint-dev@chromium.org
Components: Blink>Paint
Components: -Blink>Paint Blink>Image
juncai@, do you have a stack trace that goes farther up the stack?
schenney@, here is the stack trace which I got from the logcat:

chromium: [INFO:CONSOLE(17343)] "THREE.WebGLRenderer: image is not power of two (4000x2000). Resized to 4096x2048", source: https://essnappy.appypie.com/vr_appy/build/three.js (17343)
chromium: [INFO:CONSOLE(8037)] "Invalid timestamps detected. Time step between successive gyroscope sensor samples is very small or not monotonic", source: https://essnappy.appypie.com/vr_appy/build/embed.js (8037)
chromium: [INFO:CONSOLE(17343)] "THREE.WebGLRenderer: image is not power of two (4000x2000). Resized to 4096x2048", source: https://essnappy.appypie.com/vr_appy/build/three.js (17343)
chromium: [FATAL:static_bitmap_image.h(83)] Check failed: false. 
chromium: #00 0xd05ddc0f /data/app/org.chromium.chrome-tWVg6GrPuJcFSfBBfwcM_g==/lib/arm/libbase.cr.so+0x000d8c0f
chromium: #01 0xc9fa6f53 /data/app/org.chromium.chrome-tWVg6GrPuJcFSfBBfwcM_g==/lib/arm/libblink_platform.cr.so+0x00466f53
chromium: #02 0xc80452a7 /data/app/org.chromium.chrome-tWVg6GrPuJcFSfBBfwcM_g==/lib/arm/libblink_modules.cr.so+0x0072d2a7
chromium: #03 0xc80454bd /data/app/org.chromium.chrome-tWVg6GrPuJcFSfBBfwcM_g==/lib/arm/libblink_modules.cr.so+0x0072d4bd
chromium: #04 0xc80458e9 /data/app/org.chromium.chrome-tWVg6GrPuJcFSfBBfwcM_g==/lib/arm/libblink_modules.cr.so+0x0072d8e9
chromium: #05 0xc8045c4f /data/app/org.chromium.chrome-tWVg6GrPuJcFSfBBfwcM_g==/lib/arm/libblink_modules.cr.so+0x0072dc4f
chromium: #06 0xc7e5319d /data/app/org.chromium.chrome-tWVg6GrPuJcFSfBBfwcM_g==/lib/arm/libblink_modules.cr.so+0x0053b19d
chromium: #07 0xca9865e3 /data/app/org.chromium.chrome-tWVg6GrPuJcFSfBBfwcM_g==/lib/arm/libv8.cr.so+0x0029a5e3
chromium: #08 0xca98585b /data/app/org.chromium.chrome-tWVg6GrPuJcFSfBBfwcM_g==/lib/arm/libv8.cr.so+0x0029985b
chromium: #09 0xca98484d /data/app/org.chromium.chrome-tWVg6GrPuJcFSfBBfwcM_g==/lib/arm/libv8.cr.so+0x0029884d
chromium: #10 0xca98451b /data/app/org.chromium.chrome-tWVg6GrPuJcFSfBBfwcM_g==/lib/arm/libv8.cr.so+0x0029851b
chromium: #11 0xcb2dbf57 /data/app/org.chromium.chrome-tWVg6GrPuJcFSfBBfwcM_g==/lib/arm/libv8.cr.so+0x00beff57

I tested it on Pixel 2.
Cc: -chelamcherla@chromium.org kbr@chromium.org sindhu.chelamcherla@chromium.org
Components: Blink>WebGL
juncai@, you can run something like this to get a symbolized stack:
adb logcat -d | third_party/android_platform/development/scripts/stack --output-directory out/Debug



My build is a few weeks old, but I do see a crash when going to that page that lines up with what juncai@ was seeing.  Here is my symbolized stack:
  0013a64d  base::debug::BreakDebugger()                                                                                                                                                                                                                                                                                                                                                   ../../base/debug/debugger_posix.cc:258:0
  000dfa85  logging::LogMessage::~LogMessage()                                                                                                                                                                                                                                                                                                                                             ../../base/logging.cc:865:7
  0041ec6d  blink::StaticBitmapImage::CopyToTexture(gpu::gles2::GLES2Interface*, unsigned int, unsigned int, bool, bool, blink::IntPoint const&, blink::IntRect const&)                                                                                                                                                                                                                    ../../third_party/blink/renderer/platform/graphics/static_bitmap_image.h:83:5
  00615263  blink::WebGLRenderingContextBase::TexImageCanvasByGPU(blink::WebGLRenderingContextBase::TexImageFunctionID, blink::HTMLCanvasElement*, unsigned int, unsigned int, int, int, blink::IntRect const&)                                                                                                                                                                            ../../third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc:5125:29
  00615411  blink::WebGLRenderingContextBase::TexImageByGPU(blink::WebGLRenderingContextBase::TexImageFunctionID, blink::WebGLTexture*, unsigned int, int, int, int, int, blink::CanvasImageSource*, blink::IntRect const&)                                                                                                                                                                ../../third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc:5197:7
  00615807  blink::WebGLRenderingContextBase::TexImageHelperHTMLCanvasElement(blink::SecurityOrigin const*, blink::WebGLRenderingContextBase::TexImageFunctionID, unsigned int, int, int, unsigned int, unsigned int, int, int, int, blink::HTMLCanvasElement*, blink::IntRect const&, int, int, blink::ExceptionState&)                                                                   ../../third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc:0:7
  00615b43  blink::WebGLRenderingContextBase::texImage2D(blink::ExecutionContext*, unsigned int, int, int, unsigned int, unsigned int, blink::HTMLCanvasElement*, blink::ExceptionState&)                                                                                                                                                                                                  ../../third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc:5334:3
  v------>  blink::WebGLRenderingContextV8Internal::texImage2D4Method(v8::FunctionCallbackInfo<v8::Value> const&)                                                                                                                                                                                                                                                                          gen/third_party/blink/renderer/bindings/modules/v8/v8_webgl_rendering_context.cc:2806:9
  v------>  blink::WebGLRenderingContextV8Internal::texImage2DMethod(v8::FunctionCallbackInfo<v8::Value> const&)                                                                                                                                                                                                                                                                           gen/third_party/blink/renderer/bindings/modules/v8/v8_webgl_rendering_context.cc:2913:0
  00430a11  blink::V8WebGLRenderingContext::texImage2DMethodCallback(v8::FunctionCallbackInfo<v8::Value> const&)                                                                                                                                                                                                                                                                           gen/third_party/blink/renderer/bindings/modules/v8/v8_webgl_rendering_context.cc:5725:0
  00290ecf  v8::internal::FunctionCallbackArguments::Call(v8::internal::CallHandlerInfo*)                                                                                                                                                                                                                                                                                                  ../../v8/src/api-arguments-inl.h:119:3
  00290149  v8::internal::MaybeHandle<v8::internal::Object> v8::internal::(anonymous namespace)::HandleApiCallHelper<false>(v8::internal::Isolate*, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::FunctionTemplateInfo>, v8::internal::Handle<v8::internal::Object>, v8::internal::BuiltinArguments)  ../../v8/src/builtins/builtins-api.cc:109:36
  0028f13b  v8::internal::Builtin_Impl_HandleApiCall(v8::internal::BuiltinArguments, v8::internal::Isolate*)                                                                                                                                                                                                                                                                               ../../v8/src/builtins/builtins-api.cc:139:5
  0028ee05  v8::internal::Builtin_HandleApiCall(int, v8::internal::Object**, v8::internal::Isolate*)                                                                                                                                                                                                                                                                                       ../../v8/src/builtins/builtins-api.cc:127:1
  00ba2294  ??                                                                                                 
Thanks billorr@. I got similar stack trace:

[FATAL:static_bitmap_image.h(83)] Check failed: false. 

Stack Trace:
  RELADDR   FUNCTION                                                                                                                                                                                                                                                                                                                                                                       FILE:LINE
  000d8c0f  logging::LogMessage::~LogMessage()                                                                                                                                                                                                                                                                                                                                             /src/chromium/src/base/logging.cc:599:29
  00466f53  blink::StaticBitmapImage::CopyToTexture(gpu::gles2::GLES2Interface*, unsigned int, unsigned int, bool, bool, blink::IntPoint const&, blink::IntRect const&)                                                                                                                                                                                                                    /src/chromium/src/third_party/blink/renderer/platform/graphics/static_bitmap_image.h:83:5
  0072d2a7  blink::WebGLRenderingContextBase::TexImageCanvasByGPU(blink::WebGLRenderingContextBase::TexImageFunctionID, blink::CanvasRenderingContextHost*, unsigned int, unsigned int, int, int, blink::IntRect const&)                                                                                                                                                                   /src/chromium/src/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc:5133:17
  0072d4bd  blink::WebGLRenderingContextBase::TexImageByGPU(blink::WebGLRenderingContextBase::TexImageFunctionID, blink::WebGLTexture*, unsigned int, int, int, int, int, blink::CanvasImageSource*, blink::IntRect const&)                                                                                                                                                                /src/chromium/src/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc:5209:7
  0072d8e9  blink::WebGLRenderingContextBase::TexImageHelperCanvasRenderingContextHost(blink::SecurityOrigin const*, blink::WebGLRenderingContextBase::TexImageFunctionID, unsigned int, int, int, unsigned int, unsigned int, int, int, int, blink::CanvasRenderingContextHost*, blink::IntRect const&, int, int, blink::ExceptionState&)                                                 /src/chromium/src/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc:0:0
  0072dc4f  blink::WebGLRenderingContextBase::texImage2D(blink::ExecutionContext*, unsigned int, int, int, unsigned int, unsigned int, blink::CanvasRenderingContextHost*, blink::ExceptionState&)                                                                                                                                                                                         /src/chromium/src/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc:5359:3
  v------>  blink::WebGLRenderingContextV8Internal::texImage2DMethod(v8::FunctionCallbackInfo<v8::Value> const&)                                                                                                                                                                                                                                                                           /src/chromium/src/out/Android/gen/third_party/blink/renderer/bindings/modules/v8/v8_webgl_rendering_context.cc:0:0
  0053b19d  blink::V8WebGLRenderingContext::texImage2DMethodCallback(v8::FunctionCallbackInfo<v8::Value> const&)                                                                                                                                                                                                                                                                           /src/chromium/src/out/Android/gen/third_party/blink/renderer/bindings/modules/v8/v8_webgl_rendering_context.cc:5826:0
  0029a5e3  v8::internal::FunctionCallbackArguments::Call(v8::internal::CallHandlerInfo*)                                                                                                                                                                                                                                                                                                  /src/chromium/src/v8/src/api-arguments-inl.h:140:3
  0029985b  v8::internal::MaybeHandle<v8::internal::Object> v8::internal::(anonymous namespace)::HandleApiCallHelper<false>(v8::internal::Isolate*, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::FunctionTemplateInfo>, v8::internal::Handle<v8::internal::Object>, v8::internal::BuiltinArguments)  /src/chromium/src/v8/src/builtins/builtins-api.cc:109:36
  0029884d  v8::internal::Builtin_Impl_HandleApiCall(v8::internal::BuiltinArguments, v8::internal::Isolate*)                                                                                                                                                                                                                                                                               /src/chromium/src/v8/src/builtins/builtins-api.cc:139:5
  0029851b  v8::internal::Builtin_HandleApiCall(int, v8::internal::Object**, v8::internal::Isolate*)                                                                                                                                                                                                                                                                                       /src/chromium/src/v8/src/builtins/builtins-api.cc:127:1
  00beff57  ??                                                                                                                                                                                                                                                                                                                                                                             ??:0:0

Owner: kbr@chromium.org
I'm pretty sure this is a duplicate of  Issue 878545 . I'm in the process of refactoring the associated texture uploading code to handle the case where the incoming image is software backed rather than texture backed.

The per-revision bisect seems likely wrong. This bisect:
https://bugs.chromium.org/p/chromium/issues/detail?id=878545#c5

yielded the following result:

You are probably looking for a change made after 574613 (known good), but no later than 574614 (first known 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/a875a2ea21d8a321295a11440c80af01bcf7fa86..f8b8872f2080130c2b5bdf026f32f46aad7598da

Specifically:

Refactor canvas code to centralize CanvasResourceProvider ownership
https://chromium-review.googlesource.com/1134182

Blockedon: 878545
The fix for  Issue 878545  will be in Canary 71.0.3552.2, which doesn't seem to be out for Android yet. Please test with that version when it comes out, and update this bug with your testing results. Thanks.

Also, submitter, please test with Chrome Beta and report bugs earlier so that we can have a chance of fixing them before they ship to Stable. Thanks.

Blockedon: -878545
Mergedinto: 878545
Status: Duplicate (was: Started)
Actually, it looks like 71.0.3552.0 (Official Build) canary (32-bit) contains the fix. It loads and runs the page successfully, while on 70.0.3538.15 (Official Build) dev (32-bit), the screen goes black after a second or two.

Duplicating this into  Issue 878545 .

Blockedon: 878545

Sign in to add a comment