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.
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
This might be related to a general problem with guardmalloc enabled that I'm exploring elsewhere.
Once I fixed the cause of https://bugs.webkit.org/show_bug.cgi?id=157917, this went away.
*** This bug has been marked as a duplicate of bug 157917 ***