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

Issue 854458 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Fuchsia
Pri: 1
Type: Bug



Sign in to add a comment

"SharedBufferTest.PassHandleBetweenCousins" is flaky

Project Member Reported by chromium...@appspot.gserviceaccount.com, Jun 20 2018

Issue description

"SharedBufferTest.PassHandleBetweenCousins" 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=ahVzfmNocm9taXVtLXRyeS1mbGFrZXNyNAsSBUZsYWtlIilTaGFyZWRCdWZmZXJUZXN0LlBhc3NIYW5kbGVCZXR3ZWVuQ291c2lucww.

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
 
Components: Internals>Mojo
Labels: OS-Fuchsia
Cc: msramek@chromium.org roc...@chromium.org
Owner: roc...@chromium.org
Status: Assigned (was: Untriaged)
rockot@: Can you please have a look or help route?

There are four flakes over the past two days.

The test output is:
===============================================================================================================


[ RUN      ] SharedBufferTest.PassHandleBetweenCousins
[26913:2021895383:0620/045956.807445:19453733:WARNING:test_suite.cc(240)] Test launcher output path /tmp/.org.chromium.Chromium.bGHNlj/test_results.xml exists. Not adding test launcher result printer.
[26982:66235161:0620/045956.847834:19494123:WARNING:test_suite.cc(240)] Test launcher output path /tmp/.org.chromium.Chromium.bGHNlj/test_results.xml exists. Not adding test launcher result printer.
[27253:640808943:0620/045956.988934:19635222:WARNING:test_suite.cc(240)] Test launcher output path /tmp/.org.chromium.Chromium.bGHNlj/test_results.xml exists. Not adding test launcher result printer.
[27307:1498481971:0620/045956.994367:19640655:WARNING:test_suite.cc(240)] Test launcher output path /tmp/.org.chromium.Chromium.bGHNlj/test_results.xml exists. Not adding test launcher result printer.
[25299:175598433:0620/045957.060869:19707158:FATAL:platform_handle.cc(81)] Check failed: (0) == result (0 vs. -11)CloseIfNecessary(zx_handle_close): ZX_ERR_BAD_HANDLE
bt#00: pc 0x38e78a81ffa1 (app:/pkg/bin/app,0x563fa1)
bt#01: pc 0x38e78a7c84f0 (app:/pkg/bin/app,0x50c4f0)
bt#02: pc 0x38e78a6baf2c (app:/pkg/bin/app,0x3fef2c)
bt#03: pc 0x38e78a6e412c (app:/pkg/bin/app,0x42812c)
bt#04: pc 0x38e78a6cd3cb (app:/pkg/bin/app,0x4113cb)
bt#05: pc 0x38e78a6cddf2 (app:/pkg/bin/app,0x411df2)
bt#06: pc 0x38e78a6d6734 (app:/pkg/bin/app,0x41a734)
bt#07: pc 0x38e78a6ce4cf (app:/pkg/bin/app,0x4124cf)
bt#08: pc 0x38e78a6bc663 (app:/pkg/bin/app,0x400663)
bt#09: pc 0x38e78a6e5015 (app:/pkg/bin/app,0x429015)
bt#10: pc 0x38e78a8274e6 (app:/pkg/bin/app,0x56b4e6)
bt#11: pc 0x38e78a828379 (app:/pkg/bin/app,0x56c379)
bt#12: pc 0x38e78a827990 (app:/pkg/bin/app,0x56b990)
bt#13: pc 0x38e78a7ced69 (app:/pkg/bin/app,0x512d69)
bt#14: pc 0x38e78a7e7865 (app:/pkg/bin/app,0x52b865)
bt#15: pc 0x38e78a805901 (app:/pkg/bin/app,0x549901)
bt#16: pc 0x38e78a805bb8 (app:/pkg/bin/app,0x549bb8)
bt#17: pc 0x38e78a82cff2 (app:/pkg/bin/app,0x570ff2)
bt#18: pc 0x7c2b99dd59c6 (libasync-default.so,0x2b8b83519c6)
bt#19: pc 0x7c2b99e49de9 (libasync-default.so,0x2b8b83c5de9)
bt#20: end
[26913:2021895383:0620/045957.101519:19747806:FATAL:mojo_test_base.cc(128)] Check failed: WaitForSignals(mp, MOJO_HANDLE_SIGNAL_READABLE) == MOJO_RESULT_OK (9 vs. 0)
bt#00: pc 0x19ad17cb2fa1 (app:/pkg/bin/app,0x563fa1)
bt#01: pc 0x19ad17c5b4f0 (app:/pkg/bin/app,0x50c4f0)
bt#02: pc 0x19ad17d47521 (app:/pkg/bin/app,0x5f8521)
bt#03: pc 0x19ad17d47c7d (app:/pkg/bin/app,0x5f8c7d)
bt#04: pc 0x19ad178f4cf7 (app:/pkg/bin/app,0x1a5cf7)
bt#05: pc 0x19ad17d4a535 (app:/pkg/bin/app,0x5fb535)
bt#06: pc 0x19ad178f2f9d (app:/pkg/bin/app,0x1a3f9d)
bt#07: pc 0x19ad17cd28ba (app:/pkg/bin/app,0x5838ba)
bt#08: pc 0x19ad17cd618b (app:/pkg/bin/app,0x58718b)
bt#09: pc 0x19ad17cd5fcc (app:/pkg/bin/app,0x586fcc)
bt#10: pc 0x19ad17967882 (app:/pkg/bin/app,0x218882)
bt#11: pc 0x646e33997f6e (libfdio.so,0x2dd28ca0f6e)
bt#12: end
[27253:640808943:0620/045957.114293:19760579:FATAL:mojo_test_base.cc(128)] Check failed: WaitForSignals(mp, MOJO_HANDLE_SIGNAL_READABLE) == MOJO_RESULT_OK (9 vs. 0)
bt#00: pc 0x4169b0bc9fa1 (app:/pkg/bin/app,0x563fa1)
bt#01: pc 0x4169b0b724f0 (app:/pkg/bin/app,0x50c4f0)
bt#02: pc 0x4169b0c5e521 (app:/pkg/bin/app,0x5f8521)
bt#03: pc 0x4169b0c5ec7d (app:/pkg/bin/app,0x5f8c7d)
bt#04: pc 0x4169b080b100 (app:/pkg/bin/app,0x1a5100)
bt#05: pc 0x4169b0c61535 (app:/pkg/bin/app,0x5fb535)
bt#06: pc 0x4169b0809e3d (app:/pkg/bin/app,0x1a3e3d)
bt#07: pc 0x4169b0be98ba (app:/pkg/bin/app,0x5838ba)
bt#08: pc 0x4169b0bed18b (app:/pkg/bin/app,0x58718b)
bt#09: pc 0x4169b0becfcc (app:/pkg/bin/app,0x586fcc)
bt#10: pc 0x4169b087e882 (app:/pkg/bin/app,0x218882)
bt#11: pc 0x6bede407bf6e (libasync-default.so,0x8c86be59f6e)
bt#12: end

