Closed Bug 1994855 Opened 1 month ago Closed 1 month ago

Crash in [@ mozilla::widget::StatusBarEntry::OnMessage] (diagnostic assert)

Categories

(Core :: Widget: Win32, defect)

Unspecified
Windows 11
defect

Tracking

()

RESOLVED FIXED
146 Branch
Tracking Status
firefox-esr115 --- unaffected
firefox-esr140 --- unaffected
firefox144 --- unaffected
firefox145 --- unaffected
firefox146 --- fixed

People

(Reporter: mccr8, Assigned: emilio)

References

(Regression)

Details

(Keywords: crash, regression)

Crash Data

Attachments

(1 file)

Crash report: https://crash-stats.mozilla.org/report/index/03a04efd-945e-479a-addc-263fd0251015

MOZ_CRASH Reason:

MOZ_DIAGNOSTIC_ASSERT(widget)

Top 10 frames:

0  xul.dll  mozilla::widget::StatusBarEntry::OnMessage(HWND__*, unsigned int, unsigned lo...  widget/windows/SystemStatusBar.cpp:189
1  xul.dll  mozilla::widget::WindowProc(HWND__*, unsigned int, unsigned long long, long l...  widget/windows/SystemStatusBar.cpp:246
2  user32.dll  UserCallWinProcCheckWow(_ACTIVATION_CONTEXT*, int64_t (*)(tagWND*, unsigned i...
3  user32.dll  DispatchClientMessage
4  user32.dll  _fnDWORD
5  ntdll.dll  KiUserCallbackDispatch
6  win32u.dll  ZwUserPeekMessage
7  user32.dll  _PeekMessage(tagMSG*, HWND__*, unsigned int, unsigned int, unsigned int, unsi...
8  user32.dll  PeekMessageW
9  msctf.dll  CThreadInputMgr::PeekMessageW(tagMSG*, HWND__*, unsigned int, unsigned int, u...

This assertion is old, but it seems to have started showing up on Nightly 146, build id 20251014213342. Here is the set of changes in that build.

Emilio, could this be related to bug 1994157? That's the bug I found when I searched for "widget" in that change log. Thanks.

Flags: needinfo?(emilio)

This probably comes from bug 1933181 instead, but that assert is wrong afaict, it's not flushing and we're now creating the widget a bit later, so there might be a popupframe without a widget more often. Looking at https://hg-edge.mozilla.org/mozilla-central/rev/5823cb0f699866c8672cce50cf8e1cbceadc43aa it wasn't clear these asserts were correct to begin with.

Flags: needinfo?(emilio)

This spike probably comes from bug 1933181, but that assert is wrong
afaict. It's not flushing and we're now creating the widget a bit later,
so there might be a popupframe without a widget more often.

Looking at the commit that introduced these, it wasn't clear these
asserts were correct to begin with.

https://hg-edge.mozilla.org/mozilla-central/rev/5823cb0f699866c8672cce50cf8e1cbceadc43aa

I think the assert below (every widget hanging from a popup having an
hwnd) should hold.

Assignee: nobody → emilio
Status: NEW → ASSIGNED
Summary: Crash in [@ mozilla::widget::StatusBarEntry::OnMessage] → Crash in [@ mozilla::widget::StatusBarEntry::OnMessage] (diagnostic assert)
Status: ASSIGNED → RESOLVED
Closed: 1 month ago
Resolution: --- → FIXED
Target Milestone: --- → 146 Branch
Severity: -- → S3
QA Whiteboard: [qa-triage-done-c147/b146]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: