Closed Bug 1843540 Opened 2 years ago Closed 2 years ago

"Queued event belongs to another document" assertion failure with patch from bug 1839455

Categories

(Core :: Disability Access APIs, defect)

defect

Tracking

()

RESOLVED FIXED
117 Branch
Tracking Status
firefox117 --- fixed

People

(Reporter: jonco, Assigned: Jamie)

References

Details

(Whiteboard: [sp3])

Attachments

(1 file)

While testing the patch in bug 1839455 I found it causes the accessible/tests/crashtests/1415667.html test to fail:

[task 2023-07-14T09:46:32.651Z] 09:46:32     INFO - REFTEST TEST-START | accessible/tests/crashtests/1415667.html
[task 2023-07-14T09:46:32.653Z] 09:46:32     INFO - REFTEST TEST-LOAD | file:///builds/worker/workspace/build/tests/reftest/tests/accessible/tests/crashtests/1415667.html | 16 / 3990 (0%)
[task 2023-07-14T09:46:32.712Z] 09:46:32     INFO - [Parent 1518, Main Thread] WARNING: NS_ENSURE_TRUE(she && she->mInfo->mSharedState.Get()) failed: file /builds/worker/checkouts/gecko/docshell/shistory/SessionHistoryEntry.cpp:1159
[task 2023-07-14T09:46:32.735Z] 09:46:32     INFO - [Child 1783, Main Thread] ###!!! ASSERTION: Queued event belongs to another document!: '(aEvent->mAccessible && aEvent->mAccessible->IsApplication()) || aEvent->Document() == mDocument', file /builds/worker/checkouts/gecko/accessible/base/EventQueue.cpp:31
[task 2023-07-14T09:46:32.751Z] 09:46:32     INFO -  Initializing stack-fixing for the first stack frame, this may take a while...
[task 2023-07-14T09:46:55.480Z] 09:46:55     INFO - #01: NS_DebugBreak [xpcom/base/nsDebugImpl.cpp:0]
[task 2023-07-14T09:46:55.482Z] 09:46:55     INFO - #02: mozilla::a11y::EventQueue::PushEvent(mozilla::a11y::AccEvent*) [accessible/base/EventQueue.cpp:33]
[task 2023-07-14T09:46:55.488Z] 09:46:55     INFO - #03: mozilla::a11y::EventQueue::PushNameOrDescriptionChange(mozilla::a11y::AccEvent*) [accessible/base/EventQueue.cpp:90]
[task 2023-07-14T09:46:55.488Z] 09:46:55     INFO - #04: mozilla::a11y::EventQueue::PushEvent(mozilla::a11y::AccEvent*) [accessible/base/EventQueue.cpp:52]
[task 2023-07-14T09:46:55.488Z] 09:46:55     INFO - #05: mozilla::a11y::RootAccessible::ProcessDOMEvent(mozilla::dom::Event*, nsINode*) [accessible/generic/RootAccessible.cpp:279]
[task 2023-07-14T09:46:55.488Z] 09:46:55     INFO - #06: mozilla::a11y::NotificationController::WillRefresh(mozilla::TimeStamp) [accessible/base/NotificationController.cpp:926]
[task 2023-07-14T09:46:55.490Z] 09:46:55     INFO - #07: nsRefreshDriver::Tick(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp, nsRefreshDriver::IsExtraTick) [layout/base/nsRefreshDriver.cpp:2582]
[task 2023-07-14T09:46:55.491Z] 09:46:55     INFO - #08: mozilla::RefreshDriverTimer::TickRefreshDrivers(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp, nsTArray<RefPtr<nsRefreshDriver> >&) [layout/base/nsRefreshDriver.cpp:345]
[task 2023-07-14T09:46:55.494Z] 09:46:55     INFO - #09: mozilla::RefreshDriverTimer::Tick(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp) [layout/base/nsRefreshDriver.cpp:369]
[task 2023-07-14T09:46:55.495Z] 09:46:55     INFO - #10: mozilla::VsyncRefreshDriverTimer::RunRefreshDrivers(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp) [layout/base/nsRefreshDriver.cpp:912]
[task 2023-07-14T09:46:55.495Z] 09:46:55     INFO - #11: mozilla::VsyncRefreshDriverTimer::TickRefreshDriver(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp) [layout/base/nsRefreshDriver.cpp:827]
[task 2023-07-14T09:46:55.496Z] 09:46:55     INFO - #12: mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::NotifyVsyncTimerOnMainThread() [layout/base/nsRefreshDriver.cpp:593]
[task 2023-07-14T09:46:55.497Z] 09:46:55     INFO - #13: mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::NotifyVsync(mozilla::VsyncEvent const&) [layout/base/nsRefreshDriver.cpp:0]
[task 2023-07-14T09:46:55.497Z] 09:46:55     INFO - #14: mozilla::dom::VsyncMainChild::RecvNotify(mozilla::VsyncEvent const&, float const&) [dom/ipc/VsyncMainChild.cpp:67]
[task 2023-07-14T09:46:55.498Z] 09:46:55     INFO - #15: mozilla::dom::PVsyncChild::OnMessageReceived(IPC::Message const&) [s3:gecko-generated-sources-l1:466b973d1057f4365d4602d2e01d6ea5f3c4a7e9ebd0b15ac9ac9cb1623ec6d43a92a1c7ffe392429f504f76addb7fc350dc4dcadf6ef591287b7afc3ea4aba1/ipc/ipdl/PVsyncChild.cpp::0]
[task 2023-07-14T09:46:55.498Z] 09:46:55     INFO - #16: mozilla::ipc::PBackgroundChild::OnMessageReceived(IPC::Message const&) [s3:gecko-generated-sources-l1:120660e73f5529c2d92faa697c90471a1160436e2a5fbb2e62c9e306f851b797128727c5a349ea9c982573f8d064c5660df2a7d2b352bad452ab5e9e5bb8051a/ipc/ipdl/PBackgroundChild.cpp::6269]
[task 2023-07-14T09:46:55.499Z] 09:46:55     INFO - #17: mozilla::ipc::MessageChannel::DispatchAsyncMessage(mozilla::ipc::ActorLifecycleProxy*, IPC::Message const&) [ipc/glue/MessageChannel.cpp:1811]
[task 2023-07-14T09:46:55.500Z] 09:46:55     INFO - #18: mozilla::ipc::MessageChannel::DispatchMessage(mozilla::ipc::ActorLifecycleProxy*, mozilla::UniquePtr<IPC::Message, mozilla::DefaultDelete<IPC::Message> >) [ipc/glue/MessageChannel.cpp:1739]
[task 2023-07-14T09:46:55.500Z] 09:46:55     INFO - #19: mozilla::ipc::MessageChannel::RunMessage(mozilla::ipc::ActorLifecycleProxy*, mozilla::ipc::MessageChannel::MessageTask&) [ipc/glue/MessageChannel.cpp:1536]

See the failures in try push: https://treeherder.mozilla.org/jobs?repo=try&group_state=expanded&selectedTaskRun=L1EQ7pwAQuO-eIOu5qm0RA.0&revision=23e8fa196fe3dc13ae43accad27dde55040d61c5&searchStr=crash

This is a change to GC scheduling shouldn't affect accessibility at all as far as I can see, although it will change the timing of GCs and could show pre-existing issues.

Might be fixed by adding !parent->IsDoc() to this check.

Or maybe not... because why would a doc have eNameFromSubtreeIfReqRule?

Whiteboard: [sp3]
Assignee: nobody → jteh
Pushed by jteh@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/d1bf62de2884 Ensure that EventQueue::PushNameOrDescriptionChange never queues events for an Accessible outside its document. r=morgan
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 117 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: