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

Issue 677202 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
please use my google.com address
Closed: Mar 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 3
Type: Bug



Sign in to add a comment

DCHECK in ipc_perftests in WaitForClientShutdown

Project Member Reported by brucedaw...@chromium.org, Dec 27 2016

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
 

Comment 1 by roc...@chromium.org, Dec 27 2016

Owner: roc...@chromium.org
Status: Assigned (was: Untriaged)
Project Member

Comment 2 by bugdroid1@chromium.org, 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

Project Member

Comment 3 by bugdroid1@chromium.org, 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

Comment 4 by roc...@chromium.org, Mar 21 2017

Status: Fixed (was: Assigned)

Sign in to add a comment