DCHECK in ipc_perftests in WaitForClientShutdown |
||
Issue description
If you run and build a debug version of ipc_perftests, such as with this gn settings:
is_component_build = false
is_debug = true
then ipc_perftests will fail with this message:
c:\src\chromium4\src\ipc\ipc_perftest_support.cc(289): error: Value of: WaitForClientShutdown()
Actual: false
Expected: true
The full output is:
> ninja -C out\debug ipc_perftests & out\debug\ipc_perftests --gtest_filter=MojoChannelPerfTest.ChannelPingPong
ninja: Entering directory `out\debug'
ninja: no work to do.
Note: Google Test filter = MojoChannelPerfTest.ChannelPingPong
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from MojoChannelPerfTest
[ RUN ] MojoChannelPerfTest.ChannelPingPong
IPC_Channel_Perf_500x_12 266.522 ms
IPC_Channel_Perf_500x_144 236.377 ms
IPC_Channel_Perf_500x_1728 195.197 ms
IPC_Channel_Perf_120x_20736 65.384 ms
IPC_Channel_Perf_10x_248832 25.445 ms
[81556:29080:1227/142537.450:959790265:FATAL:handle.h(170)] Check failed: MOJO_RESULT_OK == result (0 vs. 3)
Backtrace:
base::debug::StackTrace::StackTrace [0x00550F07+23] (c:\src\chromium4\src\base\debug\stack_trace_win.cc:214)
logging::LogMessage::~LogMessage [0x004BF79B+59] (c:\src\chromium4\src\base\logging.cc:538)
mojo::Handle::Close [0x0045C77B+315] (c:\src\chromium4\src\mojo\public\cpp\system\handle.h:171)
mojo::ScopedHandleBase<mojo::MessagePipeHandle>::CloseIfNecessary [0x0045C7EE+30] (c:\src\chromium4\src\mojo\public\cpp\system\handle.h:131)
mojo::ScopedHandleBase<mojo::MessagePipeHandle>::~ScopedHandleBase<mojo::MessagePipeHandle> [0x0045ADEF+15] (c:\src\chromium4\src\mojo\public\cpp\system\handle.h:79)
mojo::edk::test::`anonymous namespace'::RunClientFunction<<lambda_ff2e4eab4aaddf841d3bffacbbc48594> > [0x007CAF17+167] (c:\src\chromium4\src\mojo\edk\test\multiprocess_test_helper.cc:52)
mojo::edk::test::MultiprocessTestHelper::RunClientMain [0x007CB944+20] (c:\src\chromium4\src\mojo\edk\test\multiprocess_test_helper.cc:243)
IPC::`anonymous namespace'::MojoPerfTestClientTestChildMain [0x0045C9F5+69] (c:\src\chromium4\src\ipc\ipc_mojo_perftest.cc:92)
multi_process_function_list::InvokeChildProcessTest [0x007FED34+116] (c:\src\chromium4\src\testing\multiprocess_func_list.cc:51)
base::TestSuite::Run [0x00700669+89] (c:\src\chromium4\src\base\test\test_suite.cc:266)
main [0x0046472D+45] (c:\src\chromium4\src\ipc\run_all_perftests.cc:16)
invoke_main [0x00A08EBE+30] (f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:64)
__scrt_common_main_seh [0x00A08D40+336] (f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:253)
__scrt_common_main [0x00A08BDD+13] (f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:296)
mainCRTStartup [0x00A08ED8+8] (f:\dd\vctools\crt\vcstartup\src\startup\exe_main.cpp:17)
BaseThreadInitThunk [0x75593744+36]
RtlSetCurrentTransaction [0x77169E54+212]
RtlSetCurrentTransaction [0x77169E1F+159]
c:\src\chromium4\src\ipc\ipc_perftest_support.cc(289): error: Value of: WaitForClientShutdown()
Actual: false
Expected: true
[ FAILED ] MojoChannelPerfTest.ChannelPingPong (927 ms)
[----------] 1 test from MojoChannelPerfTest (929 ms total)
[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (939 ms total)
[ PASSED ] 0 tests.
[ FAILED ] 1 test, listed below:
[ FAILED ] MojoChannelPerfTest.ChannelPingPong
1 FAILED TEST
,
Dec 27 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c062784026f9d99fb0fc9c516ed77106e16cf359 commit c062784026f9d99fb0fc9c516ed77106e16cf359 Author: brucedawson <brucedawson@chromium.org> Date: Tue Dec 27 23:33:24 2016 Reduce ipc_perftests iterations in debug builds Debug builds of ipc_perftests on Windows take multiple minutes to run which makes them unwieldy and complicates investigating debug-only test failures. BUG= 677202 Review-Url: https://codereview.chromium.org/2603753004 Cr-Commit-Position: refs/heads/master@{#440804} [modify] https://crrev.com/c062784026f9d99fb0fc9c516ed77106e16cf359/ipc/ipc_perftest_support.cc
,
Mar 21 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/40e95910df7d53d209041164ebb91351890e9117 commit 40e95910df7d53d209041164ebb91351890e9117 Author: rockot <rockot@chromium.org> Date: Tue Mar 21 18:59:35 2017 Fix DCHECK in ipc_perftests Mojo Channel perf tests use an EDK supplied helper for multiprocess client setup. This helper assumes ownership of the client's primordial message pipe. IPC perf tests take ownership of the pipe and pass it to an IPC::Channel. These are conflicting policies. This allows a test helper user to indicate that the helper code should not assume ownership of its pipe handle. BUG= 677202 R=yzshen@chromium.org Review-Url: https://codereview.chromium.org/2766763002 Cr-Commit-Position: refs/heads/master@{#458497} [modify] https://crrev.com/40e95910df7d53d209041164ebb91351890e9117/ipc/ipc_mojo_perftest.cc [modify] https://crrev.com/40e95910df7d53d209041164ebb91351890e9117/mojo/edk/test/multiprocess_test_helper.cc [modify] https://crrev.com/40e95910df7d53d209041164ebb91351890e9117/mojo/edk/test/multiprocess_test_helper.h
,
Mar 21 2017
|
||
►
Sign in to add a comment |
||
Comment 1 by roc...@chromium.org
, Dec 27 2016Status: Assigned (was: Untriaged)