No VRDisplay after re-visiting WebVR websites
Categories
(Core :: WebVR, defect, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr60 | --- | unaffected |
firefox-esr68 | --- | unaffected |
firefox68 | --- | unaffected |
firefox69 | --- | verified |
firefox70 | --- | verified |
People
(Reporter: daoshengmu, Assigned: daoshengmu)
References
(Regression)
Details
(Keywords: regression)
Attachments
(1 file)
47 bytes,
text/x-phabricator-request
|
RyanVM
:
approval-mozilla-beta+
|
Details | Review |
I have used MOZ-Regression to bisect this regression is between Jun. 29th and Jun. 30th, so it will be very possible to be a regression of Bug 1466702.
STR:
- Go to https://webvr.info/samples/XX-vr-controllers.html and enter the immersive mode.
- Open an another tab, https://www.wikipedia.org/, then closing the previous WebVR tab.
- Wait for about 5 secs until VR process is shutdown, go to https://webvr.info/samples/XX-vr-controllers.html again, it will show WebVR supported but no VRDisplays.
Comment 1•5 years ago
|
||
Investigating now, thanks for spotting it!
Perhaps I could implement a "shutdown VR process early" Puppet VR command to enable an automated test for this...
Assignee | ||
Comment 2•5 years ago
|
||
After investigating, it looks like the mExternalShmem didn't be released when the last time VR process was doing shutdown[1]. We should call VRManager::CloseShmem
when doing VR process shutdown.
Assignee | ||
Comment 3•5 years ago
|
||
Assignee | ||
Comment 4•5 years ago
|
||
This patch should resolve this issue. The root cause is we still use the old mExternalShmem states of the previous VR process even though it has been shutdown. We can just clear it and don't need to create a new one. Waiting for try results and we can start to review.
Pushed by dmu@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/a52b60c33890 Clear VR external shared memory when recreating a new VR process. r=kip
Comment 6•5 years ago
|
||
bugherder |
Updated•5 years ago
|
Updated•5 years ago
|
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Comment 7•5 years ago
|
||
Comment on attachment 9076662 [details]
Bug 1564203 - Clear VR external shared memory when recreating a new VR process.
Beta/Release Uplift Approval Request
- User impact if declined: WebVR will fail to detect vr displays when revisiting WebVR websites.
- Is this code covered by automated tests?: No
- Has the fix been verified in Nightly?: Yes
- Needs manual test from QE?: No
- If yes, steps to reproduce: I have tested it in local as the steps at Comment 0.
- List of other uplifts needed: None
- Risk to taking this patch: Low
- Why is the change risky/not risky? (and alternatives if risky): This is for fixing a regression of Bug 1466702 that has landed to FF 69. It is minor risky because we just make the memory clean if we already own this shared memory. This regression was caused by some old memory states didn't reset after the VR process be re-created.
- String changes made/needed:
Updated•5 years ago
|
Comment 8•5 years ago
|
||
Comment on attachment 9076662 [details]
Bug 1564203 - Clear VR external shared memory when recreating a new VR process.
Fixes a regression in 69 which can cause WebVR displays to not be properly detected. Approved for 69.0b4.
Comment 9•5 years ago
|
||
bugherder uplift |
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Comment 10•5 years ago
|
||
I reproduced this issue on Fx 71.0a1(2019-09-17), using Windows 10 x64 with Oculus Rift.
I can confirm this issue is fixed, I verified on Fx 71.0a1 (2019-10-04) and Fx 70.0b12 on the same environment.
Updated•2 years ago
|
Description
•