WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
78004
IndexedDB: Layout Test storage/indexeddb/open-close-version.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=78004
Summary
IndexedDB: Layout Test storage/indexeddb/open-close-version.html is flaky
Joshua Bell
Reported
2012-02-07 11:04:50 PST
storage/indexeddb/open-close-version.html is flaky on all platforms This test uses setTimeout() calls to try and keep transactions alive, which is not supported in the spec and probably entering a race condition with timers. The test should be reworked to use IDB correctly.
Attachments
Add attachment
proposed patch, testcase, etc.
Joshua Bell
Comment 1
2012-02-07 13:42:46 PST
Dashboard link:
http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=storage%2Findexeddb%2Fopen-close-version.html
Joshua Bell
Comment 2
2012-02-07 13:56:46 PST
Looking at the flake output, it doesn't appear that the setTimeout is at fault. (And the usage appears correct, contrary to my recollection). Here are three examples: =========================================== Example 1: =========================================== ... TEST: open and setVersion blocked if a VERSION_CHANGE transaction is running - close when blocked window.dbname = 'test3'; window.ver = 1; window.steps = [] 'h1.open' 'h1.open.onsuccess' 'h2.open' 'h2.open.onsuccess' 'h1.setVersion' 'h2.setVersion' <TIMEOUT> =========================================== =========================================== Example 2: =========================================== ... TEST: two setVersions from the same connection window.dbname = 'test6'; window.ver = 1; window.steps = [] 'h1.open' 'h1.open.onsuccess' 'h1.setVersion' 'h1.setVersion' 'h1.setVersion.onsuccess' 'h1.setVersion.transaction-complete' half done <TIMEOUT> =========================================== =========================================== Example 3: =========================================== ... TEST: two setVersions from the same connection window.dbname = 'test6'; window.ver = 1; window.steps = [] 'h1.open' 'h1.open.onsuccess' 'h1.setVersion' 'h1.setVersion'<TIMEOUT> =========================================== Analysis: All three of these point to setVersion calls getting wedged, so that either no events go out (so one handle can close) or the call is never processed. This looks very similar to
http://crbug.com/80111
but without the tab closure issue - all of these are occurring within the same renderer process. =========================================== Example : =========================================== ... <TIMEOUT> =========================================== Analysis: ===========================================
Joshua Bell
Comment 3
2012-02-13 17:16:59 PST
This has been happy since
http://webkit.org/b/78167
landed in
http://trac.webkit.org/changeset/107278
so declaring victory
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug