Bug 263717
| Summary: | [GTK] Reloading page with Ctrl+R breaks Element due to IndexedDB errors | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Michael Catanzaro <mcatanzaro> |
| Component: | WebKitGTK | Assignee: | Nobody <webkit-unassigned> |
| Status: | NEW | ||
| Severity: | Normal | CC: | bugs-noreply |
| Priority: | P2 | ||
| Version: | WebKit Nightly Build | ||
| Hardware: | PC | ||
| OS: | Linux | ||
Michael Catanzaro
Using Epiphany Tech Preview with WebKitGTK 2.42.1 and the Element Matrix client, reload the page using Ctrl+R. A bunch of IDBOpenDBRequests will fail:
[Error] StorageManager.idbLoad failed for account:mx_access_token – Event {isTrusted: true, type: "error", target: IDBOpenDBRequest, …}
Event {isTrusted: true, type: "error", target: IDBOpenDBRequest, currentTarget: IDBOpenDBRequest, eventPhase: 2, …}Eventbubbles: truecancelBubble: falsecancelable: truecomposed: falsecurrentTarget: nulldefaultPrevented: falseeventPhase: 0isTrusted: truereturnValue: truesrcElement: IDBRequest {result: undefined, error: QuotaExceededError: Failed to OpenBackingStore in database because not enough space for domain, source: null, transaction: null, readyState: "done", …}IDBRequesttarget: IDBRequest {result: undefined, error: QuotaExceededError: Failed to OpenBackingStore in database because not enough space for domain, source: null, transaction: null, readyState: "done", …}IDBRequesttimeStamp: 3946type: "error"Event Prototype
(anonymous function) (bundle.js:2:3225126)
(anonymous function) (element-web-app.js:1:89397)
[Error] migration of token mx_access_token to IndexedDB failed – Event {isTrusted: true, type: "error", target: IDBOpenDBRequest, …}
Event {isTrusted: true, type: "error", target: IDBOpenDBRequest, currentTarget: IDBOpenDBRequest, eventPhase: 2, …}Eventbubbles: truecancelBubble: falsecancelable: truecomposed: falsecurrentTarget: nulldefaultPrevented: falseeventPhase: 0isTrusted: truereturnValue: truesrcElement: IDBRequest {result: undefined, error: QuotaExceededError: Failed to OpenBackingStore in database because not enough space for domain, source: null, transaction: null, readyState: "done", …}IDBRequesttarget: IDBRequest {result: undefined, error: QuotaExceededError: Failed to OpenBackingStore in database because not enough space for domain, source: null, transaction: null, readyState: "done", …}IDBRequesttimeStamp: 3954type: "error"Event Prototype
(anonymous function) (bundle.js:2:3225126)
(anonymous function) (element-web-app.js:1:89599)
[Error] StorageManager.idbLoad failed for account:mx_refresh_token – Event {isTrusted: true, type: "error", target: IDBOpenDBRequest, …}
Event {isTrusted: true, type: "error", target: IDBOpenDBRequest, currentTarget: IDBOpenDBRequest, eventPhase: 2, …}Event
(anonymous function) (bundle.js:2:3225126)
(anonymous function) (element-web-app.js:1:89397)
[Error] idbLoad for pickleKey failed – Event {isTrusted: true, type: "error", target: IDBOpenDBRequest, …}
Event {isTrusted: true, type: "error", target: IDBOpenDBRequest, currentTarget: IDBOpenDBRequest, eventPhase: 2, …}Event
(anonymous function) (bundle.js:2:3225126)
(anonymous function) (init.js:1:22384)
[Debug] No pickle key available (bundle.js, line 2)
Later:
[Error] Expected a pickle key, but none provided. Encryption may not work.
(anonymous function) (bundle.js:2:3225126)
(anonymous function) (element-web-app.js:1:94022)
This causes Element to totally break; either rooms will load forever, or else previously-sent encrypted messages will fail to decrypt. To successfully use Element again, I have to close and reopen Epiphany. It works fine when opening Element for the first time; only reloading the page with Ctrl+R causes the IDBOpenDBRequests to start failing.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |