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

Issue 596621 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner:
please use my google.com address
Closed: May 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Bug



Sign in to add a comment

Possible to hit DCHECK in node_controller

Project Member Reported by sky@chromium.org, Mar 21 2016

Issue description

As part of https://codereview.chromium.org/1814223002/ we are trying to shutdown cleanly rather than exit. By shutdown cleanly I mean quit the message loop and have main return. Unfortunately doing that leads to a DCHECK in node_controller with one test. The test is ConnectTest.ConnectToClientProcess_Blocked.

The specific problematic case is connect_test_driver.cc. If the exit is removed, the following DCHECK is hit:

Backtrace:
        base::debug::StackTrace::StackTrace [0x0000000180080D46+54] (d:\src\builds\build2\src\base\debug\stack_trace_win.cc:215)
        logging::LogMessage::~LogMessage [0x00000001800FC929+89] (d:\src\builds\build2\src\base\logging.cc:520)
        logging::Win32ErrorLogMessage::~Win32ErrorLogMessage [0x00000001800FCECE+174] (d:\src\builds\build2\src\base\logging.cc:840)
        base::MessagePumpForIO::RegisterIOHandler [0x0000000180148C1A+346] (d:\src\builds\build2\src\base\message_loop\message_pump_win.cc:454)
        base::MessageLoopForIO::RegisterIOHandler [0x0000000180138163+83] (d:\src\builds\build2\src\base\message_loop\message_loop.cc:729)
        mojo::edk::`anonymous namespace'::ChannelWin::StartOnIOThread [0x0000000000BA8C08+184] (d:\src\builds\build2\src\mojo\edk\system\channel_win.cc:153)
        base::internal::RunnableAdapter<void (__cdecl mojo::edk::`anonymous namespace'::ChannelWin::*)(void) __ptr64>::Run<> [0x0000000000BA52D1+65] (d:\src\bui
