WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
201440
REGRESSION: http/tests/adClickAttribution/second-attribution-converted-with-higher-priority.html and http/tests/adClickAttribution/second-attribution-converted-with-lower-priority.html are flaky timeouts
https://bugs.webkit.org/show_bug.cgi?id=201440
Summary
REGRESSION: http/tests/adClickAttribution/second-attribution-converted-with-h...
Ryan Haddad
Reported
2019-09-03 17:04:59 PDT
http/tests/adClickAttribution/second-attribution-converted-with-higher-priority.html and http/tests/adClickAttribution/second-attribution-converted-with-lower-priority.html have recently become flaky timeouts on macOS WK2 queues.
https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&tests=http%2Ftests%2FadClickAttribution%2Fsecond-attribution-converted-with-higher-priority.html%20http%2Ftests%2FadClickAttribution%2Fsecond-attribution-converted-with-lower-priority.html
The earliest blamed revision range is
https://trac.webkit.org/log/webkit/?verbose=on&rev=249350&stop_rev=249349
Attachments
Patch
(5.00 KB, patch)
2019-09-05 13:03 PDT
,
Chris Dumez
no flags
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2019-09-03 17:05:27 PDT
<
rdar://problem/54998427
>
Russell Epstein
Comment 2
2019-09-05 10:28:36 PDT
I was able to reproduce this timeout starting with
r249350
using the following command: run-webkit-tests --iter 1000 -f --no-sample-on-timeout --no-retry http/tests/adClickAttribution/second-attribution-converted-with-higher-priority.html
Chris Dumez
Comment 3
2019-09-05 12:17:43 PDT
It is weird, when it times out, I actually see the test running to completion and calling testRunner.notifyDone(). This seems like a potential issue with WebKitTestRunner where it fails to stop even though notifyDone() was called.
Chris Dumez
Comment 4
2019-09-05 12:25:17 PDT
(In reply to Chris Dumez from
comment #3
)
> It is weird, when it times out, I actually see the test running to > completion and calling testRunner.notifyDone(). This seems like a potential > issue with WebKitTestRunner where it fails to stop even though notifyDone() > was called.
It seems the InjectedBundle in the WebContent process is sending the "Done" IPC to the UIProcess but this IPC is not getting received in the UIProcess.
Chris Dumez
Comment 5
2019-09-05 12:34:09 PDT
(In reply to Chris Dumez from
comment #4
)
> (In reply to Chris Dumez from
comment #3
) > > It is weird, when it times out, I actually see the test running to > > completion and calling testRunner.notifyDone(). This seems like a potential > > issue with WebKitTestRunner where it fails to stop even though notifyDone() > > was called. > > It seems the InjectedBundle in the WebContent process is sending the "Done" > IPC to the UIProcess but this IPC is not getting received in the UIProcess.
I have confirmed that the WebProcessProxy is dropping this IPC message on the floor (likely because there is not WebPageProxy listening anymore for this identifier). I am investigating to find out why.
Chris Dumez
Comment 6
2019-09-05 12:43:42 PDT
(In reply to Chris Dumez from
comment #5
)
> (In reply to Chris Dumez from
comment #4
) > > (In reply to Chris Dumez from
comment #3
) > > > It is weird, when it times out, I actually see the test running to > > > completion and calling testRunner.notifyDone(). This seems like a potential > > > issue with WebKitTestRunner where it fails to stop even though notifyDone() > > > was called. > > > > It seems the InjectedBundle in the WebContent process is sending the "Done" > > IPC to the UIProcess but this IPC is not getting received in the UIProcess. > > I have confirmed that the WebProcessProxy is dropping this IPC message on > the floor (likely because there is not WebPageProxy listening anymore for > this identifier). I am investigating to find out why.
It looks like the WebKitTestRunner's injected bundle gets confused when we use a process for a new load that already had a WKTR injected bundle. It still tries to talk to the previous page in that process (which is now suspended).
Chris Dumez
Comment 7
2019-09-05 12:44:51 PDT
(In reply to Chris Dumez from
comment #6
)
> (In reply to Chris Dumez from
comment #5
) > > (In reply to Chris Dumez from
comment #4
) > > > (In reply to Chris Dumez from
comment #3
) > > > > It is weird, when it times out, I actually see the test running to > > > > completion and calling testRunner.notifyDone(). This seems like a potential > > > > issue with WebKitTestRunner where it fails to stop even though notifyDone() > > > > was called. > > > > > > It seems the InjectedBundle in the WebContent process is sending the "Done" > > > IPC to the UIProcess but this IPC is not getting received in the UIProcess. > > > > I have confirmed that the WebProcessProxy is dropping this IPC message on > > the floor (likely because there is not WebPageProxy listening anymore for > > this identifier). I am investigating to find out why. > > It looks like the WebKitTestRunner's injected bundle gets confused when we > use a process for a new load that already had a WKTR injected bundle. It > still tries to talk to the previous page in that process (which is now > suspended).
I think the issue lies here: InjectedBundlePage* InjectedBundle::page() const { // It might be better to have the UI process send over a reference to the main // page instead of just assuming it's the first one. return m_pages[0].get(); } We always assume the *first* page that was created in the process is the one we want to talk to.
Chris Dumez
Comment 8
2019-09-05 13:03:27 PDT
Created
attachment 378106
[details]
Patch
WebKit Commit Bot
Comment 9
2019-09-05 18:07:07 PDT
Comment on
attachment 378106
[details]
Patch Clearing flags on attachment: 378106 Committed
r249557
: <
https://trac.webkit.org/changeset/249557
>
WebKit Commit Bot
Comment 10
2019-09-05 18:07:09 PDT
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.
Top of Page
Format For Printing
XML
Clone This Bug