Closed Bug 1757257 Opened 3 years ago Closed 3 years ago

Firefox consistently hits MOZ_ASSERT(rootFrame, "No frame for accessible!") with cache enabled

Categories

(Core :: Disability Access APIs, task, P2)

task

Tracking

()

RESOLVED FIXED
99 Branch
Tracking Status
firefox99 --- fixed

People

(Reporter: morgan, Assigned: Jamie)

References

Details

Attachments

(1 file)

STR:

  1. Build firefox with the debug flag enabled
  2. Run any test with the cache pref enabled (ex. ./mach mochitest accessible/tests/browser/bounds/browser_zero_area.js --setpref accessibility.cache.enabled=true)

Expected:
We don't hit this assert

Actual:
we do :)

Not sure if this is mac specific, but I've only reproduced it there

OS: Unspecified → macOS
Priority: -- → P2
Hardware: Unspecified → Desktop

Stack trace:

#01: mozilla::a11y::TextAttrsMgr::GetAttributes(mozilla::a11y::AccAttributes*, unsigned int*, unsigned int*)[/Users/mraereschenberg/test-moz/obj-x86_64-apple-darwin21.3.0/toolkit/library/build/XUL +0x5bc0db8]
#02: mozilla::a11y::HyperTextAccessible::DefaultTextAttributes()[/Users/mraereschenberg/test-moz/obj-x86_64-apple-darwin21.3.0/toolkit/library/build/XUL +0x5c0131c]
#03: mozilla::a11y::LocalAccessible::BundleFieldsForCache(unsigned long long, mozilla::a11y::CacheUpdateType)[/Users/mraereschenberg/test-moz/obj-x86_64-apple-darwin21.3.0/toolkit/library/build/XUL +0x5bf7f4e]
#04: mozilla::a11y::LocalAccessible::SendCache(unsigned long long, mozilla::a11y::CacheUpdateType)[/Users/mraereschenberg/test-moz/obj-x86_64-apple-darwin21.3.0/toolkit/library/build/XUL +0x5bf348b]
#05: mozilla::a11y::DocAccessible::DoInitialUpdate()[/Users/mraereschenberg/test-moz/obj-x86_64-apple-darwin21.3.0/toolkit/library/build/XUL +0x5bf9d07]
#06: mozilla::a11y::DocAccessibleWrap::DoInitialUpdate()[/Users/mraereschenberg/test-moz/obj-x86_64-apple-darwin21.3.0/toolkit/library/build/XUL +0x5b851ae]
#07: mozilla::a11y::NotificationController::WillRefresh(mozilla::TimeStamp)[/Users/mraereschenberg/test-moz/obj-x86_64-apple-darwin21.3.0/toolkit/library/build/XUL +0x5bb6438]
#08: nsRefreshDriver::Tick(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp, nsRefreshDriver::IsExtraTick)[/Users/mraereschenberg/test-moz/obj-x86_64-apple-darwin21.3.0/toolkit/library/build/XUL +0x47cc4a3]
#09: mozilla::RefreshDriverTimer::TickRefreshDrivers(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp, nsTArray<RefPtr<nsRefreshDriver> >&)[/Users/mraereschenberg/test-moz/obj-x86_64-apple-darwin21.3.0/toolkit/library/build/XUL +0x47d54c1]
#10: mozilla::RefreshDriverTimer::Tick(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp)[/Users/mraereschenberg/test-moz/obj-x86_64-apple-darwin21.3.0/toolkit/library/build/XUL +0x47d53c1]

There are several valid reasons for a HyperTextAccessible to have no frame.
As well as removing the assertion, document the (known) cases where GetFrame() might return null.

Assignee: nobody → jteh
Status: NEW → ASSIGNED
Summary: MacOS consistently hits MOZ_ASSERT(rootFrame, "No frame for accessible!") with cache enabled → Firefox consistently hits MOZ_ASSERT(rootFrame, "No frame for accessible!") with cache enabled
OS: macOS → All
Hardware: Desktop → All
Pushed by jteh@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/7bf2b31dd978 Don't assert for a null frame in TextAttrsMgr::GetAttributes. r=morgan
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 99 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: