Summary: | The network process tries to take a process assertion when NetworkProcess::processWillSuspendImminently() is called | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Chris Dumez <cdumez> | ||||
Component: | WebKit2 | Assignee: | Chris Dumez <cdumez> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | CC: | achristensen, beidson, commit-queue, ggaren, sihui_liu, webkit-bug-importer | ||||
Priority: | P2 | Keywords: | InRadar | ||||
Version: | WebKit Nightly Build | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Attachments: |
|
Description
Chris Dumez
2019-05-14 11:29:51 PDT
Created attachment 369875 [details]
Patch
Comment on attachment 369875 [details]
Patch
r=me
This is the database activity that's happening as a result of preparing to suspend: com.apple.WebKit.Networking default 12:25:54.299839-0700 5333 0x10154c7f8 - NetworkProcess::processWillSuspendImminently() com.apple.WebKit.Networking default 12:25:54.311009-0700 5333 1 0x101022338 WebKit::WebSQLiteDatabaseTracker::willBeginFirstTransaction() com.apple.WebKit.Networking default 12:25:54.314454-0700 5333 2 0x10596e760 WebCore::SQLiteDatabase::close() com.apple.WebKit.Networking default 12:25:54.317950-0700 5333 3 0x10596e52c WebCore::SQLiteDatabase::~SQLiteDatabase() com.apple.WebKit.Networking default 12:25:54.321923-0700 5333 4 0x105e11f3c WTF::Detail::CallableWrapper<WebCore::RegistrationDatabase::close(WTF::CompletionHandler<void ()>&&)::$_24, void>::call() So we're closing a registration database. (In reply to Chris Dumez from comment #3) > This is the database activity that's happening as a result of preparing to > suspend: > com.apple.WebKit.Networking default 12:25:54.299839-0700 5333 0x10154c7f8 - > NetworkProcess::processWillSuspendImminently() > com.apple.WebKit.Networking default 12:25:54.311009-0700 5333 1 > 0x101022338 WebKit::WebSQLiteDatabaseTracker::willBeginFirstTransaction() > com.apple.WebKit.Networking default 12:25:54.314454-0700 5333 2 > 0x10596e760 WebCore::SQLiteDatabase::close() > com.apple.WebKit.Networking default 12:25:54.317950-0700 5333 3 > 0x10596e52c WebCore::SQLiteDatabase::~SQLiteDatabase() > com.apple.WebKit.Networking default 12:25:54.321923-0700 5333 4 > 0x105e11f3c > WTF::Detail::CallableWrapper<WebCore::RegistrationDatabase::close(WTF:: > CompletionHandler<void ()>&&)::$_24, void>::call() > > So we're closing a registration database. Because of this code in actualPrepareToSuspend(): #if ENABLE(SERVICE_WORKER) for (auto& server : m_swServers.values()) server->startSuspension([delayedTaskCounter] { }); #endif which ends up calling: void RegistrationStore::startSuspension(WTF::CompletionHandler<void()>&& completionHandler) { m_isSuspended = true; m_database->close(WTFMove(completionHandler)); } And closing our service worker registrations database. Comment on attachment 369875 [details] Patch Clearing flags on attachment: 369875 Committed r245297: <https://trac.webkit.org/changeset/245297> All reviewed patches have been landed. Closing bug. |