HistoryUITestCase/testHistoryEntriesStatusCell crashes |
||||||
Issue descriptionFirst build: https://build.chromium.org/p/chromium.fyi/builders/EarlGreyiOS/builds/29880 Signal caught: Segmentation fault: 11 0 EarlGrey 0x000000011d388723 grey_signalHandler + 259 1 libsystem_platform.dylib 0x00000001230cbb3a _sigtramp + 26 2 ??? 0x0000600000218dc8 0x0 + 105553118465480 3 ios_chrome_ui_egtests 0x000000010f470f87 _ZNK26IOSChromeSyncedTabDelegate30GetSerializedNavigationAtIndexEiPN8sessions25SerializedNavigationEntryE + 71 4 ios_chrome_ui_egtests 0x00000001134dac76 _ZN13sync_sessions19SessionsSyncManager18OnLocalTabModifiedEPNS_17SyncedTabDelegateE + 886 5 ios_chrome_ui_egtests 0x000000010f555f8c _ZN32IOSChromeLocalSessionEventRouter16OnWebStateChangeEPN3web8WebStateE + 124 6 ios_chrome_ui_egtests 0x000000010f555aad _ZN32IOSChromeLocalSessionEventRouter13OnTabParentedEPN3web8WebStateE + 29 7 ios_chrome_ui_egtests 0x000000010f556800 _ZN4base8internal13FunctorTraitsIM32IOSChromeLocalSessionEventRouterFvPN3web8WebStateEEvE6InvokeIPS2_JS5_EEEvS7_OT_DpOT0_ + 144 8 ios_chrome_ui_egtests 0x000000010f55672f _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIRKM32IOSChromeLocalSessionEventRouterFvPN3web8WebStateEEJPS4_S7_EEEvOT_DpOT0_ + 95 9 ios_chrome_ui_egtests 0x000000010f5566c5 _ZN4base8internal7InvokerINS0_9BindStateIM32IOSChromeLocalSessionEventRouterFvPN3web8WebStateEEJNS0_17UnretainedWrapperIS3_EEEEEFvS6_EE7RunImplIRKS8_RKNSt3__15tupleIJSA_EEEJLm0EEEEvOT_OT0_NS_13IndexSequenceIJXspT1_EEEEOS6_ + 101 10 ios_chrome_ui_egtests 0x000000010f556604 _ZN4base8internal7InvokerINS0_9BindStateIM32IOSChromeLocalSessionEventRouterFvPN3web8WebStateEEJNS0_17UnretainedWrapperIS3_EEEEEFvS6_EE3RunEPNS0_13BindStateBaseEOS6_ + 68 As long as I can trust lldb, in the following function |i| is -1 and hence |item| is null: void IOSChromeSyncedTabDelegate::GetSerializedNavigationAtIndex( int i, sessions::SerializedNavigationEntry* serialized_entry) const { NavigationItem* item = GetPossiblyPendingItemAtIndex(web_state_, i); *serialized_entry = sessions::IOSSerializedNavigationBuilder::FromNavigationItem(i, *item); } This crash is reproducible locally, and goes away when https://codereview.chromium.org/2958303002 is reverted. That CL is in the blamelist of the first failing build. I am not reverting the CL because it only breaks a FYI bot. But I am setting a RBB and Pri 1 because the CL apparently broke something for iOS. I am assigning this bug to the author of the CL.
,
Jul 24 2017
All of our downstream bots are crashing. I will have to revert your change, please resubmit with a fix for iOS. I'm including a stack trace for one of the crashes below, the failure seems to come from IOSSerializedNavigationBuilder::FromNavigationItem. Let me know if you need more information. 0 com.google.gtest.ios-chrome-ui-egtests 0x00000001046ab473 sessions::IOSSerializedNavigationBuilder::FromNavigationItem(int, web::NavigationItem const&) + 51 1 com.google.gtest.ios-chrome-ui-egtests 0x00000001048d7047 IOSChromeSyncedTabDelegate::GetSerializedNavigationAtIndex(int, sessions::SerializedNavigationEntry*) const + 71 2 com.google.gtest.ios-chrome-ui-egtests 0x0000000108e31406 sync_sessions::SessionsSyncManager::OnLocalTabModified(sync_sessions::SyncedTabDelegate*) + 886 3 com.google.gtest.ios-chrome-ui-egtests 0x00000001049bc04c IOSChromeLocalSessionEventRouter::OnWebStateChange(web::WebState*) + 124 4 com.google.gtest.ios-chrome-ui-egtests 0x00000001049bbb6d IOSChromeLocalSessionEventRouter::OnTabParented(web::WebState*) + 29 5 com.google.gtest.ios-chrome-ui-egtests 0x00000001049bc8c0 void base::internal::FunctorTraits<void (IOSChromeLocalSessionEventRouter::*)(web::WebState*), void>::Invoke<IOSChromeLocalSessionEventRouter*, web::WebState*>(void (IOSChromeLocalSessionEventRouter::*)(web::WebState*), IOSChromeLocalSessionEventRouter*&&, web::WebState*&&) + 144 6 com.google.gtest.ios-chrome-ui-egtests 0x00000001049bc7ef void base::internal::InvokeHelper<false, void>::MakeItSo<void (IOSChromeLocalSessionEventRouter::* const&)(web::WebState*), IOSChromeLocalSessionEventRouter*, web::WebState*>(void (IOSChromeLocalSessionEventRouter::* const&&&)(web::WebState*), IOSChromeLocalSessionEventRouter*&&, web::WebState*&&) + 95 7 com.google.gtest.ios-chrome-ui-egtests 0x00000001049bc785 void base::internal::Invoker<base::internal::BindState<void (IOSChromeLocalSessionEventRouter::*)(web::WebState*), base::internal::UnretainedWrapper<IOSChromeLocalSessionEventRouter> >, void (web::WebState*)>::RunImpl<void (IOSChromeLocalSessionEventRouter::* const&)(web::WebState*), std::__1::tuple<base::internal::UnretainedWrapper<IOSChromeLocalSessionEventRouter> > const&, 0ul>(void (IOSChromeLocalSessionEventRouter::* const&&&)(web::WebState*), std::__1::tuple<base::internal::UnretainedWrapper<IOSChromeLocalSessionEventRouter> > const&&&, base::IndexSequence<0ul>, web::WebState*&&) + 101 8 com.google.gtest.ios-chrome-ui-egtests 0x00000001049bc6c4 base::internal::Invoker<base::internal::BindState<void (IOSChromeLocalSessionEventRouter::*)(web::WebState*), base::internal::UnretainedWrapper<IOSChromeLocalSessionEventRouter> >, void (web::WebState*)>::Run(base::internal::BindStateBase*, web::WebState*&&) + 68 9 com.google.gtest.ios-chrome-ui-egtests 0x00000001040bb99d base::Callback<void (web::WebState*), (base::internal::CopyMode)1, (base::internal::RepeatMode)1>::Run(web::WebState*) const + 77 10 com.google.gtest.ios-chrome-ui-egtests 0x00000001040ba507 void base::CallbackList<void (web::WebState*)>::Notify<web::WebState*&>(web::WebState*&&&) + 71 11 com.google.gtest.ios-chrome-ui-egtests 0x00000001040ba4b0 TabParentingGlobalObserver::OnTabParented(web::WebState*) + 32 12 com.google.gtest.ios-chrome-ui-egtests 0x00000001055daa2d (anonymous namespace)::OnWebStateParented(web::WebState*) + 29 13 com.google.gtest.ios-chrome-ui-egtests 0x00000001055daa00 TabParentingObserver::WebStateInsertedAt(WebStateList*, web::WebState*, int) + 32 14 com.google.gtest.ios-chrome-ui-egtests 0x00000001049a8aea WebStateList::InsertWebState(int, std::__1::unique_ptr<web::WebState, std::__1::default_delete<web::WebState> >) + 1882 15 com.google.gtest.ios-chrome-ui-egtests 0x00000001049a9e81 WebStateList::AppendWebState(ui::PageTransition, std::__1::unique_ptr<web::WebState, std::__1::default_delete<web::WebState> >, WebStateOpener) + 625 16 com.google.gtest.ios-chrome-ui-egtests 0x00000001055c8b01 -[TabModel insertTabWithLoadParams:opener:openedByDOM:atIndex:inBackground:] + 1105 17 com.google.gtest.ios-chrome-ui-egtests 0x00000001055c85d7 -[TabModel insertTabWithURL:referrer:transition:opener:openedByDOM:atIndex:inBackground:] + 295 18 com.google.gtest.ios-chrome-ui-egtests 0x00000001052776ef -[BrowserViewController webPageOrderedOpen:referrer:inBackground:appendTo:] + 255 19 com.google.gtest.ios-chrome-ui-egtests 0x000000010527780b -[BrowserViewController webPageOrderedOpen:referrer:inIncognito:inBackground:appendTo:] + 219 20 com.google.gtest.ios-chrome-ui-egtests 0x0000000104b17bce __51-[HistoryCollectionViewController openURLInNewTab:]_block_invoke + 190 21 com.google.gtest.ios-chrome-ui-egtests 0x00000001052552aa __66-[BrowserViewController dismissViewControllerAnimated:completion:]_block_invoke + 122 22 com.apple.UIKit 0x000000011016ca78 -[UIPresentationController transitionDidFinish:] + 1289 23 com.apple.UIKit 0x0000000110384317 -[_UICurrentContextPresentationController transitionDidFinish:] + 42 24 com.apple.UIKit 0x0000000110170514 __56-[UIPresentationController runTransitionForCurrentState]_block_invoke_2 + 183 25 com.apple.UIKit 0x0000000110b353f1 -[_UIViewControllerTransitionContext completeTransition:] + 102 26 com.apple.UIKit 0x0000000110169400 -[UITransitionView notifyDidCompleteTransition:] + 251 27 com.apple.UIKit 0x0000000110169113 -[UITransitionView _didCompleteTransition:] + 1539 28 com.apple.UIKit.axbundle 0x000000012a5cb142 -[UITransitionViewAccessibility _didCompleteTransition:] + 42 29 com.apple.UIKit 0x000000011016bb40 -[UITransitionView _transitionDidStop:finished:] + 104 30 com.apple.UIKit 0x000000011007c869 -[UIViewAnimationState sendDelegateAnimationDidStop:finished:] + 222 31 com.apple.UIKit 0x000000011007cdbe -[UIViewAnimationState animationDidStop:finished:] + 136 32 com.apple.UIKit.axbundle 0x000000012a601b3d -[UIViewAnimationStateAccessibility animationDidStop:finished:] + 121 33 com.google.test.EarlGrey 0x0000000114693c1f -[GREYCAAnimationDelegate animationDidStop:finished:] + 223 34 com.apple.QuartzCore 0x000000011449d9a8 CA::Layer::run_animation_callbacks(void*) + 316 35 com.google.test.EarlGrey 0x00000001146aee84 __67-[GREYDispatchQueueTracker grey_dispatchAsyncCallWithContext:work:]_block_invoke + 36 36 libdispatch.dylib 0x0000000119596810 _dispatch_call_block_and_release + 12 37 libdispatch.dylib 0x00000001195b812e _dispatch_client_callout + 8 38 libdispatch.dylib 0x000000011959f52d _dispatch_main_queue_callback_4CF + 1054 39 com.apple.CoreFoundation 0x00000001118f34f9 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9 40 com.apple.CoreFoundation 0x00000001118b8f8d __CFRunLoopRun + 2205 41 com.apple.CoreFoundation 0x00000001118b8494 CFRunLoopRunSpecific + 420 42 com.google.test.EarlGrey 0x00000001146b0bfe -[GREYRunLoopSpinner grey_drainRunLoopInActiveModeAndCheckCondition:forTime:] + 590 43 com.google.test.EarlGrey 0x00000001146b0625 -[GREYRunLoopSpinner spinWithStopConditionBlock:] + 565 44 com.google.test.EarlGrey 0x00000001146b3d4d -[GREYUIThreadExecutor executeSyncWithTimeout:block:error:] + 973 45 com.google.test.EarlGrey 0x00000001146b3574 -[GREYUIThreadExecutor drainUntilIdle] + 228 46 com.google.gtest.ios-chrome-ui-egtests 0x00000001056a351a +[ChromeEarlGrey waitForMainTabCount:] + 90 47 com.google.gtest.ios-chrome-ui-egtests 0x000000010582ac0a -[HistoryUITestCase testHistoryEntriesStatusCell] + 2074 48 com.apple.CoreFoundation 0x00000001118b605c __invoking___ + 140 49 com.apple.CoreFoundation 0x00000001118b5ee1 -[NSInvocation invoke] + 289 50 com.google.test.EarlGrey 0x000000011467fc58 -[GREYTestCaseInvocation invoke] + 104 51 com.apple.dt.XCTest 0x0000000112b97210 __24-[XCTestCase invokeTest]_block_invoke_2 + 481 52 com.apple.dt.XCTest 0x0000000112bcf9d4 -[XCTestContext performInScope:] + 190 53 com.apple.dt.XCTest 0x0000000112b9701c -[XCTestCase invokeTest] + 255 54 com.google.test.EarlGrey 0x0000000114671034 -[XCTestCase(GREYAdditions) grey_invokeTest] + 1012 55 com.apple.dt.XCTest 0x0000000112b97835 -[XCTestCase performTest:] + 457 56 com.apple.dt.XCTest 0x0000000112b948fd -[XCTestSuite performTest:] + 491 57 com.apple.dt.XCTest 0x0000000112b948fd -[XCTestSuite performTest:] + 491 58 com.apple.dt.XCTest 0x0000000112b948fd -[XCTestSuite performTest:] + 491 59 com.apple.dt.XCTest 0x0000000112b80b0c __25-[XCTestDriver _runSuite]_block_invoke + 51 60 com.apple.dt.XCTest 0x0000000112ba1fc3 -[XCTestObservationCenter _observeTestExecutionForBlock:] + 602 61 com.apple.dt.XCTest 0x0000000112b809a9 -[XCTestDriver _runSuite] + 436 62 com.apple.dt.XCTest 0x0000000112b817a2 -[XCTestDriver _checkForTestManager] + 287 63 com.apple.dt.XCTest 0x0000000112bd0f5c _XCTestMain + 628 64 com.apple.CoreFoundation 0x00000001118d425c __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 12 65 com.apple.CoreFoundation 0x00000001118b9304 __CFRunLoopDoBlocks + 356 66 com.apple.CoreFoundation 0x00000001118b8a75 __CFRunLoopRun + 901 67 com.apple.CoreFoundation 0x00000001118b8494 CFRunLoopRunSpecific + 420 68 com.apple.GraphicsServices 0x0000000117130a6f GSEventRunModal + 161 69 com.apple.UIKit 0x000000010ffeff34 UIApplicationMain + 159 70 com.google.gtest.ios-chrome-ui-egtests 0x0000000104097563 (anonymous namespace)::RunUIApplicationMain(int, char**) + 371 71 com.google.gtest.ios-chrome-ui-egtests 0x000000010409705e main + 414 72 libdyld.dylib 0x000000011960168d start + 1
,
Jul 24 2017
,
Jul 24 2017
,
Jul 25 2017
Issue 747946 has been merged into this issue.
,
Jul 25 2017
Copying the more severe RB-Dev flag over from Issue 747946, but I think this bug has been fixed?
,
Jul 25 2017
Sorry I had not closed this bug. This change was reverted https://chromium.googlesource.com/chromium/src.git/+/3105b147ea6a4178791a717a375c4a4ad57e489c and relanded https://chromium.googlesource.com/chromium/src.git/+/e6d92ec3cd6a7ebfcf98fb396232c4266aa2775e . My understand is that this is completely fixed, and the EG tests are passing. |
||||||
►
Sign in to add a comment |
||||||
Comment 1 by vabr@chromium.org
, Jul 22 2017