Frequent hangs in SHAppBarMessage
Categories
(Core :: Widget: Win32, defect)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr78 | --- | unaffected |
firefox87 | --- | unaffected |
firefox88 | --- | fixed |
firefox89 | --- | fixed |
People
(Reporter: florian, Assigned: emilio)
References
(Regression)
Details
(Keywords: perf, regression)
Attachments
(2 files)
48 bytes,
text/x-phabricator-request
|
Details | Review | |
2.19 KB,
text/plain
|
RyanVM
:
approval-mozilla-beta+
|
Details |
When looking at the BHR data for the 20210402 nightly, hangs in SHAppBarMessage
represent more than %1 of the total reported hang time.
Here is the reported stack:
NtUserFindWindowEx win32u
FindWindowW user32
SHAppBarMessage shell32
nsLookAndFeel::NativeGetInt(mozilla::LookAndFeel::IntID, int&) xul
mozilla::widget::AddIDsToMap(nsXPLookAndFeel*, mozilla::widget::FullLookAndFeel*, bool, bool) xul
std::_Func_impl_no_alloc<`lambda at /builds/worker/checkouts/gecko/widget/RemoteLookAndFeel.cpp:216:39',void,const mozilla::widget::LookAndFeelTheme &,bool>::_Do_call(mozilla::widget::LookAndFeelTheme xul
nsXPLookAndFeel::WithThemeConfiguredForContent(std::function<void (const mozilla::widget::LookAndFeelTheme &, bool)> const&) xul
static mozilla::widget::RemoteLookAndFeel::ExtractData() xul
static mozilla::dom::ContentParent::BroadcastThemeUpdate(mozilla::widget::ThemeChangeKind) xul
nsPresContext::ThemeChangedInternal() xul
mozilla::detail::RunnableMethodImpl<(anonymous namespace)::HangMonitorChild *,void ((anonymous namespace)::HangMonitorChild::*)(),0,mozilla::RunnableKind::Standard>::Run() xul
mozilla::TaskController::DoExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex &> const&) xul
I don't remember seeing these stacks in hang data before; so it's either a recent regression in our code, or something external (OS code, or third party software).
Emilio, it looks like you touched the RemoteLookAndFeel::ExtractData
code in this stack recently in bug 1701825. How likely is this to be a regression from bug 1701825?
Assignee | ||
Comment 1•3 years ago
|
||
Fairly unlikely. If this is an issue, it is more likely to be from e.g. bug 1697607.
Bug 1701825 changed the stack (introduced the AddIDsToMap
function), but there should be no meaningful behavior change on Windows from that bug.
Looking at the code, that points to this line of code. We are querying this in order to send it to the content process, but this particular value is only read from the parent process. So we could potentially optimize this out.
Reporter | ||
Comment 2•3 years ago
|
||
(In reply to Emilio Cobos Álvarez (:emilio) from comment #1)
Fairly unlikely. If this is an issue, it is more likely to be from e.g. bug 1697607.
Thanks!
Looking at the code, that points to this line of code. We are querying this in order to send it to the content process, but this particular value is only read from the parent process. So we could potentially optimize this out.
Would you be the right person to work on this? If not, do you have anybody in mind that we could needinfo?
Updated•3 years ago
|
Assignee | ||
Comment 3•3 years ago
|
||
Since it's not read by child processes and it seems it might be
expensive to get on windows.
Updated•3 years ago
|
Comment 4•3 years ago
|
||
Set release status flags based on info from the regressing bug 1697607
Pushed by ealvarez@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/b596dd98fa2e Don't query AlertNotificationOrigin from RemoteLookAndFeel. r=cmartin
Comment 6•3 years ago
|
||
bugherder |
Comment 7•3 years ago
|
||
Is this worth uplifting to Beta given where we are in the cycle? It'll need a bit of rebasing if yes.
Assignee | ||
Comment 8•3 years ago
|
||
Approval Request Comment
[Feature/Bug causing the regression]: bug 1697607
[User impact if declined]: comment 0
[Is this code covered by automated tests?]: Yes
[Has the fix been verified in Nightly?]: No
[Needs manual test from QE? If yes, steps to reproduce]: No
[List of other uplifts needed for the feature/fix]: None
[Is the change risky?]: no
[Why is the change risky/not risky?]: Not query stuff that isn't needed.
[String changes made/needed]: none
Comment 9•3 years ago
|
||
Comment on attachment 9214143 [details]
Beta patch
Approved for 88.0b9.
Comment 10•3 years ago
|
||
bugherder uplift |
Description
•