Crash in ~WindowTreeClientImpl on views_mus_unittests shutdown |
|||
Issue descriptionScott, I just noticed this crash in views_mus_shutdown and bisected it to your CL "Random fixes for mash bridge classes" https://codereview.chromium.org/1984293002 -- I must have missed something in review. The tests still pass, but the client process crashes in cleanup. It happens once per block of tests, but running a single test will repro it. jamescook@rubella2:/w/chrome/src$ cat out_linux/args.gn # Build arguments go here. Examples: # is_component_build = true # is_debug = false # See "gn args <out_dir> --list" for available build arguments. is_component_build = true use_goma = true enable_nacl = false jamescook@rubella2:/w/chrome/src$ git co 990b86fe4ea3085e6df6dd58316a2d2c34aad241 HEAD is now at 990b86f... Random fixes for mash bridge classes jamescook@rubella2:/w/chrome/src$ gclient sync > /dev/null jamescook@rubella2:/w/chrome/src$ ninja -C out_linux -j 500 -l 20 views_mus_unittests && out_linux/views_mus_unittests --gtest_filter="WidgetTest.GetName" ninja: Entering directory `out_linux' [988/988] LINK ./views_mus_unittests IMPORTANT DEBUGGING NOTE: batches of tests are run inside their own process. For debugging a test inside a debugger, use the --gtest_filter=<your_test_name> flag along with --single-process-tests. Using sharding settings from environment. This is shard 0/1 Using 1 parallel jobs. Note: Google Test filter = WidgetTest.GetName [==========] Running 1 test from 1 test case. [----------] Global test environment set-up. [----------] 1 test from WidgetTest [ RUN ] WidgetTest.GetName [10437:10437:0518/084031:84669964613:ERROR:screen_mus.cc(126)] Not implemented reached in virtual gfx::Point views::ScreenMus::GetCursorScreenPoint() [ OK ] WidgetTest.GetName (1085 ms) [----------] 1 test from WidgetTest (1086 ms total) [----------] Global test environment tear-down [==========] 1 test from 1 test case ran. (1086 ms total) [ PASSED ] 1 test. Received signal 11 <unknown> 000000000000 #0 0x7ff59721082e base::debug::StackTrace::StackTrace() #1 0x7ff59721036f base::debug::(anonymous namespace)::StackDumpSignalHandler() #2 0x7ff5900e5340 <unknown> #3 0x7ff5891a7dd7 mus::WindowTreeClientImpl::~WindowTreeClientImpl() #4 0x7ff5891a8059 mus::WindowTreeClientImpl::~WindowTreeClientImpl() #5 0x7ff5891af2ee mus::WindowTreeClientImpl::OnEmbed()::$_0::operator()() #6 0x7ff5891af2b9 mojo::Callback<>::FunctorAdapter<>::Run() #7 0x7ff58912787c mojo::Callback<>::Run() #8 0x7ff58928dab9 mojo::internal::InterfaceEndpointClient::NotifyError() #9 0x7ff58929be7c mojo::internal::MultiplexRouter::ProcessNotifyErrorTask() #10 0x7ff589299b56 mojo::internal::MultiplexRouter::ProcessTasks() #11 0x7ff58929a9e8 mojo::internal::MultiplexRouter::OnPipeConnectionError() #12 0x7ff58929c6e8 mojo::internal::MultiplexRouter::MultiplexRouter()::$_0::operator()() #13 0x7ff58929c6c9 mojo::Callback<>::FunctorAdapter<>::Run() #14 0x7ff58912787c mojo::Callback<>::Run() #15 0x7ff589285193 mojo::internal::Connector::HandleError() #16 0x7ff589286224 mojo::internal::Connector::OnHandleReadyInternal() #17 0x7ff5892860eb mojo::internal::Connector::OnWatcherHandleReady() #18 0x7ff58928711b _ZN4base8internal15RunnableAdapterIMN4mojo8internal9ConnectorEFvjEE3RunIPS4_JjEEEvOT_DpOT0_ #19 0x7ff58928705e _ZN4base8internal12InvokeHelperILb0EvNS0_15RunnableAdapterIMN4mojo8internal9ConnectorEFvjEEEE8MakeItSoIJPS5_jEEEvS8_DpOT_ #20 0x7ff58928700d _ZN4base8internal7InvokerINS_13IndexSequenceIJLm0EEEENS0_9BindStateINS0_15RunnableAdapterIMN4mojo8internal9ConnectorEFvjEEEFvPS8_jEJNS0_17UnretainedWrapperIS8_EEEEENS0_12InvokeHelperILb0EvSB_EEFvjEE3RunEPNS0_13BindStateBaseEOj #21 0x7ff5892b3fb2 base::Callback<>::Run() #22 0x7ff5892b9ef3 mojo::Watcher::OnHandleReady() #23 0x7ff5892ba1d5 mojo::Watcher::MessageLoopObserver::WillDestroyCurrentMessageLoop() #24 0x7ff59728e633 base::MessageLoop::~MessageLoop() #25 0x7ff59728eaa9 base::MessageLoop::~MessageLoop() #26 0x7ff58911d2af std::default_delete<>::operator()() #27 0x7ff5892c9cac std::unique_ptr<>::reset() #28 0x7ff5892c9861 shell::ApplicationRunner::Run() #29 0x7ff5892c993c shell::ApplicationRunner::Run() #30 0x7ff58911ce12 MojoMain #31 0x0000007596aa shell::RunNativeApplication() #32 0x000000750d47 shell::(anonymous namespace)::RunNativeLibrary() #33 0x000000752375 _ZN4base8internal15RunnableAdapterIPFvPvN4mojo16InterfaceRequestIN5shell5mojom11ShellClientEEEEE3RunIJRKS2_S8_EEEvDpOT_ #34 0x0000007522fa _ZN4base8internal12InvokeHelperILb0EvNS0_15RunnableAdapterIPFvPvN4mojo16InterfaceRequestIN5shell5mojom11ShellClientEEEEEEE8MakeItSoIJRKS3_S9_EEEvSC_DpOT_ #35 0x0000007522b9 _ZN4base8internal7InvokerINS_13IndexSequenceIJLm0EEEENS0_9BindStateINS0_15RunnableAdapterIPFvPvN4mojo16InterfaceRequestIN5shell5mojom11ShellClientEEEEEESD_JRS6_EEENS0_12InvokeHelperILb0EvSF_EEFvSC_EE3RunEPNS0_13BindStateBaseEOSC_ #36 0x000000540de3 base::Callback<>::Run() #37 0x000000758d95 shell::ChildProcessMain() #38 0x000000750b45 shell::ChildProcessMain() #39 0x000000550bcd shell::(anonymous namespace)::RunChildProcess() #40 0x000000550b6b main #41 0x7ff58fd31ec5 __libc_start_main #42 0x0000004a6e49 <unknown> r8: 0000000000000000 r9: 00007ff58fe60e01 r10: 0000000000000028 r11: 00007ff58fe96870 r12: 00000000004a6e20 r13: 00007ffc85aba9d0 r14: 0000000000000000 r15: 0000000000000000 di: dca77f14aec68d00 si: dca77f14aec68d00 bp: 00007ffc85ab83b0 bx: 0000000000000000 dx: 0000000000000002 ax: 0000323d005cac90 cx: cdcdcdcdcdcdcdcd sp: 00007ffc85ab8270 ip: 00007ff5891a7dd7 efl: 0000000000010206 cgf: 0000000000000033 erf: 0000000000000000 trp: 000000000000000d msk: 0000000000000000 cr2: 0000000000000000 [end of stack trace] [10438:10441:0518/084031:84670190844:ERROR:node_controller.cc(906)] Could not be introduced to peer 2F4030CC700A1E71.13892B13FA438A87 [10436:10439:0518/084031:84670194285:ERROR:node_controller.cc(906)] Could not be introduced to peer 2F4030CC700A1E71.13892B13FA438A87 [10436:10439:0518/084031:84670194920:ERROR:node_controller.cc(906)] Could not be introduced to peer C2A7901642BB60E9.6DFF165913CB072 [10438:10441:0518/084031:84670208997:ERROR:node_controller.cc(906)] Could not be introduced to peer 2F4030CC700A1E71.13892B13FA438A87 [10438:10441:0518/084031:84670209292:ERROR:node_controller.cc(906)] Could not be introduced to peer 2F4030CC700A1E71.13892B13FA438A87 [10438:10438:0518/084031:84670223060:ERROR:surface_factory.cc(28)] SurfaceFactory has 1 entries in map on destruction. [10438:10441:0518/084031:84670225095:ERROR:node_controller.cc(906)] Could not be introduced to peer 8BC1FA5C360F8BA1.FE8D90AC2F4C4291 [10438:10441:0518/084031:84670226540:ERROR:node_controller.cc(906)] Could not be introduced to peer 2F4030CC700A1E71.13892B13FA438A87 [10438:10441:0518/084031:84670226834:ERROR:node_controller.cc(906)] Could not be introduced to peer 2F4030CC700A1E71.13892B13FA438A87 [10438:10441:0518/084031:84670227667:ERROR:node_controller.cc(906)] Could not be introduced to peer 2F4030CC700A1E71.13892B13FA438A87 [10438:10441:0518/084031:84670228133:ERROR:node_controller.cc(906)] Could not be introduced to peer 2F4030CC700A1E71.13892B13FA438A87 [10438:10441:0518/084031:84670228447:ERROR:node_controller.cc(906)] Could not be introduced to peer 2F4030CC700A1E71.13892B13FA438A87 [1/1] WidgetTest.GetName (1085 ms) SUCCESS: all tests passed. Tests took 1 seconds.
,
May 18 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/546c4972a6173202f2b054abd77ecb7324e64672 commit 546c4972a6173202f2b054abd77ecb7324e64672 Author: sky <sky@chromium.org> Date: Wed May 18 18:04:21 2016 Fix dangling observer UserWindowControllerImpl wasn't properly removing observers it adds. This matters now that there is a call from WindowTreeClientImpls destructor. BUG= 612837 TEST=covered by tests R=jamescook@chromium.org, msw@chromium.org Review-Url: https://codereview.chromium.org/1988153003 Cr-Commit-Position: refs/heads/master@{#394466} [modify] https://crrev.com/546c4972a6173202f2b054abd77ecb7324e64672/mash/wm/user_window_controller_impl.cc [modify] https://crrev.com/546c4972a6173202f2b054abd77ecb7324e64672/mash/wm/user_window_controller_impl.h
,
May 18 2016
,
Feb 26 2018
|
|||
►
Sign in to add a comment |
|||
Comment 1 by sky@chromium.org
, May 18 2016