RESOLVED FIXED102283
IndexedDB: Indexing tests are flaky-crashing
https://bugs.webkit.org/show_bug.cgi?id=102283
Summary IndexedDB: Indexing tests are flaky-crashing
Joshua Bell
Reported 2012-11-14 14:01:39 PST
IndexedDB: Indexing tests are flaky-crashing
Attachments
Patch (1.67 KB, patch)
2012-11-14 14:11 PST, Joshua Bell
no flags
Patch (4.44 KB, patch)
2012-11-15 12:18 PST, Joshua Bell
no flags
Patch for landing (5.49 KB, patch)
2012-11-15 13:21 PST, Joshua Bell
no flags
Joshua Bell
Comment 1 2012-11-14 14:10:34 PST
A couple of indexing related tests have started crashing: http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=storage%2Findexeddb%2Fmozilla%2Fcursor-update-updates-indexes.html%2Cstorage%2Findexeddb%2Findex-duplicate-keypaths.html Although some of the crashes predate it, http://wkrev.com/134529 is a likely candidate for the "spike" (hard to tell, there are so few of them). While inspecting the code, I noticed this test if (!m_pendingEvents && isTaskQueueEmpty()) { // The last task event has completed and the task // queue is empty. Commit the transaction. commit(); } This doesn't look at m_pendingPreemptiveEvents, so it could commit() early in the case of an indexing operation (the source of preemptive events), which could lead to calls being made into the IDBTransactionBackendImpl after it commit and was destroyed. Prior to http://wkrev.com/134529 the events would happen one at a time so the likelihood of this occurring would be lower.
Joshua Bell
Comment 2 2012-11-14 14:11:56 PST
Joshua Bell
Comment 3 2012-11-14 14:12:44 PST
alecflett@ - please take a look?
Joshua Bell
Comment 4 2012-11-14 14:14:47 PST
+dglazkov@, +haraken@ as an FYI to the gardeners. This probably hasn't shown up on your radar yet, but if it does and this patch doesn't fix it please roll out http://wkrev.com/134529
Alec Flett
Comment 5 2012-11-14 14:38:09 PST
lgtm
Joshua Bell
Comment 6 2012-11-14 15:23:26 PST
tony@ - r?
Tony Chang
Comment 7 2012-11-14 15:26:39 PST
Comment on attachment 174256 [details] Patch Ok, let's try it.
WebKit Review Bot
Comment 8 2012-11-14 15:52:40 PST
Comment on attachment 174256 [details] Patch Clearing flags on attachment: 174256 Committed r134685: <http://trac.webkit.org/changeset/134685>
WebKit Review Bot
Comment 9 2012-11-14 15:52:43 PST
All reviewed patches have been landed. Closing bug.
Joshua Bell
Comment 10 2012-11-15 11:58:25 PST
Reopening - flakiness has not gone away. The fix that was landed as http://wkrev.com/134685 is still believed to be a good addition so it should not be rolled out. It may explain a very low frequency of "early commits" that we have had reports of but have been unable to repro.
Joshua Bell
Comment 11 2012-11-15 12:18:09 PST
Joshua Bell
Comment 12 2012-11-15 12:18:25 PST
tony@ - another r?
Tony Chang
Comment 13 2012-11-15 13:08:24 PST
Comment on attachment 174498 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=174498&action=review > Source/WebCore/Modules/indexeddb/IDBTransactionBackendImpl.cpp:251 > + RefPtr<IDBTransactionBackendImpl> self(this); Nit: It's common in WebKit code to name this type of self reference protect or protector (you can grep for other examples of this).
Joshua Bell
Comment 14 2012-11-15 13:21:38 PST
Created attachment 174506 [details] Patch for landing
WebKit Review Bot
Comment 15 2012-11-15 15:18:06 PST
Comment on attachment 174506 [details] Patch for landing Clearing flags on attachment: 174506 Committed r134838: <http://trac.webkit.org/changeset/134838>
WebKit Review Bot
Comment 16 2012-11-15 15:18:10 PST
All reviewed patches have been landed. Closing bug.
Joshua Bell
Comment 17 2012-11-15 17:02:46 PST
*** Bug 98314 has been marked as a duplicate of this bug. ***
Note You need to log in before you can comment on or make changes to this bug.