Closed
Bug 1489317
Opened 6 years ago
Closed 6 years ago
Crash in OXIDEntry::StartServer
Categories
(Core :: Widget: Win32, defect)
Tracking
()
RESOLVED
FIXED
mozilla64
Tracking | Status | |
---|---|---|
firefox-esr60 | --- | unaffected |
firefox62 | --- | unaffected |
firefox63 | --- | fixed |
firefox64 | --- | fixed |
People
(Reporter: philipp, Assigned: bugzilla)
References
Details
(Keywords: crash, regression)
Crash Data
Attachments
(4 files)
46 bytes,
text/x-phabricator-request
|
froydnj
:
review+
|
Details | Review |
46 bytes,
text/x-phabricator-request
|
froydnj
:
review+
|
Details | Review |
46 bytes,
text/x-phabricator-request
|
molly
:
review+
pascalc
:
approval-mozilla-beta+
|
Details | Review |
46 bytes,
text/x-phabricator-request
|
molly
:
review+
|
Details | Review |
This bug was filed from the Socorro interface and is report bp-829d8200-3d63-4bb7-94c0-586920180906. ============================================================= Top 10 frames of crashing thread: 0 ole32.dll OXIDEntry::StartServer 1 ole32.dll CComApartment::StartServer 2 ole32.dll AppInvoke 3 ole32.dll CDllHost::GetApartmentToken 4 ole32.dll CClassCache::GetActivatorFromDllHost 5 ole32.dll CProcessActivator::GetApartmentActivator 6 ole32.dll CProcessActivator::CCICallback 7 ole32.dll CProcessActivator::AttemptActivation 8 ole32.dll CProcessActivator::ActivateByContext 9 ole32.dll CProcessActivator::CreateInstance ============================================================= this crash signature is becoming somewhat more common during the 63 cycle on windows 7. the first nightly exhibiting this was 63.0a1 build 20180719220047.
Assignee | ||
Comment 1•6 years ago
|
||
This looks like fallout from bug 1425144.
Assignee | ||
Comment 2•6 years ago
|
||
I'll take this, as it actually requires some mscom magic.
Assignee: nobody → aklotz
Status: NEW → ASSIGNED
Assignee | ||
Comment 3•6 years ago
|
||
I'd like to add a constructor and operator= to RefPtr for mscom::AgileReference. This patch is simply the forward declarations to allow for that.
Assignee | ||
Comment 4•6 years ago
|
||
This patch adds the definitions of the RefPtr constructor and operator=. It also refactors some stuff in AgileReference to make these objects easier to use. Since it's just a bunch of C++ goop, I figured that you'd be fine to review this. Let me know if you want to add a reviewer who is more familiar with the COM nuances. Depends on D5317
Assignee | ||
Comment 5•6 years ago
|
||
Depends on D5318
Assignee | ||
Comment 6•6 years ago
|
||
Depends on D5321
Comment 7•6 years ago
|
||
Comment on attachment 9007365 [details] Bug 1489317: Part 4 - Add asssertion that COM is initialized on the thread that is resolving an agile reference; r=mhowell! Matt Howell [:mhowell] has approved the revision.
Attachment #9007365 -
Flags: review+
Comment 8•6 years ago
|
||
Comment on attachment 9007363 [details] Bug 1489317: Part 3 - Use an agile reference for JumpListBuilder::mJumpListMgr to ensure smooth transition between apartments; r=mhowell! Matt Howell [:mhowell] has approved the revision.
Attachment #9007363 -
Flags: review+
Comment 9•6 years ago
|
||
Comment on attachment 9007359 [details] Bug 1489317: Part 1 - Add forward declaration for mscom::AgileReference to RefPtr; r=froydnj! Nathan Froyd [:froydnj] has approved the revision.
Attachment #9007359 -
Flags: review+
Comment 10•6 years ago
|
||
Comment on attachment 9007360 [details] Bug 1489317: Part 2 - Improvements to mscom::AgileReference; r=froydnj! Nathan Froyd [:froydnj] has approved the revision.
Attachment #9007360 -
Flags: review+
Comment 11•6 years ago
|
||
Pushed by aklotz@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/0f8554d82b32 Part 1 - Add forward delcaration for mscom::AgileReference to RefPtr; r=froydnj https://hg.mozilla.org/integration/autoland/rev/e0535e0450c8 Part 2 - Improvements to mscom::AgileReference; r=froydnj https://hg.mozilla.org/integration/autoland/rev/9d444f92b939 Part 3 - Use an agile reference for JumpListBuilder::mJumpListMgr to ensure smooth transition between apartments; r=mhowell https://hg.mozilla.org/integration/autoland/rev/8cf95604ce94 Part 4 - Add asssertion that COM is initialized on the thread that is resolving an agile reference; r=mhowell
Assignee | ||
Comment 12•6 years ago
|
||
If this shows up in perf profiles again, then we'll have to be even more aggressive and only create/interact with ICustomDestinationList objects off main thread, in a multi-threaded apartment. I checked the registry configuration for this interface's Proxy/Stub class, and its threading model is classified as "Both." We'll hold off on that for now, unless we see more perf issues crop up.
Comment 13•6 years ago
|
||
Backed out 4 changesets (bug 1489317) for causing Windows test failures push that caused the backout: https://treeherder.mozilla.org/#/jobs?repo=autoland&revision=8cf95604ce946196367410a3987377ec32b492c6&filter-resultStatus=testfailed&filter-resultStatus=busted&filter-resultStatus=exception&filter-classifiedState=unclassified https://hg.mozilla.org/integration/autoland/rev/b9c9088a486865ec1a5275a5a9bd960cfd7e36a1
Flags: needinfo?(aklotz)
Comment 14•6 years ago
|
||
Pushed by aklotz@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/2787fb454f40 Part 1 - Add forward delcaration for mscom::AgileReference to RefPtr; r=froydnj https://hg.mozilla.org/integration/autoland/rev/62b404e59c32 Part 2 - Improvements to mscom::AgileReference; r=froydnj https://hg.mozilla.org/integration/autoland/rev/b340f5acb7b5 Part 3 - Use an agile reference for JumpListBuilder::mJumpListMgr to ensure smooth transition between apartments; r=mhowell https://hg.mozilla.org/integration/autoland/rev/07b44bee061c Part 4 - Add asssertion that COM is initialized on the thread that is resolving an agile reference; r=mhowell
Comment 15•6 years ago
|
||
Backed out 4 changesets (bug 1489317) for windows test failures push that caused the backout: https://treeherder.mozilla.org/#/jobs?repo=autoland&revision=07b44bee061cf080e70e6872f5f15e22e23819e0&filter-resultStatus=testfailed&filter-resultStatus=busted&filter-resultStatus=exception&filter-classifiedState=unclassified&filter-searchStr=windows backout: https://hg.mozilla.org/integration/autoland/rev/91136930be6477b2c2495e2045874c437a9a94bb
Comment 16•6 years ago
|
||
Pushed by apavel@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/fddf77dc2f9d Part 1 - Add forward delcaration for mscom::AgileReference to RefPtr; r=froydnj https://hg.mozilla.org/integration/autoland/rev/d5d432fd2433 Part 2 - Improvements to mscom::AgileReference; r=froydnj https://hg.mozilla.org/integration/autoland/rev/7528056ab631 Part 3 - Use an agile reference for JumpListBuilder::mJumpListMgr to ensure smooth transition between apartments; r=mhowell https://hg.mozilla.org/integration/autoland/rev/e35a9b02675b Part 4 - Add asssertion that COM is initialized on the thread that is resolving an agile reference; r=mhowell
Assignee | ||
Comment 17•6 years ago
|
||
Ugh. Okay, so there are problems because of that recursive mutex. On the lazy idle thread, we make a call to the proxied interface. That call now needs the main thread to pump messages. Meanwhile, the main thread is trying to call a different method on the jump list builder, and is blocked on the recursive mutex. We either need to replace the Gecko recursive mutex such that we can call CoWaitForMultipleHandles, or we need to do the full refactoring of this code to use the multithreaded apartment.
Flags: needinfo?(aklotz)
Comment 18•6 years ago
|
||
Backout by csabou@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/151b11e40af6 Backed out 4 changesets for causing multiple windows tests timeouts. CLOSED TREE
Comment 19•6 years ago
|
||
Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&filter-resultStatus=testfailed&filter-resultStatus=busted&filter-resultStatus=exception&fromchange=e35a9b02675b53de79540d8623a80407214885d2&tochange=151b11e40af6f9ce57519999f228887fa243a292&selectedJob=198573006 Failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=198573006&repo=autoland&lineNumber=5976 https://treeherder.mozilla.org/logviewer.html#?job_id=198573007&repo=autoland&lineNumber=26089 https://treeherder.mozilla.org/logviewer.html#?job_id=198572609&repo=autoland&lineNumber=40964 https://treeherder.mozilla.org/logviewer.html#?job_id=198574580&repo=autoland&lineNumber=7118 Backout link: https://hg.mozilla.org/integration/autoland/rev/151b11e40af6f9ce57519999f228887fa243a292
Flags: needinfo?(aklotz)
Assignee | ||
Comment 20•6 years ago
|
||
(In reply to Aaron Klotz [:aklotz] from comment #17) > We either need to replace the Gecko recursive mutex such that we can call > CoWaitForMultipleHandles, or we need to do the full refactoring of this code > to use the multithreaded apartment. There's a third option. We create the COM object in the MTA. That probably requires the least amount of code churn, provided that it works as expected...
Flags: needinfo?(aklotz)
Assignee | ||
Comment 21•6 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=c2770e765cfcfac89b8a072b9ba657887f6ed955
Updated•6 years ago
|
Attachment #9007359 -
Attachment description: Bug 1489317: Part 1 - Add forward delcaration for mscom::AgileReference to RefPtr; r=froydnj! → Bug 1489317: Part 1 - Add forward declaration for mscom::AgileReference to RefPtr; r=froydnj!
Comment 22•6 years ago
|
||
Pushed by aklotz@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/552e33e562c3 Part 1 - Add forward declaration for mscom::AgileReference to RefPtr; r=froydnj https://hg.mozilla.org/integration/autoland/rev/9c47b5b35399 Part 2 - Improvements to mscom::AgileReference; r=froydnj https://hg.mozilla.org/integration/autoland/rev/7b7af15e22ed Part 3 - Use an agile reference for JumpListBuilder::mJumpListMgr to ensure smooth transition between apartments; r=mhowell https://hg.mozilla.org/integration/autoland/rev/e03c9835c643 Part 4 - Add asssertion that COM is initialized on the thread that is resolving an agile reference; r=mhowell
Comment 23•6 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/552e33e562c3 https://hg.mozilla.org/mozilla-central/rev/9c47b5b35399 https://hg.mozilla.org/mozilla-central/rev/7b7af15e22ed https://hg.mozilla.org/mozilla-central/rev/e03c9835c643
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla64
Comment 24•6 years ago
|
||
Aaron, could your request an uplift to beta when you get a chance? We could uplift it after checking that the crashes are fixed on nightly.Thanks
Flags: needinfo?(aklotz)
Assignee | ||
Comment 25•6 years ago
|
||
Comment on attachment 9007363 [details] Bug 1489317: Part 3 - Use an agile reference for JumpListBuilder::mJumpListMgr to ensure smooth transition between apartments; r=mhowell! Approval Request Comment [Feature/Bug causing the regression]: bug 1425144 [User impact if declined]: Crashes under certain timing conditions [Is this code covered by automated tests?]: Yes [Has the fix been verified in Nightly?]: Yes [Needs manual test from QE? If yes, steps to reproduce]: No [List of other uplifts needed for the feature/fix]: All patches in this bug [Is the change risky?]: Low risk [Why is the change risky/not risky?]: Well understood fix. [String changes made/needed]: None
Flags: needinfo?(aklotz)
Attachment #9007363 -
Flags: approval-mozilla-beta?
Comment 26•6 years ago
|
||
Comment on attachment 9007363 [details] Bug 1489317: Part 3 - Use an agile reference for JumpListBuilder::mJumpListMgr to ensure smooth transition between apartments; r=mhowell! No crashes since it landed, uplift approved for 63 beta 7, thanks.
Attachment #9007363 -
Flags: approval-mozilla-beta? → approval-mozilla-beta+
Comment 27•6 years ago
|
||
bugherder uplift |
https://hg.mozilla.org/releases/mozilla-beta/rev/8344af6b480d https://hg.mozilla.org/releases/mozilla-beta/rev/d9b447bdf5e9 https://hg.mozilla.org/releases/mozilla-beta/rev/e7f051b7650e https://hg.mozilla.org/releases/mozilla-beta/rev/fe879d96c14b
You need to log in
before you can comment on or make changes to this bug.
Description
•