|
|
Created:
4 years, 4 months ago by Ken Rockot(use gerrit already) Modified:
4 years, 4 months ago Reviewers:
yzshen1 CC:
Aaron Boodman, abarth-chromium, chromium-reviews, darin (slow to review), qsr+mojo_chromium.org, viettrungluu+watch_chromium.org, yzshen+watch_chromium.org Base URL:
https://chromium.googlesource.com/chromium/src.git@master Target Ref:
refs/pending/heads/master Project:
chromium Visibility:
Public. |
DescriptionMojo EDK: Add tests to exercise races in handle transit
Data pipe producer handles may change status while in transit
and the receiving end may never be notified of this change unless
they call MojoWait on the handle.
This fixes that, and adds test coverage to verify that the problem
does not exist and does not regress for data pipe consumers (fixed by
http://crrev.com/411707) or message pipe handles (don't currently
have this problem) either.
BUG=639363
R=yzshen@chromium.org
Committed: https://crrev.com/7cd99cc18b960e7d59109f16c53cad49ac09e7c4
Cr-Commit-Position: refs/heads/master@{#413356}
Patch Set 1 #Patch Set 2 : . #
Total comments: 2
Patch Set 3 : . #
Messages
Total messages: 30 (16 generated)
The CQ bit was checked by rockot@chromium.org to run a CQ dry run
Description was changed from ========== Mojo EDK: Add tests to exercise races in handle transit Data pipe producer handles may change status while in transit and the receiving end may never be notified of this change unless they call MojoWait on the handle. This fixes that, and adds test coverage to verify that the problem does not exist and does not regress for data pipe consumers (fixed by http://crrev.com/411707) or message pipe handles (don't currently have this problem.) BUG=639363 R=yzshen@chromium.org ========== to ========== Mojo EDK: Add tests to exercise races in handle transit Data pipe producer handles may change status while in transit and the receiving end may never be notified of this change unless they call MojoWait on the handle. This fixes that, and adds test coverage to verify that the problem does not exist and does not regress for data pipe consumers (fixed by http://crrev.com/411707) or message pipe handles (don't currently have this problem) either. BUG=639363 R=yzshen@chromium.org ==========
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Please take a look, thanks!
FWIW I was able to repro the same bug yhirano fixed for data pipe consumers, on data pipe producers using these tests.
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: linux_android_rel_ng on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_androi...)
The CQ bit was checked by rockot@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...
LGTM https://codereview.chromium.org/2259363002/diff/20001/mojo/edk/system/multipr... File mojo/edk/system/multiprocess_message_pipe_unittest.cc (right): https://codereview.chromium.org/2259363002/diff/20001/mojo/edk/system/multipr... mojo/edk/system/multiprocess_message_pipe_unittest.cc:1306: MojoHandle b = handles[0]; optional, nit: it seems a little easier to read if we directly use an array to refer to the handles here, and at line 1351.
LGTM
Thanks! https://codereview.chromium.org/2259363002/diff/20001/mojo/edk/system/multipr... File mojo/edk/system/multiprocess_message_pipe_unittest.cc (right): https://codereview.chromium.org/2259363002/diff/20001/mojo/edk/system/multipr... mojo/edk/system/multiprocess_message_pipe_unittest.cc:1306: MojoHandle b = handles[0]; On 2016/08/19 at 22:20:05, yzshen1 wrote: > optional, nit: it seems a little easier to read if we directly use an array to refer to the handles here, and at line 1351. Done
The CQ bit was checked by rockot@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from yzshen@chromium.org Link to the patchset: https://codereview.chromium.org/2259363002/#ps40001 (title: ".")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: linux_android_rel_ng on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_androi...)
The CQ bit was checked by rockot@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: linux_android_rel_ng on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_androi...)
The CQ bit was checked by rockot@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: linux_android_rel_ng on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_androi...)
The CQ bit was checked by rockot@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Message was sent while issue was closed.
Committed patchset #3 (id:40001)
Message was sent while issue was closed.
Description was changed from ========== Mojo EDK: Add tests to exercise races in handle transit Data pipe producer handles may change status while in transit and the receiving end may never be notified of this change unless they call MojoWait on the handle. This fixes that, and adds test coverage to verify that the problem does not exist and does not regress for data pipe consumers (fixed by http://crrev.com/411707) or message pipe handles (don't currently have this problem) either. BUG=639363 R=yzshen@chromium.org ========== to ========== Mojo EDK: Add tests to exercise races in handle transit Data pipe producer handles may change status while in transit and the receiving end may never be notified of this change unless they call MojoWait on the handle. This fixes that, and adds test coverage to verify that the problem does not exist and does not regress for data pipe consumers (fixed by http://crrev.com/411707) or message pipe handles (don't currently have this problem) either. BUG=639363 R=yzshen@chromium.org Committed: https://crrev.com/7cd99cc18b960e7d59109f16c53cad49ac09e7c4 Cr-Commit-Position: refs/heads/master@{#413356} ==========
Message was sent while issue was closed.
Patchset 3 (id:??) landed as https://crrev.com/7cd99cc18b960e7d59109f16c53cad49ac09e7c4 Cr-Commit-Position: refs/heads/master@{#413356} |