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

Issue 747658 link

Starred by 1 user

Issue metadata

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



Sign in to add a comment

HistoryUITestCase/testHistoryEntriesStatusCell crashes

Project Member Reported by vabr@chromium.org, Jul 22 2017

Issue description

First 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.
 

Comment 1 by vabr@chromium.org, Jul 22 2017

Description: Show this description
Cc: kkhorimoto@chromium.org eugene...@chromium.org
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

Comment 3 by pkl@chromium.org, Jul 24 2017

Cc: cma...@chromium.org

Comment 4 by s...@chromium.org, Jul 24 2017

Status: Started (was: Assigned)
Issue 747946 has been merged into this issue.
Labels: -ReleaseBlock-Beta ReleaseBlock-Dev
Copying the more severe RB-Dev flag over from Issue 747946, but I think this bug has been fixed?

Comment 7 by s...@chromium.org, Jul 25 2017

Status: Fixed (was: Started)
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