WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
228569
storage/indexeddb/detached-iframe.html is flaky on some bots
https://bugs.webkit.org/show_bug.cgi?id=228569
Summary
storage/indexeddb/detached-iframe.html is flaky on some bots
Chris Dumez
Reported
2021-07-28 15:24:14 PDT
storage/indexeddb/detached-iframe.html is flaky on some bots: TEXT DIFF: ALERT: original value +indexedDB = self.indexedDB || self.webkitIndexedDB || self.mozIndexedDB || self.msIndexedDB || self.OIndexedDB; + +indexedDB.deleteDatabase(dbname) +indexedDB.open(dbname) PASS successfullyParsed is true TEST COMPLETE
Attachments
Patch
(2.28 KB, patch)
2021-07-28 15:26 PDT
,
Chris Dumez
no flags
Details
Formatted Diff
Diff
Patch
(2.74 KB, patch)
2021-07-29 08:42 PDT
,
Chris Dumez
no flags
Details
Formatted Diff
Diff
Patch
(2.69 KB, patch)
2021-07-29 09:14 PDT
,
Chris Dumez
no flags
Details
Formatted Diff
Diff
Show Obsolete
(2)
View All
Add attachment
proposed patch, testcase, etc.
Chris Dumez
Comment 1
2021-07-28 15:24:24 PDT
<
rdar://80396559
>
Chris Dumez
Comment 2
2021-07-28 15:26:22 PDT
Created
attachment 434472
[details]
Patch
Sihui Liu
Comment 3
2021-07-28 16:22:30 PDT
Comment on
attachment 434472
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=434472&action=review
> LayoutTests/storage/indexeddb/detached-iframe.html:7 > +jsTestIsAsync = true;
Isn't it set in shared.js?
Chris Dumez
Comment 4
2021-07-28 16:24:53 PDT
Comment on
attachment 434472
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=434472&action=review
>> LayoutTests/storage/indexeddb/detached-iframe.html:7 >> +jsTestIsAsync = true; > > Isn't it set in shared.js?
Hmm, it does. Yet, my change is causing the output to show up so there is a behavior change somehow..
Chris Dumez
Comment 5
2021-07-28 16:27:06 PDT
Comment on
attachment 434472
[details]
Patch Will investigate further.
Sihui Liu
Comment 6
2021-07-28 16:28:23 PDT
(In reply to Chris Dumez from
comment #4
)
> Comment on
attachment 434472
[details]
> Patch > > View in context: >
https://bugs.webkit.org/attachment.cgi?id=434472&action=review
> > >> LayoutTests/storage/indexeddb/detached-iframe.html:7 > >> +jsTestIsAsync = true; > > > > Isn't it set in shared.js? > > Hmm, it does. Yet, my change is causing the output to show up so there is a > behavior change somehow..
Probably output from description()
Chris Dumez
Comment 7
2021-07-28 16:32:37 PDT
Comment on
attachment 434472
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=434472&action=review
> LayoutTests/storage/indexeddb/detached-iframe-expected.txt:2 > +IndexedDB edge case with a detached iframe.
description() would add this logging ...
> LayoutTests/storage/indexeddb/detached-iframe-expected.txt:4 > +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
... and this one.
> LayoutTests/storage/indexeddb/detached-iframe-expected.txt:7 > +indexedDB = self.indexedDB || self.webkitIndexedDB || self.mozIndexedDB || self.msIndexedDB || self.OIndexedDB;
description() does not explain this logging?
Sihui Liu
Comment 8
2021-07-28 22:01:11 PDT
(In reply to Chris Dumez from
comment #7
)
> Comment on
attachment 434472
[details]
> Patch > > View in context: >
https://bugs.webkit.org/attachment.cgi?id=434472&action=review
> > > LayoutTests/storage/indexeddb/detached-iframe-expected.txt:2 > > +IndexedDB edge case with a detached iframe. > > description() would add this logging ... > > > LayoutTests/storage/indexeddb/detached-iframe-expected.txt:4 > > +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". > > ... and this one. > > > LayoutTests/storage/indexeddb/detached-iframe-expected.txt:7 > > +indexedDB = self.indexedDB || self.webkitIndexedDB || self.mozIndexedDB || self.msIndexedDB || self.OIndexedDB; > > description() does not explain this logging?
Right, I thought these lines should always be printed. Something wrong with the DOM nodes... testIframe.parentNode.remove(testIframe); should probably be: testIframe.parentNode.removeChild(testIframe);
Chris Dumez
Comment 9
2021-07-29 08:32:37 PDT
(In reply to Sihui Liu from
comment #8
)
> (In reply to Chris Dumez from
comment #7
) > > Comment on
attachment 434472
[details]
> > Patch > > > > View in context: > >
https://bugs.webkit.org/attachment.cgi?id=434472&action=review
> > > > > LayoutTests/storage/indexeddb/detached-iframe-expected.txt:2 > > > +IndexedDB edge case with a detached iframe. > > > > description() would add this logging ... > > > > > LayoutTests/storage/indexeddb/detached-iframe-expected.txt:4 > > > +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". > > > > ... and this one. > > > > > LayoutTests/storage/indexeddb/detached-iframe-expected.txt:7 > > > +indexedDB = self.indexedDB || self.webkitIndexedDB || self.mozIndexedDB || self.msIndexedDB || self.OIndexedDB; > > > > description() does not explain this logging? > > Right, I thought these lines should always be printed. Something wrong with > the DOM nodes... > > testIframe.parentNode.remove(testIframe); > should probably be: > testIframe.parentNode.removeChild(testIframe);
It's equivalent, so is `testIframe.remove()`. It has no impact on the output of the test. Just adding the description() makes the output show (seemingly consistently) but I don't have an explanation why at the moment...
Chris Dumez
Comment 10
2021-07-29 08:42:03 PDT
Created
attachment 434523
[details]
Patch
Sihui Liu
Comment 11
2021-07-29 08:49:00 PDT
(In reply to Chris Dumez from
comment #9
)
> (In reply to Sihui Liu from
comment #8
) > > (In reply to Chris Dumez from
comment #7
) > > > Comment on
attachment 434472
[details]
> > > Patch > > > > > > View in context: > > >
https://bugs.webkit.org/attachment.cgi?id=434472&action=review
> > > > > > > LayoutTests/storage/indexeddb/detached-iframe-expected.txt:2 > > > > +IndexedDB edge case with a detached iframe. > > > > > > description() would add this logging ... > > > > > > > LayoutTests/storage/indexeddb/detached-iframe-expected.txt:4 > > > > +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". > > > > > > ... and this one. > > > > > > > LayoutTests/storage/indexeddb/detached-iframe-expected.txt:7 > > > > +indexedDB = self.indexedDB || self.webkitIndexedDB || self.mozIndexedDB || self.msIndexedDB || self.OIndexedDB; > > > > > > description() does not explain this logging? > > > > Right, I thought these lines should always be printed. Something wrong with > > the DOM nodes... > > > > testIframe.parentNode.remove(testIframe); > > should probably be: > > testIframe.parentNode.removeChild(testIframe); > > It's equivalent, so is `testIframe.remove()`. It has no impact on the output > of the test. Just adding the description() makes the output show (seemingly > consistently) but I don't have an explanation why at the moment...
I checked with MutationObserver, testIframe.parentNode.remove(testIframe) removes document.body, testIframe.parentNode.removeChild(testIframe) removes iframe. Removing document.body makes the console element added in different places (function getOrCreate(id, tagName)@js-tests.js)...
Chris Dumez
Comment 12
2021-07-29 08:53:26 PDT
(In reply to Sihui Liu from
comment #11
)
> (In reply to Chris Dumez from
comment #9
) > > (In reply to Sihui Liu from
comment #8
) > > > (In reply to Chris Dumez from
comment #7
) > > > > Comment on
attachment 434472
[details]
> > > > Patch > > > > > > > > View in context: > > > >
https://bugs.webkit.org/attachment.cgi?id=434472&action=review
> > > > > > > > > LayoutTests/storage/indexeddb/detached-iframe-expected.txt:2 > > > > > +IndexedDB edge case with a detached iframe. > > > > > > > > description() would add this logging ... > > > > > > > > > LayoutTests/storage/indexeddb/detached-iframe-expected.txt:4 > > > > > +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". > > > > > > > > ... and this one. > > > > > > > > > LayoutTests/storage/indexeddb/detached-iframe-expected.txt:7 > > > > > +indexedDB = self.indexedDB || self.webkitIndexedDB || self.mozIndexedDB || self.msIndexedDB || self.OIndexedDB; > > > > > > > > description() does not explain this logging? > > > > > > Right, I thought these lines should always be printed. Something wrong with > > > the DOM nodes... > > > > > > testIframe.parentNode.remove(testIframe); > > > should probably be: > > > testIframe.parentNode.removeChild(testIframe); > > > > It's equivalent, so is `testIframe.remove()`. It has no impact on the output > > of the test. Just adding the description() makes the output show (seemingly > > consistently) but I don't have an explanation why at the moment... > > I checked with MutationObserver, testIframe.parentNode.remove(testIframe) > removes document.body, testIframe.parentNode.removeChild(testIframe) removes > iframe. Removing document.body makes the console element added in different > places (function getOrCreate(id, tagName)@js-tests.js)...
Oh, you are right that testIframe.parentNode.remove(testIframe) seems very wrong. It removes the parent node instead of the frame, LOL :) I got confused because ParentNode.idl has append/prepend (but not remove). I'll test again but I believe fixing that didn't make the output appear though. For me, it was switching to js-test-pre.js/js-test-post.js (or calling description()) that seemed to do the trick.
Chris Dumez
Comment 13
2021-07-29 09:10:36 PDT
Comment on
attachment 434523
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=434523&action=review
> LayoutTests/storage/indexeddb/detached-iframe.html:8 > + document.getElementById('testIframe').remove();
Actually, this fix alone is sufficient to make the output show. I got confused because the test is marked as flaky internally. I'll revert the js-test-pre.js / js-test-post.js change.
Chris Dumez
Comment 14
2021-07-29 09:14:23 PDT
Created
attachment 434527
[details]
Patch
EWS
Comment 15
2021-07-29 09:55:56 PDT
Committed
r280426
(
240066@main
): <
https://commits.webkit.org/240066@main
> All reviewed patches have been landed. Closing bug and clearing flags on
attachment 434527
[details]
.
Chris Dumez
Comment 16
2021-07-29 10:02:34 PDT
***
Bug 207844
has been marked as a duplicate of this bug. ***
Chris Dumez
Comment 17
2021-07-29 10:05:01 PDT
Unskipped test in <
https://commits.webkit.org/r280427
>.
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