Closed Bug 1350682 Opened 7 years ago Closed 7 years ago

Crash in mozalloc_abort | NS_DebugBreak | mozilla::ipc::LogicError | mozilla::layers::PVideoBridge::Transition

Categories

(Core :: WebVR, defect)

52 Branch
Unspecified
Windows 10
defect
Not set
critical

Tracking

()

RESOLVED FIXED
mozilla55
Tracking Status
firefox52 --- unaffected
firefox-esr52 --- unaffected
firefox53 --- unaffected
firefox54 --- unaffected
firefox55 --- fixed

People

(Reporter: calixte, Assigned: daoshengmu)

References

(Blocks 1 open bug)

Details

(Keywords: crash, regression, Whiteboard: [clouseau])

Crash Data

Attachments

(1 file)

This bug was filed from the Socorro interface and is 
report bp-31ad1de6-652d-4cc5-a347-886332170326.
=============================================================

There are 2 crashes in nightly 55 with buildid 20170325030203. In analyzing the backtrace, the regression may have been introduced by patch [1] to fix bug 1299937.

[1] https://hg.mozilla.org/mozilla-central/rev?node=5d8e162ef5f73106037a6ad5c34770f26ab86447
Flags: needinfo?(dmu)
I think it would be something wrong from the IPDL build tool, we can try the clobber build and see what's happened next. Ideally, PVRManagerChild::SendStopVibrateHaptic should be "PVRManager::Transition(PVRManager::Msg_StopVibrateHaptic__ID, (&(mState)));" I will keep following this bug if it can be reproduced again.
Flags: needinfo?(dmu)
There are 2 new crashes with signature "mozalloc_abort | NS_DebugBreak | mozilla::ipc::LogicError | mozilla::gfx::PVsyncBridge::Transition".
Crash Signature: [@ mozalloc_abort | NS_DebugBreak | mozilla::ipc::LogicError | mozilla::layers::PVideoBridge::Transition] → [@ mozalloc_abort | NS_DebugBreak | mozilla::ipc::LogicError | mozilla::layers::PVideoBridge::Transition] [@ mozalloc_abort | NS_DebugBreak | mozilla::ipc::LogicError | mozilla::gfx::PVsyncBridge::Transition ]
It seems to be the actor of VRManagerChild has been deleted at somewhere. After some investigation, I don't find anything that is related to PVRManagerParent::Send__delete__(). I would like to add an assertion to help me determine whether it is because mVRChannelChild is deleted already.

Btw, I still think using a raw pointer for VRManagerChild is better than a RefPtr. If the root cause is the actor is deleted, we should just need to check IsDeleted().
Comment on attachment 8851891 [details]
Bug 1350682 - Call VRManagerChild getter when need it at GamepadManager instead of keeping it;

https://reviewboard.mozilla.org/r/124124/#review126702

LGTM
Attachment #8851891 - Flags: review?(cleu) → review+
(In reply to Daosheng Mu[:daoshengmu] from comment #5)
> Comment on attachment 8851891 [details]
> Bug 1350682 - Call VRManagerChild getter when need it at GamepadManager
> instead of keeping it;
> 
> Review request updated; see interdiff:
> https://reviewboard.mozilla.org/r/124124/diff/1-2/

I think it is pretty much like the original mVRManagerChild has been deleted when the sVRManagerChildSingleton is assigned by a new one. Therefore, using VRManagerChild::Get() is more correct.
Assignee: nobody → dmu
Comment on attachment 8851891 [details]
Bug 1350682 - Call VRManagerChild getter when need it at GamepadManager instead of keeping it;

https://reviewboard.mozilla.org/r/124124/#review127192

This LGTM, Thanks!
Attachment #8851891 - Flags: review?(kgilbert) → review+
Pushed by dmu@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/ba032e6ed34b
Call VRManagerChild getter when need it at GamepadManager instead of keeping it; r=kip,Lenzak
https://hg.mozilla.org/mozilla-central/rev/ba032e6ed34b
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla55
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: