[CTW] Assertion failure: mCachedFields, at .../accessible/ipc/RemoteAccessibleBase.cpp:403
Categories
(Core :: Disability Access APIs, defect)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr91 | --- | unaffected |
firefox-esr102 | --- | disabled |
firefox103 | --- | disabled |
firefox104 | --- | disabled |
firefox105 | --- | fixed |
People
(Reporter: Jamie, Assigned: Jamie)
References
(Regression)
Details
(Keywords: regression, Whiteboard: [ctw-m3])
Attachments
(1 file)
I'm seeing this sometimes when loading/refreshing/moving away from some pages; e.g. https://webcache.googleusercontent.com/search?q=cache:YfR4odEq9z4J:https://github.com/processhacker/processhacker/blob/master/ProcessHacker/notifico.c+&cd=7&hl=en&ct=clnk&gl=au&client=firefox-b-d
Assertion failure: mCachedFields, at C:/Users/jamie/src/gecko/accessible/ipc/RemoteAccessibleBase.cpp:403
#01: mozilla::a11y::RemoteAccessibleBase<mozilla::a11y::RemoteAccessible>::RetrieveCachedBounds (C:\Users\jamie\src\gecko\accessible\ipc\RemoteAccessibleBase.cpp:403)
#02: mozilla::a11y::RemoteAccessibleBase<mozilla::a11y::RemoteAccessible>::BoundsWithOffset (C:\Users\jamie\src\gecko\accessible\ipc\RemoteAccessibleBase.cpp:505)
#03: mozilla::a11y::RemoteAccessibleBase<mozilla::a11y::RemoteAccessible>::Bounds (C:\Users\jamie\src\gecko\accessible\ipc\RemoteAccessibleBase.cpp:613)
#04: mozilla::a11y::RemoteAccessible::Bounds (C:\Users\jamie\src\gecko\accessible\ipc\win\RemoteAccessible.cpp:233)
#05: mozilla::a11y::MsaaAccessible::accLocation (C:\Users\jamie\src\gecko\accessible\windows\msaa\MsaaAccessible.cpp:1530)
#06: nvdaInProcUtils_winword_expandToLine[C:\Program Files (x86)\NVDA\lib64\alpha-23364,b7dd32fc\nvdaHelperRemote.dll +0x714d4]
...
It's entirely possible that mCachedFields might be null when a client tries to query the location because the cache is pushed separately from the tree and a client call could arrive between those two IPDL calls. Before bug 1771271, we allowed mCachedFields to be null on this, but not on an ancestor. After bug 1771271, we allow (but assert for) null in both cases.
In bug 1771271, we weren't sure why mCachedFields should be null on an ancestor. However, this is probably possible in the case of OOP iframes, since IPDL calls from both documents could be interspersed.
I think we should just remove the assert.
Assignee | ||
Comment 1•2 years ago
|
||
This is possible if a client query arrives between the two IPDL calls for the tree and the cache.
This might even happen for an ancestor in the case of an OOP iframe, where IPDL calls for the two documents might be interspersed.
Assignee | ||
Updated•2 years ago
|
Comment 2•2 years ago
|
||
Set release status flags based on info from the regressing bug 1771271
Assignee | ||
Updated•2 years ago
|
Pushed by jteh@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/22c38fa47796 Don't assert that mCachedFields isn't null in RemoteAccessibleBase::RetrieveCachedBounds. r=morgan
Comment 4•2 years ago
|
||
bugherder |
Description
•