Closed
Bug 420055
Opened 16 years ago
Closed 16 years ago
New shutdown crash
Categories
(Core :: Disability Access APIs, defect, P1)
Core
Disability Access APIs
Tracking
()
RESOLVED
FIXED
mozilla1.9beta4
People
(Reporter: aaronlev, Assigned: aaronlev)
Details
(Keywords: access, crash, regression)
Attachments
(1 file)
I'm darn sure this was caused by bug 417249. I changed that line in that bug and how our doc caching works. It started crashing on Feb 27. http://crash-stats.mozilla.com/report/list?range_unit=days&query_search=stack&query_type=contains&version=Firefox%3A3.0b4pre%2CFirefox%3A3.0b5pre%2CSeaMonkey%3A2.0a1pre%2CSunbird%3A0.6a1%2CThunderbird%3A3.0a1pre&signature=PL_DHashTableEnumerate&query=Access&range_value=1 That fix actually improved our stability, and at least this new crash doesn't happen until shutdown, but we should figure this new one out ASAP.
Assignee | ||
Comment 1•16 years ago
|
||
The problem might be caused from nsDocAccessible::Shutdown() now removing that doc accessible from the cache. During ShutdownXPAccessibility() at xpcom shutdown we use a cache enumerator to shutdown the remaining docs. It probably doesn't like that the current item being enumerate in the cache no longer exists.
Assignee | ||
Comment 2•16 years ago
|
||
This uses a different approach to avoid double cache removal during XPCOM shutdown, when PL_DHASH_REMOVE and cache enumeration is used to remove docs from doc cache.
Attachment #306246 -
Flags: review?(surkov.alexander)
Assignee | ||
Updated•16 years ago
|
Flags: blocking1.9?
Comment 3•16 years ago
|
||
(In reply to comment #2) > This uses a different approach to avoid double cache removal during XPCOM > shutdown, when PL_DHASH_REMOVE and cache enumeration is used to remove docs > from doc cache. > Aaron, could you give more details on this because I can't see difference between approaches?
Assignee | ||
Comment 4•16 years ago
|
||
Hi, I am going back to the previous approach because that is when the enw crash showed up. It is hard to say, but my guess from looking at crash stats is that this is the channge that caused it. It is probably because the new code deleted the item it was curently on while iterating through the hash table. If you delete the item zou are currently on then you might lose your place. Fortunately the has iterator has the PL_DHASH_REMOVE feature to help remove items while iterating, and that worked in the past, so we should go back to it and see if it fixes the crash.
Comment 5•16 years ago
|
||
Comment on attachment 306246 [details] [diff] [review] 1) Use ClearCache() again in ShutdownXPAccessiblity(), 2) Change nsDocAccessible::Shutdown() so it doesn't remove |this| from cache when we're in ShutdownXPAccessibility() ok, I thought about this r=me
Attachment #306246 -
Flags: review?(surkov.alexander) → review+
Updated•16 years ago
|
Priority: -- → P1
Target Milestone: --- → mozilla1.9beta4
Version: unspecified → Trunk
Comment 6•16 years ago
|
||
Comment on attachment 306246 [details] [diff] [review] 1) Use ClearCache() again in ShutdownXPAccessiblity(), 2) Change nsDocAccessible::Shutdown() so it doesn't remove |this| from cache when we're in ShutdownXPAccessibility() Requesting approval on Aaron's behalf. He's on the plane and won't be available for several hours. Alexander, can you check this in when it is approved?
Attachment #306246 -
Flags: approval1.9b4?
Comment 7•16 years ago
|
||
Comment on attachment 306246 [details] [diff] [review] 1) Use ClearCache() again in ShutdownXPAccessiblity(), 2) Change nsDocAccessible::Shutdown() so it doesn't remove |this| from cache when we're in ShutdownXPAccessibility() rs/sr=mconnor a=mconnor on behalf of drivers, someone please land this ASAP
Attachment #306246 -
Flags: superreview+
Attachment #306246 -
Flags: approval1.9b4?
Attachment #306246 -
Flags: approval1.9b4+
Comment 8•16 years ago
|
||
Comment on attachment 306246 [details] [diff] [review] 1) Use ClearCache() again in ShutdownXPAccessiblity(), 2) Change nsDocAccessible::Shutdown() so it doesn't remove |this| from cache when we're in ShutdownXPAccessibility() a1.9b4=beltzner
Comment 9•16 years ago
|
||
checked in
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•