WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
199117
REGRESSION: [ Mojave+ Debug WK1 ] Layout Test imported/blink/storage/indexeddb/blob-basics-metadata.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=199117
Summary
REGRESSION: [ Mojave+ Debug WK1 ] Layout Test imported/blink/storage/indexedd...
Truitt Savell
Reported
2019-06-21 13:57:08 PDT
The following layout test is flaky on Mojave Debug WK1 imported/blink/storage/indexeddb/blob-basics-metadata.html Probable cause: Unknown, this issue first appeared on this build:
https://build.webkit.org/builders/Apple%20Mojave%20Debug%20WK1%20(Tests)/builds/3751
Possibly 246039 Flakiness Dashboard:
https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&tests=imported%2Fblink%2Fstorage%2Findexeddb%2Fblob-basics-metadata.html
These was a pass at 29 seconds, possibly marking this test as slow will let it pass.
Attachments
Patch
(4.18 KB, patch)
2019-12-06 15:51 PST
,
Jonathan Bedard
no flags
Details
Formatted Diff
Diff
Patch
(2.80 KB, patch)
2019-12-09 11:08 PST
,
Jonathan Bedard
no flags
Details
Formatted Diff
Diff
Patch
(2.87 KB, patch)
2020-04-14 13:15 PDT
,
Jonathan Bedard
no flags
Details
Formatted Diff
Diff
Patch
(2.80 KB, patch)
2020-04-15 07:50 PDT
,
Jonathan Bedard
no flags
Details
Formatted Diff
Diff
Show Obsolete
(3)
View All
Add attachment
proposed patch, testcase, etc.
Truitt Savell
Comment 1
2019-06-21 13:57:53 PDT
I cannot reproduce this locally, I am getting instant passes.
Alexey Proskuryakov
Comment 2
2019-06-22 13:56:48 PDT
storage/indexeddb/modern/objectstore-autoincrement-types.html got slow at the same time. Looking at the bots on the queue, it looks like this started after testing was interrupted, which likely means that we installed a new OS, or maybe just rebooted. Ryan, do you remember what happened to these bots on June 3rd? PASS 3745
r246034
bot183 3746
r246035
bot183 Test interrupted: 3747 3748 FAIL 3749
r246036
bot184 3750
r246037
bot183 3751
r246038
bot184
Alexey Proskuryakov
Comment 3
2019-06-22 13:58:01 PDT
Actually, I suspect that this could be similar to
rdar://problem/50948871
. Let's discuss in e-mail if mitigations for that radar work here too.
Radar WebKit Bug Importer
Comment 4
2019-07-11 12:59:11 PDT
<
rdar://problem/52967035
>
Alexey Proskuryakov
Comment 5
2019-07-22 14:34:11 PDT
***
Bug 200002
has been marked as a duplicate of this bug. ***
Jonathan Bedard
Comment 6
2019-12-06 15:34:01 PST
According to Alexey: "We probably just need to add opt out in JSC, disabling SMT mitigations on tests (that would be in JSC and webkitpy code, not in machine configuration)." I've added this to run-javascriptcore-tests as well as WebKitTestRunner and DumpRenderTree.
Jonathan Bedard
Comment 7
2019-12-06 15:51:39 PST
Created
attachment 385052
[details]
Patch
Alexey Proskuryakov
Comment 8
2019-12-07 09:56:20 PST
Comment on
attachment 385052
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=385052&action=review
> Source/JavaScriptCore/runtime/JSCConfig.h:55 > + setenv("JSC_useKernTCSM", "false", 0);
This doesn't compile on Windows. But also, is it right to do this in configureForTesting? We certainly don't want to disable this for performance tests, for example. This function name is so generic that I can't tell.
Jonathan Bedard
Comment 9
2019-12-09 08:47:00 PST
(In reply to Alexey Proskuryakov from
comment #8
)
> Comment on
attachment 385052
[details]
> Patch > > View in context: >
https://bugs.webkit.org/attachment.cgi?id=385052&action=review
> > > Source/JavaScriptCore/runtime/JSCConfig.h:55 > > + setenv("JSC_useKernTCSM", "false", 0); > > This doesn't compile on Windows. > > But also, is it right to do this in configureForTesting? We certainly don't > want to disable this for performance tests, for example. This function name > is so generic that I can't tell.
I think this is the right place to do it, but we might want some JSC folks to verify. As far as I can tell, this function is used in a few API tests along with DumpRenderTree and some of the JSC test binaries. (I should actually remove the environment variable in run-javascriptcore-tests) Since we tend to use production binaries to do performance testing, I don't believe it will be run during performance testing, but if we have any performance tests which use DumpRenderTree or WebKitTestRunner as their harness. We could also move these to the harness script entirely, but (as previously mentioned) that wouldn't apply to manual test runs.
Mark Lam
Comment 10
2019-12-09 10:29:03 PST
Comment on
attachment 385052
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=385052&action=review
>>> Source/JavaScriptCore/runtime/JSCConfig.h:55 >>> + setenv("JSC_useKernTCSM", "false", 0); >> >> This doesn't compile on Windows. >> >> But also, is it right to do this in configureForTesting? We certainly don't want to disable this for performance tests, for example. This function name is so generic that I can't tell. > > I think this is the right place to do it, but we might want some JSC folks to verify. > > As far as I can tell, this function is used in a few API tests along with DumpRenderTree and some of the JSC test binaries. (I should actually remove the environment variable in run-javascriptcore-tests) Since we tend to use production binaries to do performance testing, I don't believe it will be run during performance testing, but if we have any performance tests which use DumpRenderTree or WebKitTestRunner as their harness. > > We could also move these to the harness script entirely, but (as previously mentioned) that wouldn't apply to manual test runs.
I think this is not necessary. It is also hacky to set env vars inside JavaScriptCore.
> Tools/Scripts/run-javascriptcore-tests:492 > +if (isAppleMacWebKit() || isEmbeddedWebKit()) { > + $envVars .= " JSC_useKernTCSM=false"; > +}
I think this should be sufficient for JSC tests.
> Tools/WebKitTestRunner/ios/TestControllerIOS.mm:109 > + setenv("JSC_useKernTCSM", "false", 0); > + setenv("__XPC_JSC_useKernTCSM", "false", 0);
This is also hacky. Can you set this in the driver script instead?
> Tools/WebKitTestRunner/mac/TestControllerMac.mm:93 > + setenv("JSC_useKernTCSM", "false", 0); > + setenv("__XPC_JSC_useKernTCSM", "false", 0);
Ditto.
Jonathan Bedard
Comment 11
2019-12-09 11:08:11 PST
Created
attachment 385171
[details]
Patch
Mark Lam
Comment 12
2019-12-09 11:11:44 PST
Comment on
attachment 385171
[details]
Patch LGTM, but perhaps another reviewer who knows the test scripts better should take a look as well.
Saam Barati
Comment 13
2019-12-09 12:18:19 PST
Comment on
attachment 385171
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=385171&action=review
> Tools/Scripts/run-javascriptcore-tests:491 > + $envVars .= " JSC_useKernTCSM=false";
Why? Don’t we want our testing to test this?
Jonathan Bedard
Comment 14
2019-12-09 12:35:25 PST
(In reply to Saam Barati from
comment #13
)
> Comment on
attachment 385171
[details]
> Patch > > View in context: >
https://bugs.webkit.org/attachment.cgi?id=385171&action=review
> > > Tools/Scripts/run-javascriptcore-tests:491 > > + $envVars .= " JSC_useKernTCSM=false"; > > Why? Don’t we want our testing to test this?
I think it debatable if we want this variable set. We definitely need it for layout tests, since we have so many processes running at once, it's about a 10% performance improvement on test runtime, last I checked. I know Alexey thought that JSC correctness tests could benefit from the gains, but I don't actually know if they're faster in practice.
Alexey Proskuryakov
Comment 15
2019-12-09 16:49:15 PST
> Why? Don’t we want our testing to test this?
When this was discussed a few months back, pretty sure the consensus was that we want to run the tests quickly, so we need to disable the feature. As for setting it in the binary - this is desirable because the fewer differences there are between running tests in the harness and without the harness, the better.
Jonathan Bedard
Comment 16
2019-12-10 09:01:39 PST
(In reply to Alexey Proskuryakov from
comment #15
)
> > Why? Don’t we want our testing to test this? > > When this was discussed a few months back, pretty sure the consensus was > that we want to run the tests quickly, so we need to disable the feature. > > As for setting it in the binary - this is desirable because the fewer > differences there are between running tests in the harness and without the > harness, the better.
Maybe we should land it in the scripts first and then have a separate discussion about if we want it in the binaries. There are arguments both ways, but I don't think anyone has said we shouldn't be doing this in automation.
Truitt Savell
Comment 17
2020-01-16 10:26:27 PST
marked storage/indexeddb/modern/objectstore-autoincrement-types.html as timing out in
https://trac.webkit.org/changeset/254691/webkit
Alexey Proskuryakov
Comment 18
2020-04-14 09:35:56 PDT
Comment on
attachment 385171
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=385171&action=review
> Tools/Scripts/webkitpy/port/base.py:904 > + 'JSC_useKernTCSM',
It's not immediately clear why this doesn't include an __XPC_DYLD variant.
> Tools/Scripts/webkitpy/port/driver.py:440 > + environment['__XPC_JSC_useKernTCSM'] = environment['JSC_useKernTCSM']
This looks incorrect, should it be __XPC_DYLD_JSC_useKernTCSM
Mark Lam
Comment 19
2020-04-14 09:48:46 PDT
Comment on
attachment 385171
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=385171&action=review
>> Tools/Scripts/webkitpy/port/driver.py:440 >> + environment['__XPC_JSC_useKernTCSM'] = environment['JSC_useKernTCSM'] > > This looks incorrect, should it be __XPC_DYLD_JSC_useKernTCSM
__XPC_ is correct. Should not be adding DYLD.
Alexey Proskuryakov
Comment 20
2020-04-14 10:32:25 PDT
Yes, you are correct of course.
Jonathan Bedard
Comment 21
2020-04-14 13:15:19 PDT
Created
attachment 396455
[details]
Patch
Jonathan Bedard
Comment 22
2020-04-14 13:38:50 PDT
(In reply to Jonathan Bedard from
comment #21
)
> Created
attachment 396455
[details]
> Patch
Tested this again with layout tests, verified that it's about a 10% speed up (ran only fast). I think we should land this.
Alexey Proskuryakov
Comment 23
2020-04-14 17:26:01 PDT
Comment on
attachment 396455
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=396455&action=review
Seems like there is agreement about that, marking r+.
> Tools/Scripts/run-javascriptcore-tests:526 > +if (isAppleMacWebKit() || isEmbeddedWebKit()) {
Does this work for embedded, and is it necessary?
> Tools/Scripts/webkitpy/port/driver.py:444 > + > +
Two newlines?
Jonathan Bedard
Comment 24
2020-04-15 07:47:12 PDT
Comment on
attachment 396455
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=396455&action=review
>> Tools/Scripts/run-javascriptcore-tests:526 >> +if (isAppleMacWebKit() || isEmbeddedWebKit()) { > > Does this work for embedded, and is it necessary?
Looking through the code, seems like it will not work for embedded builds (it only works on x86, to be more specific)
Jonathan Bedard
Comment 25
2020-04-15 07:50:01 PDT
Created
attachment 396532
[details]
Patch
EWS
Comment 26
2020-04-15 08:46:55 PDT
Committed
r260130
: <
https://trac.webkit.org/changeset/260130
> All reviewed patches have been landed. Closing bug and clearing flags on
attachment 396532
[details]
.
Truitt Savell
Comment 27
2020-04-15 11:32:49 PDT
Remove expectations for this test in
https://trac.webkit.org/changeset/260141/webkit
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