Closed Bug 1267150 Opened 8 years ago Closed 8 years ago

[webvr] Crash in libovrrt32_1.dll@0xc65f

Categories

(Core :: Graphics, defect)

48 Branch
x86
Windows NT
defect
Not set
critical

Tracking

()

RESOLVED WORKSFORME
Tracking Status
firefox48 --- affected
firefox49 --- affected
firefox50 --- affected
firefox51 --- affected

People

(Reporter: Sylvestre, Unassigned)

References

Details

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

Crash Data

This bug was filed from the Socorro interface and is 
report bp-ba41125e-bcc0-4db3-9382-545272160421.
=============================================================

Looks like a WebVR related crash:

 Ø 2 	libovrrt32_1.dll	libovrrt32_1.dll@0x3002b
3 	xul.dll	mozilla::gfx::impl::HMDInfoOculus::SubmitFrame(mozilla::gfx::VRHMDRenderingSupport::RenderTargetSet*, int)
4 	xul.dll	mozilla::layers::ContainerRenderVR<mozilla::layers::ContainerLayerComposite>(mozilla::layers::ContainerLayerComposite*, mozilla::layers::LayerManagerComposite*, mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> const&, RefPtr<mozilla::gfx::VRHMDInfo>)
5 	d3d11.dll	NDXGI::CResource::QIKeyedMutex(void*, _GUID const&, void**, unsigned long)
Kip, does it ring a bell? Thanks
Flags: needinfo?(kgilbert)
This first appeared in Nightly 20160420030213. It has occurred 28 times across 6 installations. If I've done it correctly, the changesets for that Nightly are here:

https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=ae7413abfa4d3954a6a4ce7c1613a7100f367f9a&tochange=f05a1242fb29023bd7ebc492897ed3d6907733c7
Crashes for me in today's nightly build when trying to go to webvr mode for the oculus dk2.
2016-05-03-03-04-21
Summary: crash in libovrrt32_1.dll@0xc65f → [webvr] crash in libovrrt32_1.dll@0xc65f
I tried with a new profile; I had uninstalled and reinstalled the nightly.
I uninstalled the nightly from today and reinstalled yesterday's build and it works fine.

My guess is there might be a patch that caused this regression to occur.  Checking regression window.
Both the latest inbound and fx-team works.  Not sure which other branch to check?  triple verified that I was running into the crash with today's nightly once again to make sure I can continue to reproduce.  I can.
Looks like all the crashes for today's build are from me, there are a couple of crashes that have a different stack like : https://crash-stats.mozilla.com/report/index/acab71c2-ed2f-47fa-89b9-6f4c72160503

This stack is from creating a new profile.

I'm not sure if it's just a bad build from MC (Mozilla Central) or what.  Will test tomorrow.
(In reply to Naoki Hirata :nhirata (please use needinfo instead of cc) from comment #6)
> Looks like all the crashes for today's build are from me

In Nightly 20160501030217 there are 12 crashes from three different installations. The crash address is 0x1 in all of them.

Vlad, any ideas? Kip has not responded to the needinfo request from 9 days ago. Does this code only run if you try to use the VR functionality?
Flags: needinfo?(vladimir)
This only runs if VR is enabled (via pref, default on on nightly), and if content is actively using VR functionality, even beyond just enumerating VR devices.

But this possibly looks like bad lookups of function pointers, especially if the crash address is 0x1.
Flags: needinfo?(vladimir)
Today's build doesn't show the issue:https://hg.mozilla.org/mozilla-central/rev/369a5ee3a2880a4a98df3a00bf3db8d8f36b181b

Only yesterdays: https://hg.mozilla.org/mozilla-central/shortlog/9f866b72af4a3c4520205d55c60aa74548682c4a

Not sure about the crashes that Nick pointed out to; I do know that oculus runtime 1.3.2 came out I think in 4/30; which could contribute to the crashes that happened on the 5/1 build.

I found that today's build has been stable for me for WebVr for the Oculus DK2; I don't have a Vive so I can't test on that yet.
Whiteboard: [gfx-noted]
We have some crash reports at libovrrt32_1.dll@0xd44e with the same stack trace and the same crash address (0x1).
Crash Signature: [@ libovrrt32_1.dll@0xc65f] → [@ libovrrt32_1.dll@0xc65f] [@ libovrrt32_1.dll@0xd44e]
Today's build also crashes.  

What I found out is that there's two different crash stacks that have the same crash signatures:
1) if you have the oculus device plugged in already and then start up the browser, go to aframe.io, and then go to webvr mode, it crashes with this stack : https://crash-stats.mozilla.com/report/index/8c5a0cc9-5e77-470a-a6f7-983e22160517

2) If you unplug the oculus device, plug the device in, and then startup the browser go to aframe.io and go to webvr mode : https://crash-stats.mozilla.com/report/index/eec94bbc-4023-4e23-a2e3-2ccfd2160517

3) If you have the oculus unplugged or if the oculus is turned off and then go to webvr mode, it doesn't crash.

