Skip to content

indexeddb: Don't drop sender when registering txn if database doesn't exist#39278

Draft
arihant2math wants to merge 1 commit intoservo:mainfrom
arihant2math:idb-race-condition
Draft

indexeddb: Don't drop sender when registering txn if database doesn't exist#39278
arihant2math wants to merge 1 commit intoservo:mainfrom
arihant2math:idb-race-condition

Conversation

@arihant2math
Copy link
Copy Markdown
Contributor

Why a database that doesn't exist is being passed in as a parameter needs to be investigated.

Testing: WPT
Fixes: #39254

@servo-highfive servo-highfive added the S-awaiting-review There is new code that needs to be reviewed. label Sep 12, 2025
@servo-highfive
Copy link
Copy Markdown

Heads up! This PR modifies the following files:

  • @KiChjang: components/script/dom/idbtransaction.rs, components/net/indexeddb/idb_thread.rs
  • @asajeffrey: components/script/dom/idbtransaction.rs

@servo-highfive
Copy link
Copy Markdown

warning Warning warning

  • These commits modify net and script code, but no tests are modified. Please consider adding a test!

@arihant2math arihant2math added the A-content/indexeddb IndexedDB implementation issues. label Sep 12, 2025
.unwrap();

receiver.recv().unwrap()
receiver.recv().unwrap().unwrap()
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This just shifts the panic to another part of the engine. I'd prefer to make this method fallible.

@arihant2math arihant2math marked this pull request as draft September 12, 2025 22:13
@gterzian
Copy link
Copy Markdown
Member

gterzian commented Sep 16, 2025

For clarity, what I wrote in the issue as the source of the panic being the dropping of the sender is not the ultimate problem, which is an unidentified race condition causing this dropping of the sender.

We can remove the crash and log an error instead, but this Pr should not close the issue, until the actual race condition has been identified and resolved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-content/indexeddb IndexedDB implementation issues. S-awaiting-review There is new code that needs to be reviewed.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Intermittent CRASH in /html/anonymous-iframe/indexeddb.tentative.https.window.html

4 participants