WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
292142
REGRESSION (iOS 18.4.x): Accessing BLOBs stored in IndexedDB leads to Networking process getting terminated
https://bugs.webkit.org/show_bug.cgi?id=292142
Summary
REGRESSION (iOS 18.4.x): Accessing BLOBs stored in IndexedDB leads to Network...
philipp.pirrung+apple
Reported
2025-04-28 01:19:19 PDT
#### Setting We're running a web application that enables the user to upload certain objects containing BLOB properties. To allow for offline usage of the application, we're using stores in the indexeddb, in which we temporarily save the data to be uploaded. The files are created using a <input type="file" ... /> element. The object's are supposed to be read from the database using `getAll(...)` on an index on the respective store. #### Problem When attempting to load a BLOB from the database (using the mentioned index), which was previously created in another tab, Safari crashes silently. The only error message shown by Safari is that an error has occurred repeatedly. The only way to repair this state is to remove the faulty object from the db store, resulting in lost data. #### Workaround We've managed to avoid the issue by not using an index to retrieve the data, but rather retrieving all data through the stores `getAll()` and filtering the result manually. Obviously, this is not an acceptable long-term solution, as accessing data in the indexeddb should be possible using the built-in functions. #### Tested devices - iPad with iPadOS 18.3.1 --> Works fine without the described error - iPad after update to iPadOS 18.4.1 --> Crashes with the described behavior - iPhone with iOS 18.3.1 --> Works fine without the described error - iPhone with iOS 16.x --> Works fine without the described error - iPhone after update to iOS 18.4.1 --> Crashes with the described behavior
Attachments
Add attachment
proposed patch, testcase, etc.
Alexey Proskuryakov
Comment 1
2025-04-28 09:04:39 PDT
Thank you for the report! Should it be possible to provide a test case, either as an attachment or a link?
philipp.pirrung+apple
Comment 2
2025-04-29 00:37:59 PDT
Hi Alexey, thanks for the quick response. I've been able to reproduce the problem with the following sample:
https://playcode.io/2361531
1. Open the page. 2. Select any arbitrary file in the input. It will be saved to the indexeddb. 3. Open the page in a second tab. 4. Click on the "Index" button. It will attempt to read the object containing the BLOB from the indexeddb. Note: I haven't been able to validate that our workaround with store.getAll() works using the above sample.
Radar WebKit Bug Importer
Comment 3
2025-04-29 08:41:16 PDT
<
rdar://problem/150284384
>
Alexey Proskuryakov
Comment 4
2025-04-30 10:51:04 PDT
Thank you, I can reproduce as described. UI process terminates the networking process for sending an invalid IPC message: NetworkConnectionToWebProcess.cpp 1108: Invalid message dispatched void WebKit::NetworkConnectionToWebProcess::registerInternalBlobURLOptionallyFileBacked(URL &&, URL &&, const String &, String &&)
Sihui Liu
Comment 5
2025-07-07 21:54:06 PDT
Pull request:
https://github.com/WebKit/WebKit/pull/47700
EWS
Comment 6
2025-07-08 10:48:11 PDT
Committed
297122@main
(74123c260a43): <
https://commits.webkit.org/297122@main
> Reviewed commits have been landed. Closing PR #47700 and removing active labels.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug