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

Issue 717300 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: May 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: iOS
Pri: 2
Type: Bug



Sign in to add a comment

OmniboxPerfTest.TestTextFieldDidBeginEditing test failing on DCHECK

Project Member Reported by pkl@chromium.org, May 1 2017

Issue description

From tip of trunk build, OmniboxPerfTest.TestTextFieldDidBeginEditing test crashes:

[ RUN      ] OmniboxPerfTest.TestTextFieldDidBeginEditing
2017-05-01 16:16:05.173197-0700 ios_chrome_perftests[98176:387674] [MC] System group container for systemgroup.com.apple.configurationprofiles path is /Users/pkl/Library/Developer/CoreSimulator/Devices/17E2682F-69D9-4C58-83BE-DAD75AFE7493/data/Containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles
2017-05-01 16:16:05.174172-0700 ios_chrome_perftests[98176:387674] [MC] Reading from private effective user settings.
2017-05-01 16:16:05.783 ios_chrome_perftests[98176:387674] RESULT Omnibox: Keyboard preload= 611.343 ms
2017-05-01 16:16:05.861 ios_chrome_perftests[98176:387674] RESULT Omnibox: Begin editing 1st= 77.727 ms
2017-05-01 16:16:05.887 ios_chrome_perftests[98176:387674]  1: 13.934 ms
2017-05-01 16:16:05.906 ios_chrome_perftests[98176:387674]  2: 13.500 ms
2017-05-01 16:16:05.925 ios_chrome_perftests[98176:387674]  3: 12.982 ms
2017-05-01 16:16:05.943 ios_chrome_perftests[98176:387674]  4: 13.345 ms
2017-05-01 16:16:05.961 ios_chrome_perftests[98176:387674]  5: 12.831 ms
2017-05-01 16:16:05.979 ios_chrome_perftests[98176:387674]  6: 12.831 ms
2017-05-01 16:16:05.998 ios_chrome_perftests[98176:387674]  7: 13.285 ms
2017-05-01 16:16:06.017 ios_chrome_perftests[98176:387674]  8: 13.565 ms
2017-05-01 16:16:06.035 ios_chrome_perftests[98176:387674]  9: 13.227 ms
2017-05-01 16:16:06.054 ios_chrome_perftests[98176:387674] 10: 13.272 ms
2017-05-01 16:16:06.060 ios_chrome_perftests[98176:387674] RESULT Omnibox: Begin editing 2nd+= 13.250 ms
[98176:1027:0501/161606.226158:22965978805278:FATAL:tools_menu_button_observer_bridge.mm(61)] Check failed: model == _model. 
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BREAKPOINT (code=EXC_I386_BPT, subcode=0x0)
  * frame #0: 0x0000000104ee2004 ios_chrome_perftests`base::debug::BreakDebugger() at debugger_posix.cc:262
    frame #1: 0x0000000104f55d48 ios_chrome_perftests`logging::LogMessage::~LogMessage(this=0x00007fff5c0fba50) at logging.cc:783
    frame #2: 0x0000000104f52865 ios_chrome_perftests`logging::LogMessage::~LogMessage(this=0x00007fff5c0fba50) at logging.cc:546
    frame #3: 0x0000000104513725 ios_chrome_perftests`::-[ToolsMenuButtonObserverBridge readingListModelBeingDeleted:](self=0x0000610000028080, _cmd="readingListModelBeingDeleted:", model=0x00006000001cba90) at tools_menu_button_observer_bridge.mm:61
    frame #4: 0x0000000103eb9ce7 ios_chrome_perftests`ReadingListModelBridge::ReadingListModelBeingDeleted(this=0x00006100000280c0, model=0x00006000001cba90) at reading_list_model_bridge_observer.mm:32
    frame #5: 0x0000000103ec2612 ios_chrome_perftests`ReadingListModel::~ReadingListModel(this=0x00006000001cba90) at reading_list_model.cc:14
    frame #6: 0x0000000103ec7f90 ios_chrome_perftests`ReadingListModelImpl::~ReadingListModelImpl(this=0x00006000001cba90) at reading_list_model_impl.cc:41
    frame #7: 0x0000000103ec7fe5 ios_chrome_perftests`ReadingListModelImpl::~ReadingListModelImpl(this=0x00006000001cba90) at reading_list_model_impl.cc:41
    frame #8: 0x0000000103ec8049 ios_chrome_perftests`ReadingListModelImpl::~ReadingListModelImpl(this=0x00006000001cba90) at reading_list_model_impl.cc:41
    frame #9: 0x0000000106def8d2 ios_chrome_perftests`KeyedServiceFactory::Disassociate(this=0x000060000016a080, context=0x0000600000199b20) at keyed_service_factory.cc:105
    frame #10: 0x0000000106defd0f ios_chrome_perftests`KeyedServiceFactory::ContextDestroyed(this=0x000060000016a080, context=0x0000600000199b20) at keyed_service_factory.cc:117
    frame #11: 0x0000000103c5f178 ios_chrome_perftests`BrowserStateKeyedServiceFactory::BrowserStateDestroyed(this=0x000060000016a080, context=0x0000600000199b20) at browser_state_keyed_service_factory.cc:70
    frame #12: 0x0000000103c5f2f2 ios_chrome_perftests`BrowserStateKeyedServiceFactory::ContextDestroyed(this=0x000060000016a080, context=0x0000600000199b20) at browser_state_keyed_service_factory.cc:101
    frame #13: 0x0000000106de9c16 ios_chrome_perftests`DependencyManager::DestroyContextServices(this=0x00006000000c9a00, context=0x0000600000199b20) at dependency_manager.cc:100
    frame #14: 0x0000000103c5eab8 ios_chrome_perftests`BrowserStateDependencyManager::DestroyBrowserStateServices(this=0x00006000000c9a00, context=0x0000600000199b20) at browser_state_dependency_manager.cc:34
    frame #15: 0x0000000104472a6a ios_chrome_perftests`TestChromeBrowserState::~TestChromeBrowserState(this=0x0000600000199b20) at test_chrome_browser_state.mm:161
    frame #16: 0x0000000104472ee5 ios_chrome_perftests`TestChromeBrowserState::~TestChromeBrowserState(this=0x0000600000199b20) at test_chrome_browser_state.mm:156
    frame #17: 0x0000000104472f09 ios_chrome_perftests`TestChromeBrowserState::~TestChromeBrowserState(this=0x0000600000199b20) at test_chrome_browser_state.mm:156
    frame #18: 0x0000000103b04777 ios_chrome_perftests`(anonymous namespace)::OmniboxPerfTest::~OmniboxPerfTest() [inlined] std::__1::default_delete<TestChromeBrowserState>::operator(this=0x00007fe5abc07d08, __ptr=0x0000600000199b20)(TestChromeBrowserState*) const at memory:2270
    frame #19: 0x0000000103b04752 ios_chrome_perftests`(anonymous namespace)::OmniboxPerfTest::~OmniboxPerfTest() [inlined] std::__1::unique_ptr<TestChromeBrowserState, std::__1::default_delete<TestChromeBrowserState> >::reset(this=0x00007fe5abc07d08, __p=0x0000000000000000) at memory:2583
    frame #20: 0x0000000103b046e5 ios_chrome_perftests`(anonymous namespace)::OmniboxPerfTest::~OmniboxPerfTest() [inlined] std::__1::unique_ptr<TestChromeBrowserState, std::__1::default_delete<TestChromeBrowserState> >::~unique_ptr(this=0x00007fe5abc07d08) at memory:2537
    frame #21: 0x0000000103b046e5 ios_chrome_perftests`(anonymous namespace)::OmniboxPerfTest::~OmniboxPerfTest() [inlined] std::__1::unique_ptr<TestChromeBrowserState, std::__1::default_delete<TestChromeBrowserState> >::~unique_ptr(this=0x00007fe5abc07d08) at memory:2537
    frame #22: 0x0000000103b046e5 ios_chrome_perftests`(anonymous namespace)::OmniboxPerfTest::~OmniboxPerfTest(this=0x00007fe5abc07c40) at omnibox_perftest.mm:50
    frame #23: 0x0000000103b04315 ios_chrome_perftests`(anonymous namespace)::OmniboxPerfTest_TestTextFieldDidBeginEditing_Test::~OmniboxPerfTest_TestTextFieldDidBeginEditing_Test(this=0x00007fe5abc07c40) at omnibox_perftest.mm:218
    frame #24: 0x0000000103b023f5 ios_chrome_perftests`(anonymous namespace)::OmniboxPerfTest_TestTextFieldDidBeginEditing_Test::~OmniboxPerfTest_TestTextFieldDidBeginEditing_Test(this=0x00007fe5abc07c40) at omnibox_perftest.mm:218
    frame #25: 0x0000000103b02419 ios_chrome_perftests`(anonymous namespace)::OmniboxPerfTest_TestTextFieldDidBeginEditing_Test::~OmniboxPerfTest_TestTextFieldDidBeginEditing_Test(this=0x00007fe5abc07c40) at omnibox_perftest.mm:218
    frame #26: 0x000000010556c7bb ios_chrome_perftests`testing::Test::DeleteSelf_(this=0x00007fe5abc07c40) at gtest.h:453
    frame #27: 0x000000010558d85e ios_chrome_perftests`void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(object=0x00007fe5abc07c40, method=90 c7 56 05 01 00 00 00 00 00 00 00 00 00 00 00, location="the test fixture's destructor")(), char const*) at gtest.cc:2402
    frame #28: 0x000000010556b522 ios_chrome_perftests`void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(object=0x00007fe5abc07c40, method=90 c7 56 05 01 00 00 00 00 00 00 00 00 00 00 00, location="the test fixture's destructor")(), char const*) at gtest.cc:2455
    frame #29: 0x000000010556c615 ios_chrome_perftests`testing::TestInfo::Run(this=0x00007fe5aec00bb0) at gtest.cc:2661
    frame #30: 0x000000010556d86c ios_chrome_perftests`testing::TestCase::Run(this=0x00007fe5aec01370) at gtest.cc:2774
    frame #31: 0x000000010557aa19 ios_chrome_perftests`testing::internal::UnitTestImpl::RunAllTests(this=0x00007fe5aec01160) at gtest.cc:4647
    frame #32: 0x0000000105590a4e ios_chrome_perftests`bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(object=0x00007fe5aec01160, method=b0 a6 57 05 01 00 00 00 00 00 00 00 00 00 00 00, location="auxiliary test code (environments or event listeners)")(), char const*) at gtest.cc:2402
    frame #33: 0x000000010557a632 ios_chrome_perftests`bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(object=0x00007fe5aec01160, method=b0 a6 57 05 01 00 00 00 00 00 00 00 00 00 00 00, location="auxiliary test code (environments or event listeners)")(), char const*) at gtest.cc:2455
    frame #34: 0x000000010557a52a ios_chrome_perftests`testing::UnitTest::Run(this=0x000000010959e6a8) at gtest.cc:4255
    frame #35: 0x000000010526e321 ios_chrome_perftests`RUN_ALL_TESTS() at gtest.h:2237
    frame #36: 0x000000010526d6eb ios_chrome_perftests`base::TestSuite::Run(this=0x00007fff5c0ff698) at test_suite.cc:271
    frame #37: 0x00000001052719bc ios_chrome_perftests`::-[ChromeUnitTestDelegate runTests](self=0x0000640000013560, _cmd="runTests") at test_support_ios.mm:155
    frame #38: 0x00000001110111a8 Foundation`__NSFireDelayedPerform + 409
    frame #39: 0x000000011023e454 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 20
    frame #40: 0x000000011023e0e3 CoreFoundation`__CFRunLoopDoTimer + 1011
    frame #41: 0x000000011023dcaa CoreFoundation`__CFRunLoopDoTimers + 266
    frame #42: 0x00000001102359ec CoreFoundation`__CFRunLoopRun + 1916
    frame #43: 0x0000000110235016 CoreFoundation`CFRunLoopRunSpecific + 406
    frame #44: 0x0000000115958a24 GraphicsServices`GSEventRunModal + 62
    frame #45: 0x000000010e95a0d4 UIKit`UIApplicationMain + 159
    frame #46: 0x0000000105271c62 ios_chrome_perftests`base::RunTestsFromIOSApp() at test_support_ios.mm:213
    frame #47: 0x000000010526d5cf ios_chrome_perftests`base::TestSuite::Run(this=0x00007fff5c0ff698) at test_suite.cc:252
    frame #48: 0x0000000103b00f25 ios_chrome_perftests`int base::internal::FunctorTraits<int (base::TestSuite::*)(), void>::Invoke<IOSChromeUnitTestSuite*>(method=b0 d5 26 05 01 00 00 00 00 00 00 00 00 00 00 00, receiver_ptr=0x00007fff5c0ff210)(), IOSChromeUnitTestSuite*&&) at bind_internal.h:214
    frame #49: 0x0000000103b00e64 ios_chrome_perftests`int base::internal::InvokeHelper<false, int>::MakeItSo<int (functor=0x000060800006dd68, args=0x00007fff5c0ff210)(), IOSChromeUnitTestSuite*>(int (base::TestSuite::* const&&&)(), IOSChromeUnitTestSuite*&&) at bind_internal.h:285
    frame #50: 0x0000000103b00e15 ios_chrome_perftests`int base::internal::Invoker<base::internal::BindState<int (base::TestSuite::*)(), base::internal::UnretainedWrapper<IOSChromeUnitTestSuite> >, int ()>::RunImpl<int (functor=0x000060800006dd68, bound=0x000060800006dd78, (null)=IndexSequence<0> @ 0x00007fff5c0ff228)(), std::__1::tuple<base::internal::UnretainedWrapper<IOSChromeUnitTestSuite> > const&, 0ul>(int (base::TestSuite::* const&&&)(), std::__1::tuple<base::internal::UnretainedWrapper<IOSChromeUnitTestSuite> > const&&&, base::IndexSequence<0ul>) at bind_internal.h:361
    frame #51: 0x0000000103b00d2c ios_chrome_perftests`base::internal::Invoker<base::internal::BindState<int (base::TestSuite::*)(), base::internal::UnretainedWrapper<IOSChromeUnitTestSuite> >, int ()>::Run(base=0x000060800006dd40) at bind_internal.h:339
    frame #52: 0x0000000105273b9d ios_chrome_perftests`base::Callback<int (), (base::internal::CopyMode)1, (base::internal::RepeatMode)1>::Run(this=0x00007fff5c0ff680) const at callback.h:80
    frame #53: 0x0000000105273b1c ios_chrome_perftests`base::LaunchUnitTests(argc=1, argv=0x00007fff5c0ff720, run_test_suite=0x00007fff5c0ff680), (base::internal::CopyMode)1, (base::internal::RepeatMode)1> const&) at unit_test_launcher_ios.cc:39
    frame #54: 0x0000000103b00a92 ios_chrome_perftests`main(argc=1, argv=0x00007fff5c0ff720) at run_all_unittests.cc:12
    frame #55: 0x00000001180a965d libdyld.dylib`start + 1
(lldb) 
 

Comment 2 by pkl@chromium.org, May 6 2017

Cc: jif@chromium.org noyau@chromium.org
Owner: pkl@chromium.org
Status: Started (was: Assigned)
Project Member

Comment 3 by bugdroid1@chromium.org, May 18 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/52ab15efe9499088cd3c2a2474887671630b0311

commit 52ab15efe9499088cd3c2a2474887671630b0311
Author: pkl <pkl@chromium.org>
Date: Thu May 18 15:42:34 2017

Fixes a DCHECK in tools_menu_button_observer_bridge during tests

A DCHECK was observed during omnibox_perftest. It traces down to
-[ToolsMenuButtonObserverBridge readingListModelBeingDeleted:] being
called twice and the second call triggered the DCHECK.

DependencyManager::DestroyContextServices() calls ContextShutdown()
and then ContextDestroyed() on all dependencies. Each of the call
entered -readingListModelBeingDeleted: because there is no distinction
between Shutdown and Destroyed.

BUG= 717300 

Review-Url: https://codereview.chromium.org/2863303002
Cr-Commit-Position: refs/heads/master@{#472825}

[modify] https://crrev.com/52ab15efe9499088cd3c2a2474887671630b0311/components/reading_list/core/reading_list_model_impl.cc
[modify] https://crrev.com/52ab15efe9499088cd3c2a2474887671630b0311/components/reading_list/core/reading_list_model_observer.h
[modify] https://crrev.com/52ab15efe9499088cd3c2a2474887671630b0311/components/reading_list/core/reading_list_model_unittest.cc
[modify] https://crrev.com/52ab15efe9499088cd3c2a2474887671630b0311/components/reading_list/ios/reading_list_model_bridge_observer.h
[modify] https://crrev.com/52ab15efe9499088cd3c2a2474887671630b0311/components/reading_list/ios/reading_list_model_bridge_observer.mm
[modify] https://crrev.com/52ab15efe9499088cd3c2a2474887671630b0311/ios/chrome/browser/ui/omnibox_perftest.mm

Comment 4 by pkl@chromium.org, May 18 2017

Status: Fixed (was: Started)
Components: Tests>Disabled
Labels: Test-Disabled

Sign in to add a comment