Crash in [@ mozilla::EventStateManager::LookForAccessKeyAndExecute]
Categories
(Core :: DOM: Core & HTML, defect, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr78 | --- | unaffected |
firefox-esr91 | --- | unaffected |
firefox91 | --- | unaffected |
firefox92 | --- | wontfix |
firefox93 | --- | fixed |
People
(Reporter: u608768, Assigned: edgar)
References
Details
(Keywords: crash)
Crash Data
Attachments
(3 files)
Maybe Fission related. (DOMFissionEnabled=1)
Crash report: https://crash-stats.mozilla.org/report/index/d8e36cda-d0ab-451a-9c10-af12d0210726
MOZ_CRASH Reason: MOZ_DIAGNOSTIC_ASSERT(length == mAccessKeys.Count())
Top 10 frames of crashing thread:
0 libxul.so mozilla::EventStateManager::LookForAccessKeyAndExecute dom/events/EventStateManager.cpp:1140
1 libxul.so mozilla::EventStateManager::WalkESMTreeToHandleAccessKey dom/events/EventStateManager.cpp:1248
2 libxul.so mozilla::EventStateManager::PreHandleEvent dom/events/EventStateManager.cpp:826
3 libxul.so mozilla::PresShell::EventHandler::DispatchEvent layout/base/PresShell.cpp:8218
4 libxul.so mozilla::PresShell::EventHandler::HandleEventWithCurrentEventInfo layout/base/PresShell.cpp:8187
5 libxul.so mozilla::PresShell::EventHandler::HandleEventAtFocusedContent layout/base/PresShell.cpp:7916
6 libxul.so mozilla::PresShell::EventHandler::HandleEvent layout/base/PresShell.cpp:6935
7 libxul.so mozilla::PresShell::HandleEvent layout/base/PresShell.cpp:6853
8 libxul.so nsViewManager::DispatchEvent view/nsViewManager.cpp:704
9 libxul.so nsView::HandleEvent view/nsView.cpp:1136
This was added in bug 1717020. pystub can reproduce, see bug 1717020 comment #7.
Comment 1•4 years ago
|
||
Looks like element->PerformAccesskey
can possibly run the event handlers, thus an access key can be removed from the array? Edgar would know how to fix this, maybe we need a data structure to know which access keys have been processed already?
Does this need a minimum repro page or is there enough details in the crash?
If yes, what would the best way to share it?
Comment 3•4 years ago
|
||
Yeah, it'd be great to have a minimum reproducible example. One could just write an HTML test case and attach it to the bug?
Aside from <head>
and text node adding, I couldn't remove anything else.
Assignee | ||
Comment 5•4 years ago
|
||
(In reply to pystub from comment #4)
Created attachment 9234585 [details]
minimal-accesskey-to-crash.html
Thanks for the test case!
(In reply to Sean Feng [:sefeng] from comment #1)
Looks like
element->PerformAccesskey
can possibly run the event handlers, thus an access key can be removed from the array? Edgar would know how to fix this, maybe we need a data structure to know which access keys have been processed already?
Thanks for adding MOZ_DIAGNOSTIC_ASSERT in bug 1717020.
Assignee | ||
Comment 6•4 years ago
|
||
Assignee | ||
Comment 7•4 years ago
|
||
even if the focus isn't changed.
Assignee | ||
Comment 8•4 years ago
|
||
Updated•4 years ago
|
Assignee | ||
Comment 9•4 years ago
•
|
||
Comment 10•4 years ago
|
||
Comment 11•4 years ago
|
||
Backed out for causing mochitest failures on test_bug226361.xhtml.
Backout link: https://hg.mozilla.org/integration/autoland/rev/ca83c0d8e6549b08ebdaa74ffd25ccfe4fb50cfd
Failure log: https://treeherder.mozilla.org/logviewer?job_id=348805396&repo=autoland&lineNumber=2001
Assignee | ||
Comment 12•4 years ago
|
||
(In reply to Atila Butkovits from comment #11)
Backed out for causing mochitest failures on test_bug226361.xhtml.
Hmm, strange, I could not reproduce this locally, but my local codebase is a bit old. Let me pull the latest code and try again.
Assignee | ||
Comment 13•4 years ago
|
||
Okay, it looks like the newly added test and somehow affects the test_bug226361.xhtml.
Assignee | ||
Comment 14•4 years ago
|
||
Comment 15•4 years ago
|
||
Comment 16•4 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/335db9369114
https://hg.mozilla.org/mozilla-central/rev/bc650f27bb1e
Updated•4 years ago
|
Description
•