Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 932d0653a366987cfa98000102db17162a395263
      
https://github.com/WebKit/WebKit/commit/932d0653a366987cfa98000102db17162a395263
  Author: Sihui Liu <[email protected]>
  Date:   2026-06-28 (Sun, 28 Jun 2026)

  Changed paths:
    M Source/WebCore/Modules/indexeddb/IDBOpenDBRequest.cpp
    M Source/WebCore/Modules/indexeddb/IDBTransaction.cpp
    M Source/WebCore/Modules/indexeddb/shared/IDBResourceIdentifier.h
    M Source/WebKit/NetworkProcess/storage/NetworkStorageManager.cpp

  Log Message:
  -----------
  Relax IndexedDB version change transaction MESSAGE_CHECK to RELEASE_LOG_FAULT 
with early return
https://bugs.webkit.org/show_bug.cgi?id=317942
rdar://179510110

Reviewed by Chris Dumez.

Crash logs indicate the network process may terminate healthy web processes due 
to a failed message check in
NetworkStorageManager::didFinishHandlingVersionChangeTransaction. The root 
cause is currently unclear. A suspected cause
is that IDBOpenDBRequest::dispatchEvent sends 
DidFinishHandlingVersionChangeTransaction during an error event while the
transaction is neither finished nor finishing, specifically before abort or 
commit occurs. To confirm this, add error
logging and an early return in IDBOpenDBRequest::dispatchEvent so the web 
process does not send the message when the
transaction state is unexpected. Additionally, add logs in IDBTransaction to 
confirm abort or commit is properly invoked
for future debugging.

On the network process side, downgrade the MESSAGE_CHECK to a RELEASE_LOG_FAULT 
with an early return. This prevents the
network process from killing a healthy web process while the cause remains 
unconfirmed.

* Source/WebCore/Modules/indexeddb/IDBOpenDBRequest.cpp:
(WebCore::IDBOpenDBRequest::dispatchEvent):
* Source/WebCore/Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::abortInternal):
(WebCore::IDBTransaction::commitInternal):
* Source/WebKit/NetworkProcess/storage/NetworkStorageManager.cpp:
(WebKit::NetworkStorageManager::didFinishHandlingVersionChangeTransaction):

Canonical link: https://commits.webkit.org/315995@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to