So there's some weird interaction that's causing a crash between the oculus driver and the browser is my guess.
I found that I had x32 bit and that crashed where as the x64 version does not.  Checking to see if this is the pattern.
I believe that this is the case.  We need some sort of protection around the x32 bit version connecting to the oculus.
Crash Signature: [@ libovrrt32_1.dll@0xc65f] [@ libovrrt32_1.dll@0xd44e] → [@ libovrrt32_1.dll@0xc65f] [@ libovrrt32_1.dll@0xd44e] [@ libovrrt32_1.dll@0xdd0f]
Crash Signature: [@ libovrrt32_1.dll@0xc65f] [@ libovrrt32_1.dll@0xd44e] [@ libovrrt32_1.dll@0xdd0f] → [@ libovrrt32_1.dll@0xc65f] [@ libovrrt32_1.dll@0xd44e] [@ libovrrt32_1.dll@0xdd0f] [@ libovrrt32_1.dll@0xdcff]
Crash volume for signature 'libovrrt32_1.dll@0xdd0f':
 - nightly (version 50): 218 crashes from 2016-06-06.
 - aurora  (version 49): 16 crashes from 2016-06-07.
 - beta    (version 48): 0 crash from 2016-06-06.
 - release (version 47): 0 crash from 2016-05-31.
 - esr     (version 45): 0 crash from 2016-04-07.

Crash volume on the last weeks:
             Week N-1   Week N-2   Week N-3   Week N-4   Week N-5   Week N-6   Week N-7
 - nightly          0         49         75         67         27          0          0
 - aurora           0          0          3         12          1          0          0
 - beta             0          0          0          0          0          0          0
 - release          0          0          0          0          0          0          0
 - esr              0          0          0          0          0          0          0

Affected platform: Windows
Crash Signature: [@ libovrrt32_1.dll@0xc65f] [@ libovrrt32_1.dll@0xd44e] [@ libovrrt32_1.dll@0xdd0f] [@ libovrrt32_1.dll@0xdcff] → [@ libovrrt32_1.dll@0xc65f] [@ libovrrt32_1.dll@0xd44e] [@ libovrrt32_1.dll@0xdd0f] [@ libovrrt32_1.dll@0xdcff] [@ libovrrt32_1.dll@0x1696f]
The WebVR 1.0 implementation that has just landed replaces most of the code involved in this call stack.

Once Bug 1297105 lands, hopefully this will help with any remaining crashes here.
Flags: needinfo?(kgilbert)
Crash volume for signature 'libovrrt32_1.dll@0xdcff':
 - nightly (version 51): 39 crashes from 2016-08-01.
 - aurora  (version 50): 17 crashes from 2016-08-01.
 - beta    (version 49): 0 crashes from 2016-08-02.
 - release (version 48): 14 crashes from 2016-07-25.
 - esr     (version 45): 0 crashes from 2016-05-02.

Crash volume on the last weeks (Week N is from 08-22 to 08-28):
            W. N-1  W. N-2  W. N-3
 - nightly       4      14      21
 - aurora        0      12       5
 - beta          0       0       0
 - release       0       6       8
 - esr           0       0       0

Affected platform: Windows

Crash rank on the last 7 days:
             Browser   Content   Plugin
 - nightly
 - aurora
 - beta
 - release
 - esr
Crash volume for signature 'libovrrt32_1.dll@0x1696f':
 - nightly (version 51): 42 crashes from 2016-08-01.
 - aurora  (version 50): 16 crashes from 2016-08-01.
 - beta    (version 49): 0 crashes from 2016-08-02.
 - release (version 48): 13 crashes from 2016-07-25.
 - esr     (version 45): 0 crashes from 2016-05-02.

Crash volume on the last weeks (Week N is from 08-22 to 08-28):
            W. N-1  W. N-2  W. N-3
 - nightly       9      13       0
 - aurora        7       1       0
 - beta          0       0       0
 - release       9       2       0
 - esr           0       0       0

Affected platform: Windows

Crash rank on the last 7 days:
           Browser     Content   Plugin
 - nightly #30
 - aurora  #90
 - beta
 - release #3265
 - esr
Only two of these signatures were seen in the last 2 days, and they seemed to both be from the same call site. I filed bug 1305868 on getting symbols added for this DLL so the signature will be more useful.
Crash Signature: [@ libovrrt32_1.dll@0xc65f] [@ libovrrt32_1.dll@0xd44e] [@ libovrrt32_1.dll@0xdd0f] [@ libovrrt32_1.dll@0xdcff] [@ libovrrt32_1.dll@0x1696f] → [@ libovrrt32_1.dll@0xc65f] [@ libovrrt32_1.dll@0xd44e] [@ libovrrt32_1.dll@0xdd0f] [@ libovrrt32_1.dll@0xdcff] [@ libovrrt32_1.dll@0x1696f] [@ libovrrt32_1.dll@0x1b9fe]
Depends on: 1305868
Please note that in Bug 1305873, we will be updating the Oculus Runtime from 1.3 to 1.8.  This may have some effect on this crash frequency.
See Also: → 1305873
Crash Signature: [@ libovrrt32_1.dll@0xc65f] [@ libovrrt32_1.dll@0xd44e] [@ libovrrt32_1.dll@0xdd0f] [@ libovrrt32_1.dll@0xdcff] [@ libovrrt32_1.dll@0x1696f] [@ libovrrt32_1.dll@0x1b9fe] → [@ libovrrt32_1.dll@0xc65f] [@ libovrrt32_1.dll@0xd44e] [@ libovrrt32_1.dll@0xdd0f] [@ libovrrt32_1.dll@0xdcff] [@ libovrrt32_1.dll@0x1696f] [@ libovrrt32_1.dll@0x1b9fe] [@ libovrrt32_1.dll@0x1bc5e]
Whiteboard: [gfx-noted] → [gfx-noted][webvr]
Summary: [webvr] crash in libovrrt32_1.dll@0xc65f → [webvr] Crash in libovrrt32_1.dll@0xc65f
All of the linked crashes haven't happened. I do see some other libovrrt crashes but I'll file a new bug for those.
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → WORKSFORME
See Also: → 1321618
You need to log in before you can comment on or make changes to this bug.