Bug 160780

Summary: IndexedDB.IndexedDBMultiProcess is a flaky timeout
Product: WebKit Reporter: Alexey Proskuryakov <ap>
Component: WebCore Misc.Assignee: Alexey Proskuryakov <ap>
Status: RESOLVED FIXED    
Severity: Normal CC: beidson, commit-queue, ryanhaddad, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Other   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=155506
Bug Depends on:    
Bug Blocks: 154968    
Attachments:
Description Flags
Patch
none
more fixing none

Alexey Proskuryakov
Reported 2016-08-11 13:26:59 PDT
IndexedDB.IndexedDBMultiProcess still times out: https://build.webkit.org/builders/Apple%20El%20Capitan%20Release%20WK2%20%28Tests%29/builds/8429/steps/run-api-tests/logs/stdio I don't see any crash log on the server in this case.
Attachments
Patch (9.70 KB, patch)
2016-12-02 10:41 PST, Brady Eidson
no flags
more fixing (1.79 KB, patch)
2017-02-28 23:19 PST, Alexey Proskuryakov
no flags
Alexey Proskuryakov
Comment 1 2016-09-23 16:37:44 PDT
This reproduces for me pretty easily when running the test in a loop, about 20% of attempts time out: while true; do run-api-tests --no-build IndexedDB.IndexedDBMultiProcess; done or with GuardMalloc, while true; do run-api-tests --no-build --guard-malloc IndexedDB.IndexedDBMultiProcess; done The database process is not crashing.
Radar WebKit Bug Importer
Comment 2 2016-09-26 09:23:53 PDT
Alexey Proskuryakov
Comment 3 2016-12-01 13:27:05 PST
This is still quite frequent, I see this failure on two bots right now. Especially given that this is reproducible, a fix would be really appreciated.
Brady Eidson
Comment 4 2016-12-01 13:29:40 PST
I missed your comment from Sept claiming this is reproducible. I have still *never* seen it locally, but I haven't sat down to forcefully try. I will do so in the next couple of days.
Brady Eidson
Comment 5 2016-12-02 09:17:32 PST
I've gotten it to timeout once in 45 runs. So yes, I can witness it happen. Exploring will still be a bit of a pain.
Brady Eidson
Comment 6 2016-12-02 09:28:29 PST
Taking a different approach. I need to see logging from the test, so I'm running TestWebKitAPI directly: DYLD_FRAMEWORK_PATH=~/build/Debug/ ~/build/Debug/TestWebKitAPI --gtest_filter=IndexedDB.IndexedDBMultiProcess --gtest_repeat=-1
Brady Eidson
Comment 7 2016-12-02 10:09:20 PST
Figured it out. Definitely a bug in the test.
Brady Eidson
Comment 8 2016-12-02 10:41:48 PST
Brady Eidson
Comment 9 2016-12-02 10:52:43 PST
Alexey Proskuryakov
Comment 10 2016-12-02 10:55:46 PST
Comment on attachment 295962 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=295962&action=review > Tools/ChangeLog:11 > + If two messages came in from the WebProcesses one after another, the runloop in the UI process could > + sometimes spin them one after another, eating the first one. I don't quite understand this explanation, perhaps it can be reworded for clarity. Notably, what does it mean for he runloop to "spin" a message? The code change looks reasonable.
Brady Eidson
Comment 11 2016-12-02 11:55:52 PST
Ryan Haddad
Comment 12 2016-12-02 20:51:09 PST
Brady Eidson
Comment 13 2016-12-02 21:04:38 PST
(In reply to comment #12) > Just saw a IndexedDB.IndexedDBMultiProcess timeout as of r209293: > > https://build.webkit.org/builders/ > Apple%20Yosemite%20Release%20WK2%20%28Tests%29/builds/19746/steps/run-api- > tests/logs/stdio Mother hell. I can no longer reproduce locally, so we're back in a holding pattern.
Alexey Proskuryakov
Comment 14 2016-12-05 09:18:55 PST
I've been running this test in a loop over the weekend, and on a Mac Pro, it times out 1% of the time (127 timeouts out of 13527 runs). This was a release build, no GuardMalloc. Revision 209309.
Brady Eidson
Comment 15 2016-12-05 09:40:49 PST
(In reply to comment #14) > I've been running this test in a loop over the weekend, and on a Mac Pro, it > times out 1% of the time (127 timeouts out of 13527 runs). > > This was a release build, no GuardMalloc. Revision 209309. How were you running it? I'm willing to give it a shot, but don't want to do something subtly different and therefore unproductive.
Alexey Proskuryakov
Comment 16 2016-12-05 09:49:11 PST
set-webkit-configuration --release make while true; do run-api-tests --no-build IndexedDB.IndexedDBMultiProcess; done
Alexey Proskuryakov
Comment 17 2017-02-27 22:31:06 PST
This reproduces nearly every time on some of the bots. Deleting /Users/buildbot/Library/WebKit and /Users/buildbot/Library/Caches/TestWebKitAPI doesn't change it, so I don't see any persistent state for this.
Brady Eidson
Comment 18 2017-02-28 17:18:38 PST
I will not have time to dig deep on this soon. We should disable it if it's getting in the way of things.
Alexey Proskuryakov
Comment 19 2017-02-28 22:58:34 PST
Easy fix.
Alexey Proskuryakov
Comment 20 2017-02-28 23:19:21 PST
Created attachment 303044 [details] more fixing I don't know if this will necessarily fix all the issues, but it doesn't time out in my testing so far.
WebKit Commit Bot
Comment 21 2017-03-01 09:25:30 PST
Comment on attachment 303044 [details] more fixing Clearing flags on attachment: 303044 Committed r213225: <http://trac.webkit.org/changeset/213225>
WebKit Commit Bot
Comment 22 2017-03-01 09:25:34 PST
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.