Open Bug 1126649 Opened 9 years ago Updated 1 month ago

style-system mochitest test_pseudoelement_state.html triggers piles of "ASSERTION: We must reach document accessible implementing text interface" if a11y is enabled on your system

Categories

(Core :: Disability Access APIs, defect, P3)

x86_64
Linux
defect

Tracking

()

People

(Reporter: dholbert, Unassigned)

References

Details

(Keywords: assertion, Whiteboard: a11y:crash-tree)

STR:
 1. Configure your system such that ShouldA11yBeEnabled() returns true. If you're on Ubuntu, you should be able to just run this in a terminal:
   gsettings set org.gnome.desktop.interface toolkit-accessibility

 2. In a firefox debug build (without --disable-accessibility in mozconfig), run:
  ./mach mochitest-plain layout/style/test/test_pseudoelement_state.html

ACTUAL RESULTS:
Mochitest fails due to 16 instances of this assertion failure:
{
[26901] ###!!! ASSERTION: We must reach document accessible implementing text interface!: 'Not Reached', file $SRC/accessible/base/SelectionManager.cpp, line 224
}
...so it ends up saying:
>65 INFO TEST-UNEXPECTED-ERROR | layout/style/test/test_pseudoelement_state.html | Assertion count 16 is greater than expected range 0-0 assertions.
Here's the backtrace of assertion (printed out during mochitests) -- I pruned the stack-levels above the refresh-driver tick for brevity:
{
[26901] ###!!! ASSERTION: We must reach document accessible implementing text interface!: 'Not Reached', file $SRC/accessible/base/SelectionManager.cpp, line 224
#01: mozilla::a11y::SelectionManager::ProcessSelectionChanged(mozilla::a11y::SelData*) ($SRC/accessible/base/SelectionManager.cpp:225)
#02: mozilla::a11y::TNotification<mozilla::a11y::SelectionManager, mozilla::a11y::SelData>::Process() ($SRC/accessible/base/NotificationController.h:71 (discriminator 3))
#03: mozilla::a11y::NotificationController::WillRefresh(mozilla::TimeStamp) ($SRC/accessible/base/NotificationController.cpp:264)
#04: nsRefreshDriver::Tick(long, mozilla::TimeStamp) ($SRC/layout/base/nsRefreshDriver.cpp:1491)
}
so, a11y::SelectionManager::NotifySelectionChanged() is getting called for selection changes within the iframe.  for some reason  <node in the iframe>->GetCrossShadowCurrentDoc() is returning null. which makes nsAccUtils::GetTextContainer() return null.I find it rather odd that GetCrossShadowCurrentDoc() returns null here.
Olli might have ideas
Priority: -- → P3
Whiteboard: a11y:crash-tree
Depends on: 1469769
Severity: normal → S3
See Also: → 1887584
You need to log in before you can comment on or make changes to this bug.