Closed Bug 629950 Opened 9 years ago Closed 9 years ago
IPres Shell::Remove Refresh Observer Internal(ns ARefresh Observer*, moz Flush Type)]
https://crash-stats.mozilla.com/report/list?range_value=2&range_unit=weeks&signature=nsIPresShell%3A%3ARemoveRefreshObserverInternal%28nsARefreshObserver*%2C%20mozFlushType%29&version=Firefox%3A4.0b11pre There are some crashes on trunk. #18 in the topcrash list atm.
Boris, is it unsafe to remove refresh observer when pagehide event is handled?
All those crashes are at offset 0x20 == 32 and in 32-bit builds. And the code it crashes on is: GetPresContext()->RefreshDriver()-> RemoveRefreshObserver(aObserver, aFlushType); 32 is the offset of mRefreshDriver inside nsPresContext on 32-bit systems. So GetPresContext() is returning null. And yes, that could happen during pagehide... nsIPresShell::RemoveRefreshObserverInternal should null-check the prescontext. Probably the add method should too. Alexander, want to write the the patch?
blocking2.0: --- → ?
sure. asking approval until bug is marked as blocking
Comment on attachment 508677 [details] [diff] [review] patch I'd prefer a local for the prescontext. With that change, r+a=me.
with bz's comment addressed
landed on 2.0 beta 11 - http://hg.mozilla.org/mozilla-central/rev/8b5cb26bbb10
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla2.0b11
You need to log in before you can comment on or make changes to this bug.