New issue
Advanced search Search tips

Issue 852959 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2018
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 3
Type: Bug
Proj-XR



Sign in to add a comment

investigate possibility for NAN or infinity values to be returned from view matrix in WebVR on Windows

Project Member Reported by billorr@chromium.org, Jun 14 2018

Issue description

Reported by sjpt on webvr slack:

We have seen very occasional cases of device.getFrameData( frameData ) returning orientation and left/rightViewMatrix with lots of NaN or Infinity values;  just for individual frames.  Happening with different versions of Vive, Chrome, SteamVR.  It seems to happen more on some hardware than others.  As we use incremental changes to transforms this was propagating from frame to frame so we didn't see anything after the bug hit; fixed for now by detecting and ignoring bad frameData.  I suspect that for most people such a bug would not notice; the bad frame would display wrong but be immediately corrected next frame.  

It is difficult to force the error (it just knows the awkward times to come up!) so I don't want to report as bug unless I can get more details.  I'm just wondering if anybody else has seen this?

------------

Current theories:
* loss of tracking may give out mad matrices temporarily
* potentially bad math somewhere with conversion between matrix and quaternion.
 

Comment 1 by tiborg@chromium.org, Jun 15 2018

Components: -Internals>VR Blink>WebVR
Changing component to WebVR.
Components: -Blink>WebVR Internals>VR
Status: Assigned (was: Untriaged)
Changing back to internals>VR as this deals with internal device/vr code, but marking as assigned to myself.
Project Member

Comment 3 by bugdroid1@chromium.org, Jun 28 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3b3da79af1abaced8c9eb1dbbb8827ec88f5f98c

commit 3b3da79af1abaced8c9eb1dbbb8827ec88f5f98c
Author: Bill Orr <billorr@chromium.org>
Date: Thu Jun 28 21:19:10 2018

Fix OpenVR rotation matrix quaternion logic

We convert from rotation matrix to quaternion, but the calculation
wasn't stable.  It was mostly correct, but would occasionally give
NaN or other invalid values when w was near zero.

Rather than trying to correct the math, this change converts to using
common helpers.

BUG= 852959 

Change-Id: Ieecac34c0d7dd8d4abf550f1a93df017644237ef
Reviewed-on: https://chromium-review.googlesource.com/1117869
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Klaus Weidner <klausw@chromium.org>
Commit-Queue: Bill Orr <billorr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#571264}
[modify] https://crrev.com/3b3da79af1abaced8c9eb1dbbb8827ec88f5f98c/device/vr/openvr/openvr_type_converters.cc

Status: Fixed (was: Assigned)
Components: Internals>XR

Sign in to add a comment