Bug 157915
Summary: | Modern IDB: Crash/ASSERT in random IDB tests in IDBDatabaseIdentifier::hash | ||
---|---|---|---|
Product: | WebKit | Reporter: | Brady Eidson <beidson> |
Component: | WebCore Misc. | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED DUPLICATE | ||
Severity: | Normal | CC: | ap |
Priority: | P2 | ||
Version: | WebKit Nightly Build | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Bug Depends on: | |||
Bug Blocks: | 149117, 154968 |
Brady Eidson
Modern IDB: Crash/ASSERT in random IDB tests in IDBDatabaseIdentifier::hash
Example at https://build.webkit.org/results/Apple%20Yosemite%20Release%20WK1%20(Tests)/r201174%20(14824)/storage/websql/database-lock-after-reload-crash-log.txt
This has been happening since yesterday and is almost certainly caused by http://trac.webkit.org/changeset/201081 or http://trac.webkit.org/changeset/201098
What's happening is that a IDBDatabaseIdentifier that has null databaseName/origin/mainFrameOrigins is being asked to hash.
StringHash can't hash a String without a StringImpl.
I could change IDBDatabaseIdentifier::hash to null check things first, but it actually should *not* ever come up in practice.
Another weird, weird thing about these IDBDatabaseIdentifiers, at least each time I've caught this in the debugger: The opening origin has a port of -2 and the mainFrame origin has a port of -3.
If it were -1,-1 then it would obviously be the deletedValue object.
If it were -2,-2 then it would obviously be the empty IDBDatabaseIdentifier() object.
-2,-3 should never exist.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Brady Eidson
Will be trying with guardmalloc soon.
For posterity, I can reproduce this, though not *quickly*, with:
run-webkit-tests -1 storage/indexeddb imported/w3c/web-platform-tests/IndexedDB --child-processes=1
Brady Eidson
This might be related to a general problem with guardmalloc enabled that I'm exploring elsewhere.
Brady Eidson
Once I fixed the cause of https://bugs.webkit.org/show_bug.cgi?id=157917, this went away.
Reverse duping.
Brady Eidson
*** This bug has been marked as a duplicate of bug 157917 ***