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

Issue 600775 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: May 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug

Blocking:
issue 82385



Sign in to add a comment

IPCSyncChannelTests in ipc_tests failing on 64-bit clang/win release bot

Project Member Reported by thakis@chromium.org, Apr 5 2016

Issue description

Started here: https://build.chromium.org/p/chromium.fyi/builders/CrWinClang64%28dll%29%20tester/builds/2472

Contains https://codereview.chromium.org/1859763002


Since it's only on one release bot and it's related to friends and export, this kind of feels more like a compiler bug than a code bug.
 
Test list:

IPCSyncChannelTest.ChannelDeleteDuringSend [logdog]
IPCSyncChannelTest.ChattyServer [logdog]
IPCSyncChannelTest.DelayReply [logdog]
IPCSyncChannelTest.DoneEventRace [logdog]
IPCSyncChannelTest.Multiple [logdog]
IPCSyncChannelTest.NoHang [logdog]
IPCSyncChannelTest.QueuedReply [logdog]
IPCSyncChannelTest.Recursive [logdog]
IPCSyncChannelTest.RecursiveNoHang [logdog]
IPCSyncChannelTest.ReentrantReply [logdog]
IPCSyncChannelTest.RestrictedDispatch [logdog]
IPCSyncChannelTest.RestrictedDispatch4WayDeadlock [logdog]
IPCSyncChannelTest.RestrictedDispatchDeadlock [logdog]
IPCSyncChannelTest.Simple [logdog]
IPCSyncChannelTest.SyncMessageFilter [logdog]
IPCSyncChannelTest.TwoStepInitialization [logdog]
IPCSyncChannelTest.Unblock [logdog]
IPCSyncChannelTest.Verified [logdog]


Looks like they just time out:

[ RUN      ] IPCSyncChannelTest.ChannelDeleteDuringSend
[4912:4424:0404/194947:9902319:WARNING:ipc_channel_win.cc(370)] Unable to create pipe "\\.\pipe\chrome." in server mode: All pipe instances are busy. (0xE7)
[4912:4708:0404/194947:9902319:WARNING:ipc_channel_win.cc(370)] Unable to create pipe "\\.\pipe\chrome." in client mode: All pipe instances are busy. (0xE7)
[46/61] IPCSyncChannelTest.ChannelDeleteDuringSend (TIMED OUT)

Comment 2 by h...@chromium.org, Apr 7 2016

For me, some tests timed out (with the same "All pipe instances are busy" message), but then passed on re-try:

[ RUN      ] IPCSyncChannelTest.RecursiveNoHang
[9904:6376:0407/105059:1697407410:WARNING:ipc_channel_win.cc(370)] Unable to cre
ate pipe "\\.\pipe\chrome." in server mode: All pipe instances are busy. (0xE7)
[9904:2136:0407/105059:1697407410:WARNING:ipc_channel_win.cc(370)] Unable to cre
ate pipe "\\.\pipe\chrome." in client mode: The system cannot find the file spec
ified. (0x2)
[58/61] IPCSyncChannelTest.RecursiveNoHang (TIMED OUT)
[ RUN      ] IPCSyncChannelTest.ChannelDeleteDuringSend
[7884:9164:0407/105059:1697407395:WARNING:ipc_channel_win.cc(370)] Unable to cre
ate pipe "\\.\pipe\chrome." in server mode: All pipe instances are busy. (0xE7)
[7884:8988:0407/105059:1697407395:WARNING:ipc_channel_win.cc(370)] Unable to cre
ate pipe "\\.\pipe\chrome." in client mode: The system cannot find the file spec
ified. (0x2)
[59/61] IPCSyncChannelTest.ChannelDeleteDuringSend (TIMED OUT)
[ RUN      ] IPCSyncChannelTest.DoneEventRace
[6292:8916:0407/105059:1697407441:WARNING:ipc_channel_win.cc(370)] Unable to cre
ate pipe "\\.\pipe\chrome." in server mode: All pipe instances are busy. (0xE7)
[6292:5288:0407/105059:1697407441:WARNING:ipc_channel_win.cc(370)] Unable to cre
ate pipe "\\.\pipe\chrome." in client mode: All pipe instances are busy. (0xE7)
[60/61] IPCSyncChannelTest.DoneEventRace (TIMED OUT)
[ RUN      ] IPCSyncChannelTest.SyncMessageFilter
[10208:7220:0407/105059:1697407441:WARNING:ipc_channel_win.cc(370)] Unable to cr
eate pipe "\\.\pipe\chrome." in server mode: All pipe instances are busy. (0xE7)

[10208:9824:0407/105059:1697407441:WARNING:ipc_channel_win.cc(370)] Unable to cr
eate pipe "\\.\pipe\chrome." in client mode: All pipe instances are busy. (0xE7)