The same test had also been previously disabled due to flakiness on Android.

Comment 4 by roc...@chromium.org, Jun 20 2018

Cc: w...@chromium.org
Nothing relevant in mojo has changed near the regression. +wez - any reason you could think of for a double-close being introduced in Fuchsia recently? All the check failures here are likely a result of an unexpected process death, with the unexpected process death being a result of a double handle closure assertion failure.

Only affects Fuchsia and only appeared yesterday, assuming prior flake (months ago) is unrelated.

Comment 5 by roc...@chromium.org, Jun 20 2018

s/All the check failures/The last two check failures/

Comment 6 by w...@chromium.org, Jun 20 2018

Labels: M-69
Status: Started (was: Assigned)
Thanks Ken! I think this is a symptom ofa change in the handle-passing semantics of the Fuchsia IPC write API - it now consumes all the supplied handles whether or not it succeeds.

We'll need to update the Channel implementation for Fuchsia to release passed handles unconditionally, after write()ing them, similarly to the change we had to make for process-launch handle transfer.

Comment 7 by w...@chromium.org, Jun 20 2018

Owner: w...@chromium.org
Project Member

Comment 8 by bugdroid1@chromium.org, Jun 20 2018

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

commit 676b5fae19bd233e4cce1479d631e421fec9e7b1
Author: Wez <wez@chromium.org>
Date: Wed Jun 20 22:34:08 2018

[mojo] Release() sent handles regardless of zx_channel_write() result.

Fuchsia recently changed the zx_channel_write() API to always consume
the supplied handles, by default, regardless of whether the call
succeeds in transferring them to the peer process.

Update the mojo::edk::Channel::Write() implementation to account for the
new semantics.

Bug:  854458 , 754084,  740791 
Change-Id: I27f78a09ff8bf2aaf94ac571678d4c2259b48b10
Reviewed-on: https://chromium-review.googlesource.com/1108970
Reviewed-by: Wez <wez@chromium.org>
Reviewed-by: Ken Rockot <rockot@chromium.org>
Commit-Queue: Wez <wez@chromium.org>
Cr-Commit-Position: refs/heads/master@{#569053}
[modify] https://crrev.com/676b5fae19bd233e4cce1479d631e421fec9e7b1/mojo/edk/system/channel_fuchsia.cc

Comment 9 by w...@chromium.org, Jun 20 2018

Status: Fixed (was: Started)

Sign in to add a comment