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: --- → ?
Created attachment 508677 [details] [diff] [review] patch 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.
Created attachment 508683 [details] [diff] [review] patch3 [for landing] with bz's comment addressed
landed on 2.0 beta 11 - http://hg.mozilla.org/mozilla-central/rev/8b5cb26bbb10
Status: ASSIGNED → RESOLVED
Last Resolved: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla2.0b11
You need to log in before you can comment on or make changes to this bug.