I suspect that m_syncCloseDatabase just needs to be initialized in the constructor to false. Right now it is only set to a value in StorageAreaSync::sync (after the if) and in StorageAreaSync::scheduleCloseDatabase. More details Here's the valgrind error (from http://build.chromium.org/p/chromium.memory/builders/Linux%20Tests%20%28valgrind%29%283%29/builds/1852/steps/memory%20test%3A%20ui_1/logs/stdio): Conditional jump or move depends on uninitialised value(s) WebCore::StorageAreaSync::sync(bool, WTF::HashMap<WTF::String, WTF::String, WTF::StringHash, WTF::HashTraits<WTF::String>, WTF::HashTraits<WTF::String> > const&) (uilder/build/src/third_party/WebKit/Source/WebCore/storage/StorageAreaSync.cpp:351) WebCore::StorageAreaSync::performSync() (uilder/build/src/third_party/WebKit/Source/WebCore/storage/StorageAreaSync.cpp:425) WebCore::LocalStorageTask::performTask() (uilder/build/src/third_party/WebKit/Source/WebCore/storage/LocalStorageTask.cpp:87) WebCore::LocalStorageThread::threadEntryPoint() (uilder/build/src/third_party/WebKit/Source/WebCore/storage/LocalStorageThread.cpp:69) WebCore::LocalStorageThread::threadEntryPointCallback(void*) (uilder/build/src/third_party/WebKit/Source/WebCore/storage/LocalStorageThread.cpp:62) WTF::threadEntryPoint(void*) (uilder/build/src/third_party/WebKit/Source/JavaScriptCore/wtf/Threading.cpp:67) start_thread (/lib/tls/i686/cmov/libpthread-2.7.so)
Created attachment 85690 [details] Patch
Comment on attachment 85690 [details] Patch Actually I'll land this.
Committed as http://trac.webkit.org/changeset/81037