Build failure in mojo_system_unittests |
||
Issue descriptionTransient build mojo_system_unittests Revision range: chromium 387074 : 387077 Failing builders: Win10 Tests x64: https://build.chromium.org/p/chromium.win/builders/Win10%20Tests%20x64 Direct link to the failure https://build.chromium.org/p/chromium.win/builders/Win10%20Tests%20x64/builds/383/steps/mojo_system_unittests yzshen@ can you look?
,
Apr 14 2016
I've seen this flake locally on Windows, but it's good (I guess?) to have it reproing on a builder. I'm pretty sure this is an issue with some of the tests themselves, where pipe events race with child process shutdown. I'll take another look soon.
,
Apr 26 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0bcc20b48b02c2a84396f3e484da40303be0d5a4 commit 0bcc20b48b02c2a84396f3e484da40303be0d5a4 Author: rockot <rockot@chromium.org> Date: Tue Apr 26 04:23:22 2016 [mojo-edk] Fix lifetime management of rewritten Windows HANDLEs HANDLE values are carried in Channel messages as PlatformHandles. At various points in its lifetime, a PlaformHandle may actually correspond to a HANDLE in another process's handle table - for example when sending an outgoing message containing a handle, the handle is duplicated to the target process and then serialized. In some cases, a duplicated handle is never sent to the target process (e.g. an outgoing message queued on a Channel but not sent before the Channel is torn down). In such cases we were blindly calling CloseHandle which is incorrect (see comments inside CL). This CL adds a field to PlatformHandle to track the process to which the HANDLE belongs. In addition to being used for sanity checks in RewriteHandles, this is also used to allow PlatformHandle to do the right thing when closing a handle owned by another process. BUG= 603280 R=amistry@chromium.org Review URL: https://codereview.chromium.org/1914053003 Cr-Commit-Position: refs/heads/master@{#389693} [modify] https://crrev.com/0bcc20b48b02c2a84396f3e484da40303be0d5a4/mojo/edk/embedder/platform_handle.cc [modify] https://crrev.com/0bcc20b48b02c2a84396f3e484da40303be0d5a4/mojo/edk/embedder/platform_handle.h [modify] https://crrev.com/0bcc20b48b02c2a84396f3e484da40303be0d5a4/mojo/edk/system/channel.cc [modify] https://crrev.com/0bcc20b48b02c2a84396f3e484da40303be0d5a4/mojo/edk/system/node_channel.cc [modify] https://crrev.com/0bcc20b48b02c2a84396f3e484da40303be0d5a4/mojo/edk/system/node_controller.cc
,
Apr 26 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d582e6542b8e590ffbfcaf0b2a21afc83b2166d8 commit d582e6542b8e590ffbfcaf0b2a21afc83b2166d8 Author: rockot <rockot@chromium.org> Date: Tue Apr 26 04:31:54 2016 [mojo-edk] Fix some multiprocess test expectations Some of the shared buffer tests were waiting for child processes to respond to "quit" messages with an "ok" before exiting, but delivery of that message can race with child process exit, leading to MojoWait failures. This extra synchronization step is unnecessary, so this CL removes it. BUG= 603280 R=amistry@chromium.org Review URL: https://codereview.chromium.org/1919103002 Cr-Commit-Position: refs/heads/master@{#389695} [modify] https://crrev.com/d582e6542b8e590ffbfcaf0b2a21afc83b2166d8/mojo/edk/system/shared_buffer_unittest.cc
,
Apr 26 2016
mojo_system_unittests flake should be fixed now. |
||
►
Sign in to add a comment |
||
Comment 1 by yzshen@chromium.org
, Apr 14 2016Owner: roc...@chromium.org
Ken and Anand may be more familiar with this test. Would you please take a look? It seems mojo_system_unittests is fairly flaky. I noticed this test suite failed 4 out of the last 200 runs on the same bot. ============================================================================ [ RUN ] MultiprocessMessagePipeTest.SendPipeWithClosedPeerBetweenChildren [3200:3356:0413/070559:1229390:WARNING:test_suite.cc(195)] Test launcher output path C:\Users\CHROME~2\AppData\Local\Temp\1536_772\test_results.xml exists. Not adding test launcher result printer. [5576:5984:0413/070559:1229390:WARNING:test_suite.cc(195)] Test launcher output path C:\Users\CHROME~2\AppData\Local\Temp\1536_772\test_results.xml exists. Not adding test launcher result printer. [3200:3356:0413/070559:1229390:FATAL:mojo_test_base.cc(125)] Check failed: MojoWait(mp, MOJO_HANDLE_SIGNAL_READABLE, MOJO_DEADLINE_INDEFINITE, nullptr) == MOJO_RESULT_OK (9 vs. 0) Backtrace: base::debug::StackTrace::StackTrace [0x00007FF68AB830A1+33] logging::LogMessage::~LogMessage [0x00007FF68AB6F99C+76] mojo::edk::test::MojoTestBase::ReadMessageWithHandles [0x00007FF68ABD7013+131] mojo::edk::test::MojoTestBase::ReadMessage [0x00007FF68ABD6F84+20] testing::internal::ParameterizedTestCaseInfo<mojo::edk::`anonymous namespace'::MultiprocessMessagePipeTestWithPipeCount>::GetTestCaseTypeId [0x00007FF68AB434CD+22973] std::_Func_impl<<lambda_d041b4a64e678ccfb5ef865794cbf53d>,std::allocator<int>,int,unsigned int>::_Do_call [0x00007FF68ABD5E1A+26] mojo::edk::test::MultiprocessTestHelper::ChildSetup [0x00007FF68ABD4FCB+539] mojo::edk::test::MultiprocessTestHelper::RunClientTestMain [0x00007FF68ABD50EF+95] base::internal::Invoker<base::IndexSequence<0>,base::internal::BindState<base::internal::RunnableAdapter<int (__cdecl mojo::edk::`anonymous namespace'::ChannelEchoClient_MainFixture::*)(unsigned int) __ptr64>,int __cdecl(mojo::edk::`anonymous namespace':: [0x00007FF68AB45223+1363] multi_process_function_list::InvokeChildProcessTest [0x00007FF68ABC94EB+91] base::TestSuite::Run [0x00007FF68AC2D000+160] base::LaunchUnitTests [0x00007FF68AC29B92+1074] base::LaunchUnitTests [0x00007FF68AC297EC+140] main [0x00007FF68AC27F5F+351] __scrt_common_main_seh [0x00007FF68ABFAE4C+292] (f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:255) BaseThreadInitThunk [0x00007FFEA6612D92+34] RtlUserThreadStart [0x00007FFEA67C9F64+52] [3096:5432:0413/070559:1229390:FATAL:mojo_test_base.cc(110)] Check failed: MojoWriteMessage(mp, message.data(), static_cast<uint32_t>(message.size()), handles, num_handles, MOJO_WRITE_MESSAGE_FLAG_NONE) == MOJO_RESULT_OK (9 vs. 0) Backtrace: base::debug::StackTrace::StackTrace [0x00007FF68AB830A1+33] logging::LogMessage::~LogMessage [0x00007FF68AB6F99C+76] mojo::edk::test::MojoTestBase::WriteMessage [0x00007FF68ABD7A0C+124] testing::internal::ParameterizedTestCaseInfo<mojo::edk::`anonymous namespace'::MultiprocessMessagePipeTestWithPipeCount>::TestInfo::~TestInfo [0x00007FF68AB37B82+15634] mojo::edk::test::MojoTestBase::StartClientWithHandler<<lambda_2cb31e535758d3df225e8f7548ceb6f9> > [0x00007FF68AB313CF+63] base::internal::Invoker<base::IndexSequence<0>,base::internal::BindState<base::internal::RunnableAdapter<int (__cdecl mojo::edk::`anonymous namespace'::ChannelEchoClient_MainFixture::*)(unsigned int) __ptr64>,int __cdecl(mojo::edk::`anonymous namespace':: [0x00007FF68AB46DE6+8470] testing::Test::Run [0x00007FF68ABC4B16+278] testing::TestInfo::Run [0x00007FF68ABC4EBB+267] testing::TestCase::Run [0x00007FF68ABC4CC4+308] testing::internal::UnitTestImpl::RunAllTests [0x00007FF68ABC536E+670] testing::UnitTest::Run [0x00007FF68ABC508E+254] base::TestSuite::Run [0x00007FF68AC2D011+177] base::LaunchUnitTests [0x00007FF68AC29B92+1074] base::LaunchUnitTests [0x00007FF68AC297EC+140] main [0x00007FF68AC27F5F+351] __scrt_common_main_seh [0x00007FF68ABFAE4C+292] (f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:255) BaseThreadInitThunk [0x00007FFEA6612D92+34] RtlUserThreadStart [0x00007FFEA67C9F64+52] [119/119] MultiprocessMessagePipeTest.SendPipeWithClosedPeerBetweenChildren (CRASHED) 1 test crashed: MultiprocessMessagePipeTest.SendPipeWithClosedPeerBetweenChildren (c:\b\build\slave\win_x64_builder\build\src\mojo\edk\system\multiprocess_message_pipe_unittest.cc:1252)