New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 874719 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
please use my google.com address
Closed: Aug 17
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

"SharedBufferTest.CreateAndPassReadOnlyBuffer" is flaky

Project Member Reported by chromium...@appspot.gserviceaccount.com, Aug 16

Issue description

"SharedBufferTest.CreateAndPassReadOnlyBuffer" is flaky.

This issue was created automatically by the chromium-try-flakes app. Please find the right owner to fix the respective test/step and assign this issue to them. If the step/test is infrastructure-related, please add Infra-Troopers label and change issue status to Untriaged. When done, please remove the issue from Sheriff Bug Queue by removing the Sheriff-Chromium label.

We have detected 3 recent flakes. List of all flakes can be found at https://chromium-try-flakes.appspot.com/all_flake_occurrences?key=ahVzfmNocm9taXVtLXRyeS1mbGFrZXNyNwsSBUZsYWtlIixTaGFyZWRCdWZmZXJUZXN0LkNyZWF0ZUFuZFBhc3NSZWFkT25seUJ1ZmZlcgw.

Flaky tests should be disabled within 30 minutes unless culprit CL is found and reverted. Please see more details here: https://sites.google.com/a/chromium.org/dev/developers/tree-sheriffs/sheriffing-bug-queues#triaging-auto-filed-flakiness-bugs
 
Cc: amistry@chromium.org
I can reproduce this locally (but very rarely), but the flake isn't exactly new. Found this, for instance, which is 2 days old: https://ci.chromium.org/p/chromium/builders/luci.chromium.try/fuchsia_x64/84324

I wonder if the test should just be disabled for Fuchsia. It's already disabled on Android, FWIW.
Cc: roc...@chromium.org
I'm just going to do that (disable the test on Fuchsia).
https://chromium-review.googlesource.com/c/chromium/src/+/1177391
Project Member

Comment 3 by bugdroid1@chromium.org, Aug 16

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/53af1febe26af5a49009fc290b13fd89912a55f3

commit 53af1febe26af5a49009fc290b13fd89912a55f3
Author: Morten Stenshorne <mstensho@chromium.org>
Date: Thu Aug 16 11:07:19 2018

Disable SharedBufferTest.CreateAndPassFromChildReadOnlyBuffer on Fuchsia.

It's flaky.

TBR=rockot@chromium.org

Bug:  874719 
Change-Id: I2846001a08f8b56a90d9a9ec592953d1df97d8e0
Reviewed-on: https://chromium-review.googlesource.com/1177391
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Commit-Queue: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/master@{#583600}
[modify] https://crrev.com/53af1febe26af5a49009fc290b13fd89912a55f3/mojo/core/shared_buffer_unittest.cc

Labels: -Pri-1 -Sheriff-Chromium Pri-2
Status: Available (was: Untriaged)
Cc: -roc...@chromium.org w...@chromium.org
Owner: roc...@chromium.org
Status: Assigned (was: Available)
The (much worse) Android flake was specifically an issue with how we used to run multiprocess tests on Android, and in fact was fixed a long time ago. I'm going to re-enable these tests on Android.

I suspect I know what's causing the rare flake in these two specific tests. I think it's a child process shutdown race, where the child dies before the IO thread can actually flush outgoing IPCs.

Anyway, I can't repro, but I'm going to land what I think is a fix, and I'll re-enable on all platforms.
Project Member

Comment 6 by bugdroid1@chromium.org, Aug 17

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c0eebdcaed9e23b05a88082e142f1ee3e6cd0f39

commit c0eebdcaed9e23b05a88082e142f1ee3e6cd0f39
Author: Ken Rockot <rockot@chromium.org>
Date: Fri Aug 17 01:39:46 2018

[mojo-core] Fix flaky shared buffer tests

This (probably) fixes rare flake in
SharedBufferTest.CreateAndPassReadOnlyBuffer and
SharedBufferBufferTest.CreateAndPassFromChildReadOnlyBuffer.

Right now the child process expects to receive a "quit" message
at the end, and then it fires an "ok" to acknowledge that. The parent
process sends "quit" and waits to hear "ok" before terminating
the test.

The problem is that the child process may terminate itself before
its IPC thread has had a chance to forward the outgoing "ok" message.
This is normal behavior for the system, and the test should not
rely on any contrary delivery guarantees.

This basically just swaps the order of operations: now the child sends
its "ok" and waits to read a "quit" message before terminating. The
parent waits to receive an "ok" and then fires a "quit" message before
waiting on the child process's death. Everything works out just fine.

This re-enables the latter test on Fuchsia, and both tests on Android
where they were disabled a long long time ago for unrelated and
no-longer-relevant reasons (see  https://crbug.com/666356 ).

Bug:  874719 , 666356 
Change-Id: I2977b5a00b5dd0f0653289fb550bac17cfbeb21a
Reviewed-on: https://chromium-review.googlesource.com/1179201
Reviewed-by: Reilly Grant <reillyg@chromium.org>
Commit-Queue: Ken Rockot <rockot@chromium.org>
Cr-Commit-Position: refs/heads/master@{#583929}
[modify] https://crrev.com/c0eebdcaed9e23b05a88082e142f1ee3e6cd0f39/mojo/core/shared_buffer_unittest.cc

Status: Fixed (was: Assigned)
I think this did fix the flake.

Sign in to add a comment