Closed Bug 1361519 Opened 7 years ago Closed 7 years ago

Crash in libovrrt32_1.dll@0x2eba9

Categories

(Core :: Graphics, defect, P3)

55 Branch
x86
Windows 10
defect

Tracking

()

RESOLVED FIXED
mozilla56
Tracking Status
firefox-esr52 --- unaffected
firefox53 --- disabled
firefox54 --- disabled
firefox55 --- fixed
firefox56 --- fixed

People

(Reporter: marcia, Assigned: kip)

References

Details

(Keywords: crash, Whiteboard: [gfx-noted])

Crash Data

This bug was filed from the Socorro interface and is 
report bp-a12eabc5-55db-4cb3-98cc-a91a50170502.
=============================================================

Seen while looking at nightly crash stats - looks as if it is related to WebVR: http://bit.ly/2qpQZFL

29 crashes/10 installs. Crashes on other branches, but not as many as nightly.
All crash reason were pointed to EXCEPTION_ACCESS_VIOLATION_READ. It is bad thing that the last back trace frame was stopped in driver(libovrrt32_1.dll) so I couldn't see anything. The last back trace frame in Gecko were all in [1].

[1]: http://searchfox.org/mozilla-central/rev/abe68d5dad139e376d5521ca1d4b7892e1e7f1ba/gfx/vr/gfxVROculus.cpp#824

In minidump, access violation reading location pointed to 0x00000001. The address of sourceD3D11 also pointed to 0x00000001 but I am not sure there was any connection.


Kip, Daosheng, do your have any idea for this issue? Really thanks.
Flags: needinfo?(kgilbert)
Flags: needinfo?(dmu)
Whiteboard: [gfx-noted]
The 0x00000001 address of sourceD3D11 looks very strange. It seems that the IPC actor is destroyed at somewhere. Probably, we should check (mIPCOpen) at https://dxr.mozilla.org/mozilla-central/rev/a748acbebbde373a88868dc02910fb2bc5e6a023/gfx/vr/ipc/VRLayerParent.cpp#51.

Moreover, I think it could be a little bit risky if we don't check aSource->GetShaderResourceView() is nullptr at http://searchfox.org/mozilla-central/rev/abe68d5dad139e376d5521ca1d4b7892e1e7f1ba/gfx/vr/gfxVROculus.cpp#765.

This is just my two cent. Kip, might have more thought about this.
Flags: needinfo?(dmu)
It wouldn't hurt to have some additional validation for cases when DX11 resources fail to be allocated.  Hopefully this will reduce the occurrence of this crash.  I'd suggest we first implement the validation before looking for more complex causes.

Another possibility is that these are cases where the Oculus runtime is being updated while Firefox has an active VR presentation.  We no longer keep the Oculus runtime dll's loaded when presentations are not active; however, this is still possible during a normally active VR presentation.  Oculus has shared some details on these cases in the past; perhaps with more information we could find a correlation.
Flags: needinfo?(kgilbert)
I am finalizing work on Bug 1362213, and will take a look at this next if it hasn't been picked up by anyone else.
Bug 1287944 added a lot of error handling for the cases where DX11 resources fail to be allocated.
Bug 1321275 fixed issues with IPC shutdown during VR presentation.

The combination of these has likely eliminated this crash.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Assignee: nobody → kgilbert
Depends on: 1321275
Target Milestone: --- → mozilla56
You need to log in before you can comment on or make changes to this bug.