|
|
Chromium Code Reviews|
Created:
4 years ago by nhiroki Modified:
4 years ago Reviewers:
falken CC:
chromium-reviews, shimazu+worker_chromium.org, kinuko+worker_chromium.org, blink-reviews, horo+watch_chromium.org, falken+watch_chromium.org, blink-worker-reviews_chromium.org Target Ref:
refs/pending/heads/master Project:
chromium Visibility:
Public. |
DescriptionWorker: Fix test flakiness (timeout) on DedicatedWorkerTest
These tests wait for notifications from a worker context using nested loops. If
notifications are consecutively delivered, the balance between enterRunLoop()
and exitRunLoop() is lost and timeout happens.
This CL queues notifications from a worker context and makes sure to keep the
balance.
BUG=655089
Committed: https://crrev.com/d7babd6989862cc47c28874106f6dede10b059f5
Cr-Commit-Position: refs/heads/master@{#436552}
Patch Set 1 #
Total comments: 1
Patch Set 2 : rebase on https://codereview.chromium.org/2555673002/ #
Depends on Patchset: Messages
Total messages: 22 (14 generated)
Description was changed from ========== Worker: Fix test flakiness (timeout) on Dedicatedworkertest These tests wait for notifications from a worker context using nested loops. If notifications are consecutively delivered, the balance between enterRunLoop() and exitRunLoop() is lost and timeout happens. This CL queues notifications from a worker context and makes sure to keep the balance. BUG=655089 ========== to ========== Worker: Fix test flakiness (timeout) on DedicatedWorkerTest These tests wait for notifications from a worker context using nested loops. If notifications are consecutively delivered, the balance between enterRunLoop() and exitRunLoop() is lost and timeout happens. This CL queues notifications from a worker context and makes sure to keep the balance. BUG=655089 ==========
The CQ bit was checked by nhiroki@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
nhiroki@chromium.org changed reviewers: + falken@chromium.org
falken@, ptal. I want this fix because this flakiness seems more likely to occur after per-frame task scheduler changes. Thanks. https://codereview.chromium.org/2553973002/diff/1/third_party/WebKit/Source/c... File third_party/WebKit/Source/core/workers/DedicatedWorkerTest.cpp (left): https://codereview.chromium.org/2553973002/diff/1/third_party/WebKit/Source/c... third_party/WebKit/Source/core/workers/DedicatedWorkerTest.cpp:356: workerMessagingProxy()->workerGlobalScopeMayHavePendingActivity()); This expectation may fail if the next notification (PendingActivityReported) is delivered before this line, so I removed this.
I guess it's not from this patch, but I don't understand the difference between "mayHavePendingActivity" and "hasPendingActivity". Somewhat unintuitively, it looks like hasPendingActivity can be true while mayHavePendingActivity is false: return m_unconfirmedMessageCount || m_workerGlobalScopeMayHavePendingActivity; Could you possibly add a comment to bool m_workerGlobalScopeMayHavePendingActivity; and address why it's "may have"?
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: linux_chromium_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...)
On 2016/12/06 05:29:12, falken wrote: > I guess it's not from this patch, but I don't understand the difference between > "mayHavePendingActivity" and "hasPendingActivity". Somewhat unintuitively, it > looks like hasPendingActivity can be true while mayHavePendingActivity is false: > return m_unconfirmedMessageCount || m_workerGlobalScopeMayHavePendingActivity; > > Could you possibly add a comment to > bool m_workerGlobalScopeMayHavePendingActivity; > > and address why it's "may have"? Good point. I created a separate CL: https://codereview.chromium.org/2555673002/ Can you take a look at that CL first?
The CQ bit was checked by nhiroki@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
On 2016/12/06 06:33:00, nhiroki wrote: > On 2016/12/06 05:29:12, falken wrote: > > I guess it's not from this patch, but I don't understand the difference > between > > "mayHavePendingActivity" and "hasPendingActivity". Somewhat unintuitively, it > > looks like hasPendingActivity can be true while mayHavePendingActivity is > false: > > return m_unconfirmedMessageCount || > m_workerGlobalScopeMayHavePendingActivity; > > > > Could you possibly add a comment to > > bool m_workerGlobalScopeMayHavePendingActivity; > > > > and address why it's "may have"? > > Good point. I created a separate CL: > https://codereview.chromium.org/2555673002/ > > Can you take a look at that CL first? Rebased on the CL. Can you take another look at the patchset 2? Thanks!
lgtm
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
The CQ bit was checked by nhiroki@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
CQ is committing da patch.
Bot data: {"patchset_id": 20001, "attempt_start_ts": 1481015896039540,
"parent_rev": "e87aab86664c3e62793fff7c2176b321e740906a", "commit_rev":
"cca2b235fb472ea9871157eec64ac98cffa7e5c2"}
Message was sent while issue was closed.
Description was changed from ========== Worker: Fix test flakiness (timeout) on DedicatedWorkerTest These tests wait for notifications from a worker context using nested loops. If notifications are consecutively delivered, the balance between enterRunLoop() and exitRunLoop() is lost and timeout happens. This CL queues notifications from a worker context and makes sure to keep the balance. BUG=655089 ========== to ========== Worker: Fix test flakiness (timeout) on DedicatedWorkerTest These tests wait for notifications from a worker context using nested loops. If notifications are consecutively delivered, the balance between enterRunLoop() and exitRunLoop() is lost and timeout happens. This CL queues notifications from a worker context and makes sure to keep the balance. BUG=655089 ==========
Message was sent while issue was closed.
Committed patchset #2 (id:20001)
Message was sent while issue was closed.
Description was changed from ========== Worker: Fix test flakiness (timeout) on DedicatedWorkerTest These tests wait for notifications from a worker context using nested loops. If notifications are consecutively delivered, the balance between enterRunLoop() and exitRunLoop() is lost and timeout happens. This CL queues notifications from a worker context and makes sure to keep the balance. BUG=655089 ========== to ========== Worker: Fix test flakiness (timeout) on DedicatedWorkerTest These tests wait for notifications from a worker context using nested loops. If notifications are consecutively delivered, the balance between enterRunLoop() and exitRunLoop() is lost and timeout happens. This CL queues notifications from a worker context and makes sure to keep the balance. BUG=655089 Committed: https://crrev.com/d7babd6989862cc47c28874106f6dede10b059f5 Cr-Commit-Position: refs/heads/master@{#436552} ==========
Message was sent while issue was closed.
Patchset 2 (id:??) landed as https://crrev.com/d7babd6989862cc47c28874106f6dede10b059f5 Cr-Commit-Position: refs/heads/master@{#436552} |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
