Closed
Bug 346936
Opened 19 years ago
Closed 19 years ago
crashes [@ nsAccessibilityService::CreateRootAccessible]
Categories
(Core :: Disability Access APIs, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: dbaron, Assigned: aaronlev)
References
Details
(Keywords: crash, fixed1.8.1, topcrash, Whiteboard: Double fix (null check and no longer using pageshow events which disturbingly are coming with a document that has no docshell). See comment 2.)
Crash Data
Attachments
(2 files, 1 obsolete file)
5.21 KB,
text/plain; charset=utf-8
|
Details | |
4.49 KB,
patch
|
ginnchen+exoracle
:
review+
dbaron
:
superreview+
mtschrep
:
approval1.8.1+
|
Details | Diff | Splinter Review |
The #3 unfixed topcrash on the 1.8 branch is crashes at nsAccessibilityService::CreateRootAccessible . These are occurring on both Windows and Linux. A few of the comments refer to hitting the back button.
Reporter | ||
Comment 1•19 years ago
|
||
Reporter | ||
Updated•19 years ago
|
Flags: blocking1.8.1?
Reporter | ||
Updated•19 years ago
|
Flags: blocking1.8.1? → blocking1.8.1+
Assignee | ||
Comment 2•19 years ago
|
||
From the stack trace, I can see that by far the most likely reason for this is because of fastback. A pageshow event is fired very early, before the document owns a docshell.
The accesssibility event handling code gets the pageshow event and tries to create an accessible for the document, which crashes because of the null docshell.
It turns out that we should not even be listening for pageshow. We have 2 methods for tracking page loads. We use:
1) DOMContentLoaded which results in TryFireEarlyLoadEvent()
2) WebProgressListener which is for the fallback case where there was a framed page or something that doesn't work well if you fire an early load event
So this is a double fix. With this patch, we will ignore the pageshow event. It also adds a null check so that accessibles are not created if for documents with no docshell.
I have tested with this patch on Windows, and we still fire the page load events even when alt+left is pressed during another page load.
Attachment #231870 -
Flags: review?(ginn.chen)
Assignee | ||
Comment 3•19 years ago
|
||
Attachment #231870 -
Attachment is obsolete: true
Attachment #231871 -
Flags: review?(ginn.chen)
Attachment #231870 -
Flags: review?(ginn.chen)
Attachment #231871 -
Flags: review?(ginn.chen) → review+
Assignee | ||
Updated•19 years ago
|
Attachment #231871 -
Flags: superreview?(dbaron)
Reporter | ||
Comment 4•19 years ago
|
||
Comment on attachment 231871 [details] [diff] [review]
1) Fail to return an accessible if document has no container, 2) Don't use pageshow to fire doc loaded events, we don't need it
sr=dbaron, assuming you've tested fastback restoration cases carefully
Attachment #231871 -
Flags: superreview?(dbaron) → superreview+
Assignee | ||
Updated•19 years ago
|
Status: NEW → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
Assignee | ||
Updated•19 years ago
|
Attachment #231871 -
Flags: approval1.8.1?
Assignee | ||
Updated•19 years ago
|
Whiteboard: Double fix (null check and no longer using pageshow events which disturbingly are coming with a document that has no docshell). See comment 2.
Comment 5•19 years ago
|
||
Comment on attachment 231871 [details] [diff] [review]
1) Fail to return an accessible if document has no container, 2) Don't use pageshow to fire doc loaded events, we don't need it
a=schrep for drivers.
Attachment #231871 -
Flags: approval1.8.1? → approval1.8.1+
Assignee | ||
Updated•19 years ago
|
Keywords: fixed1.8.1
Comment 6•19 years ago
|
||
This caused a new (topcrash?) crash on trunk.
Apparently target is occasionally nsnull
http://lxr.mozilla.org/seamonkey/source/accessible/src/base/nsRootAccessible.cpp#321
Comment 7•19 years ago
|
||
Should this get also fixed on 1.8.0.x ?
On 1.5.0.7 it's crash #44 with 583 crashes.
Flags: blocking1.8.0.8?
Comment 8•19 years ago
|
||
1.8.0.8 is almost exclusively for security-fix parity with 1.8.1, the next "stability" release is 1.8.0.9 and we can consider this then. I'm also concerned about the new crash mentioned in comment 6 -- has a bug been filed? Do we need to include that fix as well? I guess that's the bug 352709 dependency bug (In general please mention this sort of thing in comments so we can recontruct that info if the dependency field is ever botched).
Flags: blocking1.8.0.9?
Flags: blocking1.8.0.8?
Flags: blocking1.8.0.8-
Updated•19 years ago
|
Flags: blocking1.8.0.9? → blocking1.8.0.9+
Comment 9•19 years ago
|
||
We'll leave this one alone on the 1.8.0 branch, we can live with #44 since people who are bothered by it can upgrade.
Flags: blocking1.8.0.9+ → blocking1.8.0.9-
Updated•14 years ago
|
Crash Signature: [@ nsAccessibilityService::CreateRootAccessible]
You need to log in
before you can comment on or make changes to this bug.
Description
•