lds\build2\src\base\bind_internal.h:182)
        base::internal::InvokeHelper<0,void,base::internal::RunnableAdapter<void (__cdecl mojo::edk::`anonymous namespace'::ChannelWin::*)(void) __ptr64> >::Mak
eItSo<mojo::edk::`anonymous namespace'::ChannelWin * __ptr64> [0x0000000000BA513A+58] (d:\src\builds\build2\src\base\bind_internal.h:302)
        base::internal::Invoker<base::IndexSequence<0>,base::internal::BindState<base::internal::RunnableAdapter<void (__cdecl mojo::edk::`anonymous namespace':
:ChannelWin::*)(void) __ptr64>,void __cdecl(mojo::edk::`anonymous namespace'::ChannelWin * __ptr64),moj [0x0000000000BA86DE+110] (d:\src\builds\build2\src\base\
bind_internal.h:355)
        base::Callback<void __cdecl(void),1>::Run [0x000000018003DC5D+61] (d:\src\builds\build2\src\base\callback.h:398)
        base::debug::TaskAnnotator::RunTask [0x000000018008EFC5+549] (d:\src\builds\build2\src\base\debug\task_annotator.cc:53)
        base::MessageLoop::RunTask [0x0000000180139608+968] (d:\src\builds\build2\src\base\message_loop\message_loop.cc:477)
        base::MessageLoop::DeferOrRunPendingTask [0x0000000180136561+81] (d:\src\builds\build2\src\base\message_loop\message_loop.cc:488)
        base::MessageLoop::DoWork [0x0000000180136EC4+340] (d:\src\builds\build2\src\base\message_loop\message_loop.cc:597)
        base::MessagePumpForIO::DoRunLoop [0x0000000180146DAC+60] (d:\src\builds\build2\src\base\message_loop\message_pump_win.cc:485)
        base::MessagePumpWin::Run [0x00000001801493CE+142] (d:\src\builds\build2\src\base\message_loop\message_pump_win.cc:52)
        base::MessageLoop::RunHandler [0x00000001801391D3+291] (d:\src\builds\build2\src\base\message_loop\message_loop.cc:441)
        base::RunLoop::Run [0x0000000180241F6B+91] (d:\src\builds\build2\src\base\run_loop.cc:36)
        base::MessageLoop::Run [0x0000000180139035+293] (d:\src\builds\build2\src\base\message_loop\message_loop.cc:294)
        base::Thread::Run [0x000000018030C0ED+45] (d:\src\builds\build2\src\base\threading\thread.cc:203)
        base::Thread::ThreadMain [0x000000018030D26D+1085] (d:\src\builds\build2\src\base\threading\thread.cc:257)
        base::`anonymous namespace'::ThreadFunc [0x00000001802DFE45+341] (d:\src\builds\build2\src\base\threading\platform_thread_win.cc:86)
        BaseThreadInitThunk [0x0000000077A259ED+13]
        RtlUserThreadStart [0x0000000077B5B371+33]

If I comment out the DCHECK I hit this:

[FATAL:message_pump_win.cc(453)] Check failed: port. : The handle is invalid. (0x6)
Backtrace:
        base::debug::StackTrace::StackTrace [0x0000000180080D46+54] (d:\src\builds\build2\src\base\debug\stack_trace_win.cc:215)
        logging::LogMessage::~LogMessage [0x00000001800FC929+89] (d:\src\builds\build2\src\base\logging.cc:520)
        logging::Win32ErrorLogMessage::~Win32ErrorLogMessage [0x00000001800FCECE+174] (d:\src\builds\build2\src\base\logging.cc:840)
        base::MessagePumpForIO::RegisterIOHandler [0x0000000180148C1A+346] (d:\src\builds\build2\src\base\message_loop\message_pump_win.cc:454)
        base::MessageLoopForIO::RegisterIOHandler [0x0000000180138163+83] (d:\src\builds\build2\src\base\message_loop\message_loop.cc:729)
        mojo::edk::`anonymous namespace'::ChannelWin::StartOnIOThread [0x0000000000B68C08+184] (d:\src\builds\build2\src\mojo\edk\system\channel_win.cc:153)
        base::internal::RunnableAdapter<void (__cdecl mojo::edk::`anonymous namespace'::ChannelWin::*)(void) __ptr64>::Run<> [0x0000000000B652D1+65] (d:\src\bui
lds\build2\src\base\bind_internal.h:182)
        base::internal::InvokeHelper<0,void,base::internal::RunnableAdapter<void (__cdecl mojo::edk::`anonymous namespace'::ChannelWin::*)(void) __ptr64> >::Mak
eItSo<mojo::edk::`anonymous namespace'::ChannelWin * __ptr64> [0x0000000000B6513A+58] (d:\src\builds\build2\src\base\bind_internal.h:302)
        base::internal::Invoker<base::IndexSequence<0>,base::internal::BindState<base::internal::RunnableAdapter<void (__cdecl mojo::edk::`anonymous namespace':
:ChannelWin::*)(void) __ptr64>,void __cdecl(mojo::edk::`anonymous namespace'::ChannelWin * __ptr64),moj [0x0000000000B686DE+110] (d:\src\builds\build2\src\base\
bind_internal.h:355)
        base::Callback<void __cdecl(void),1>::Run [0x000000018003DC5D+61] (d:\src\builds\build2\src\base\callback.h:398)
        base::debug::TaskAnnotator::RunTask [0x000000018008EFC5+549] (d:\src\builds\build2\src\base\debug\task_annotator.cc:53)
        base::MessageLoop::RunTask [0x0000000180139608+968] (d:\src\builds\build2\src\base\message_loop\message_loop.cc:477)
        base::MessageLoop::DeferOrRunPendingTask [0x0000000180136561+81] (d:\src\builds\build2\src\base\message_loop\message_loop.cc:488)
        base::MessageLoop::DoWork [0x0000000180136EC4+340] (d:\src\builds\build2\src\base\message_loop\message_loop.cc:597)
        base::MessagePumpForIO::DoRunLoop [0x0000000180146DAC+60] (d:\src\builds\build2\src\base\message_loop\message_pump_win.cc:485)
        base::MessagePumpWin::Run [0x00000001801493CE+142] (d:\src\builds\build2\src\base\message_loop\message_pump_win.cc:52)
        base::MessageLoop::RunHandler [0x00000001801391D3+291] (d:\src\builds\build2\src\base\message_loop\message_loop.cc:441)
        base::RunLoop::Run [0x0000000180241F6B+91] (d:\src\builds\build2\src\base\run_loop.cc:36)
        base::MessageLoop::Run [0x0000000180139035+293] (d:\src\builds\build2\src\base\message_loop\message_loop.cc:294)
        base::Thread::Run [0x000000018030C0ED+45] (d:\src\builds\build2\src\base\threading\thread.cc:203)
        base::Thread::ThreadMain [0x000000018030D26D+1085] (d:\src\builds\build2\src\base\threading\thread.cc:257)
        base::`anonymous namespace'::ThreadFunc [0x00000001802DFE45+341] (d:\src\builds\build2\src\base\threading\platform_thread_win.cc:86)
        BaseThreadInitThunk [0x0000000077A259ED+13]
        RtlUserThreadStart [0x0000000077B5B371+33]


For the time being I'm going to make the test continue to forcefully exit.
 

Comment 1 by roc...@chromium.org, May 25 2017

Status: WontFix (was: Assigned)
I think all interesting test suites have long since been doing clean shutdown, and any relevant hard exits are no longer in the codebase. Closing as obsolete.

Sign in to add a comment