It is the same result as our recent bugs of Bug 1537692 and Bug 1539119 that are caused by `VRGPUChild::ActorDestroy()` VRManager->Shutdown();. It looks like a race condition problem between `compositorThread` and `mainthread` when both of them are accessing mVRDisplay. We were using` mTaskTimer->SetTarget(CompositorThreadHolder::Loop()->SerialEventTarget())` to call `VRManager::Run10msTasks`, but when VR process or thread shutdown, we call `vm->Shutdown()` at `VRGPUChild::ActorDestroy` from the main thread. I think we should make ``vm->Shutdown()` be called in the compositor thread as well.
Bug 1540590 Comment 1 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
It has the same result as our recent bugs of Bug 1537692 and Bug 1539119 that are caused by `VRGPUChild::ActorDestroy()` VRManager->Shutdown();. It looks like a race condition problem between `compositorThread` and `mainthread` when both of them are accessing mVRDisplay. We were using` mTaskTimer->SetTarget(CompositorThreadHolder::Loop()->SerialEventTarget())` to call `VRManager::Run10msTasks`, but when VR process or thread shutdown, we call `vm->Shutdown()` at `VRGPUChild::ActorDestroy` from the main thread. I think we should make ``vm->Shutdown()` be called in the compositor thread as well.