[61/61] IPCSyncChannelTest.SyncMessageFilter (TIMED OUT)
Retrying 6 tests (retry #1)
[62/67] IPCSyncChannelTest.Unblock (16 ms)
[63/67] IPCSyncChannelTest.SyncMessageFilter (0 ms)
[64/67] IPCSyncChannelTest.Simple (16 ms)
[65/67] IPCSyncChannelTest.RecursiveNoHang (0 ms)
[66/67] IPCSyncChannelTest.DoneEventRace (265 ms)
[67/67] IPCSyncChannelTest.ChannelDeleteDuringSend (0 ms)
SUCCESS: all tests passed.
Tests took 497 seconds. 



If I run with --test-launcher-jobs=1, all tests pass in 5 seconds:

[61/61] SyncSocketTest.NonBlockingWriteTest (1016 ms)
SUCCESS: all tests passed.
Tests took 5 seconds.


The non-Clang tester is having some of the same problems: "All pipe instances are busy", timeout, retry:

https://build.chromium.org/p/chromium.win/builders/Win%207%20Tests%20x64%20%281%29/builds/12692/steps/ipc_tests%20on%20Windows-7-SP1/logs/stdio

But to a lesser degree, so the test passes after timeout.

This doesn't smell like a compiler issue, more like a problem with the test..

Comment 4 by h...@chromium.org, Apr 7 2016

Others having problem with ipc_tests: https://codereview.chromium.org/1848413002

Comment 5 by h...@chromium.org, Apr 7 2016

Cc: erikc...@chromium.org
Status: Available (was: Untriaged)
erikchen: You've touched ipc_channel_win.cc some recently.

There seems to be a race when ipc_tests runs multiple tests in parallel, and they all want to created named pipes called "\\.\pipe\chrome.", sometimes failing with "All pipe instances are busy. (0xE7)"

Is there some way we can fix this? Can the tests be changed somehow so the test launcher doesn't try to run them in parallel?
Labels: OS-Windows
Owner: erikc...@chromium.org
Status: Assigned (was: Available)
Cc: tsepez@chromium.org
Labels: -Pri-3 Pri-2
Not sure why this started recently, since my changes shouldn't affect sync tests. Will take al ook.

Comment 8 by h...@chromium.org, Apr 7 2016

Right, I wasn't saying this is due to your changes, just that you might know this code :-)

For all I know, the tests may have been having this problem since forever, and something recently perturbed them to make it worse on this specific bot.
I think that not using the same name for every pipe being used simultaneously will probably solve the problem. Will try it out.
Project Member

Comment 10 by bugdroid1@chromium.org, Apr 8 2016

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

commit 99fbfc66cfb1bc58f5336303176fb341cc2c6aa7
Author: erikchen <erikchen@chromium.org>
Date: Fri Apr 08 22:37:48 2016

ipc: Add channel names to sync tests.

This prevents flaky test failures on Windows.

BUG= 600775 

Review URL: https://codereview.chromium.org/1871093002

Cr-Commit-Position: refs/heads/master@{#386231}

[modify] https://crrev.com/99fbfc66cfb1bc58f5336303176fb341cc2c6aa7/ipc/ipc_sync_channel_unittest.cc

Status: Fixed (was: Assigned)
This fixed the problem locally. Reopen if you still see problems on the tree.

Comment 12 by h...@chromium.org, Apr 12 2016

Status: Started (was: Fixed)
I still see failures. For example, from https://build.chromium.org/p/chromium.fyi/builders/CrWinClang64%28dll%29%20tester/builds/2499/steps/ipc_tests%20on%20Windows-7-SP1/logs/stdio:

 RUN      ] IPCSyncChannelTest.ChannelDeleteDuringSend
[3872:2356:0410/232134:25988112:WARNING:ipc_channel_win.cc(370)] Unable to create pipe "\\.\pipe\chrome.Unblock" in server mode: All pipe instances are busy. (0xE7)
[3872:616:0410/232134:25988112:WARNING:ipc_channel_win.cc(370)] Unable to create pipe "\\.\pipe\chrome.Unblock" in client mode: All pipe instances are busy. (0xE7)


Looks like there's more than one test using the Unblock channel name, for example, both IPCSyncChannelTest.Unblock and IPCSyncChannelTest.ChannelDeleteDuringSend
Erik, is there anything more you want to do here? The bot's been green for a while, so maybe these WARNING messages are harmless (should they be suppressed then?)
All tests should use different pipe names. I'll fix this at ... some point.
Status: Fixed (was: Started)
The pervasive failures are gone, so let's mark this fixed. Maybe you want to file a different bug for fixing all the pipe names at some point :-)

Sign in to add a comment