Bug 834945 - GC triggers a late DB write during shutdown. r=vladan.
authorRafael Ávila de Espíndola <respindola@mozilla.org>
Wed, 06 Feb 2013 16:45:38 -0500
changeset 130938 a4b75cd17e1c6d2b9eded7c158244f372f1a6951
parent 130937 3677d52d74a0129004539bcbd4faae474eb69b75
child 130939 fbcbc4ff374768f1dfa1928a06e004c9b8624177
push id2323
push userbbajaj@mozilla.com
push dateMon, 01 Apr 2013 19:47:02 +0000
treeherdermozilla-beta@7712be144d91 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersvladan
bugs834945
milestone21.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 834945 - GC triggers a late DB write during shutdown. r=vladan.
xpcom/build/nsXPComInit.cpp
--- a/xpcom/build/nsXPComInit.cpp
+++ b/xpcom/build/nsXPComInit.cpp
@@ -578,16 +578,20 @@ ShutdownXPCOM(nsIServiceManager* servMgr
 
         NS_ProcessPendingEvents(thread);
 
         HangMonitor::NotifyActivity();
 
         // We save the "xpcom-shutdown-loaders" observers to notify after
         // the observerservice is gone.
         if (observerService) {
+            // FIXME: This can cause harmless writes from sqlite committing
+            // log files. We have to ignore them before we can move
+            // the mozilla::PoisonWrite call before this point. See bug
+            // 834945 for the details.
             observerService->
                 EnumerateObservers(NS_XPCOM_SHUTDOWN_LOADERS_OBSERVER_ID,
                                    getter_AddRefs(moduleLoaders));
 
             observerService->Shutdown();
         }
     }