[Webkit-unassigned] [Bug 251203] New: IndexedDB requests occasionally fail with no error, freezing browser
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Thu Jan 26 05:16:33 PST 2023
https://bugs.webkit.org/show_bug.cgi?id=251203
Bug ID: 251203
Summary: IndexedDB requests occasionally fail with no error,
freezing browser
Product: WebKit
Version: Safari 16
Hardware: All
OS: Unspecified
Status: NEW
Severity: Major
Priority: P2
Component: Website Storage
Assignee: webkit-unassigned at lists.webkit.org
Reporter: webkit at goldwave.com
CC: sihui_liu at apple.com
We are noticing consistent failures when making requests in IndexedDB storage in web workers. It causes a freeze. In some cases it prevents the tab from closing. In rare cases Safari itself cannot be closed and must be force closed.
The problem occurs when using IDBObjectStore.get request. Neither onsuccess nor onerror callbacks occur on the request. No callbacks occurs on the transaction. No errors are indicated. When enclosed in a promise, the promise never resolves and 'await' freezes the tab. It seems as if IndexedDB is deadlocked. If we add a setTimeout to reject the promise after some time, the freeze is avoided. Curiously the request then has a 'done' readyState shortly after, so we know that the request is valid and correct. Without the timeout, readyState never becomes done, despite a valid request.
This issue does not occur on Chrome or Firefox with exactly the same code. The request resolves as it should.
Further information is difficult to gather because the JS Console is too slow and deadlocks as well.
We are using emscripten with threads. Our theory is if the main thread is waiting on another thread and that thread is waiting on a request, a deadlock occurs in IndexedDB. This only occurs with webkit. IndexedDB should not depend on the main thread to complete requests.
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20230126/6e06a963/attachment.htm>
More information about the webkit-unassigned
mailing list