Fix VisibleURLTestCase |
|||
Issue descriptionWith the new indirection CRWSessionEntry->navigationItem, items are not retained when getting a CRWSessionEntry. This make VisibleURLTestCase fail on bad object dereference.
,
Feb 13 2017
Failing test https://build.chromium.org/p/chromium.fyi/builders/EarlGreyiOS/builds/24238 Test Case '-[VisibleURLTestCase testBackNavigationWithPendingRendererInitiatedNavigation]' started. Signal caught: Segmentation fault: 11 0 EarlGrey 0x0000000111b022f3 grey_signalHandler + 259 1 libsystem_platform.dylib 0x0000000117929bba _sigtramp + 26 2 ios_chrome_web_egtests 0x0000000104438fed _ZN7logging13CheckOpResultC1EPNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEE + 29 3 ios_chrome_web_egtests 0x000000010467bdd5 -[CRWWebController webWillFinishHistoryNavigationFromEntry:] + 309 4 ios_chrome_web_egtests 0x0000000104679b81 -[CRWWebController goToItemAtIndex:] + 833 5 ios_chrome_web_egtests 0x00000001046d8c31 _ZN3web12WebStateImpl9GoToIndexEi + 49 6 ios_chrome_web_egtests 0x000000010471afd9 _ZN3web21NavigationManagerImpl6GoBackEv + 57 7 ios_chrome_web_egtests 0x00000001052580ea -[Tab goBack] + 378 8 ios_chrome_web_egtests 0x000000010509cd06 -[BrowserViewController chromeExecuteCommand:] + 1350 9 ios_chrome_web_egtests 0x0000000104a3ffb8 -[UIResponder(ChromeExecuteCommand) chromeExecuteCommand:] + 104 10 ios_chrome_web_egtests 0x0000000104a3ffb8 -[UIResponder(ChromeExecuteCommand) chromeExecuteCommand:] + 104 11 ios_chrome_web_egtests 0x0000000104a3ffb8 -[UIResponder(ChromeExecuteCommand) chromeExecuteCommand:] + 104 12 ios_chrome_web_egtests 0x0000000104a3ffb8 -[UIResponder(ChromeExecuteCommand) chromeExecuteCommand:] + 104 13 UIKit 0x000000010e672b88 -[UIApplication sendAction:to:from:forEvent:] + 83 14 UIKit 0x000000010e7f82b2 -[UIControl sendAction:to:forEvent:] + 67 15 UIKit 0x000000010e7f85cb -[UIControl _sendActionsForEvents:withEvent:] + 444 16 UIKit 0x000000010e7f74c7 -[UIControl touchesEnded:withEvent:] + 668 17 UIKit 0x000000010e6e00d5 -[UIWindow _sendTouchesForEvent:] + 2747 18 UIKit 0x000000010e6e17c3 -[UIWindow sendEvent:] + 4011 19 UIKit 0x000000010e68ea33 -[UIApplication sendEvent:] + 371 20 UIKit 0x000000012895e959 -[UIApplicationAccessibility sendEvent:] + 93 21 EarlGrey 0x0000000111b15d18 -[GREYTouchInjector grey_injectTouches:] + 1496 22 EarlGrey 0x0000000111b14f71 -[GREYTouchInjector timerFiredWithZeroToleranceTimer:] + 849 23 EarlGrey 0x0000000111b16e95 __50-[GREYZeroToleranceTimer initWithInterval:target:]_block_invoke + 53 24 EarlGrey 0x0000000111b173a7 __78+[GREYZeroToleranceTimer grey_scheduleZeroToleranceTimerWithInterval:handler:]_block_invoke + 39 25 libdispatch.dylib 0x00000001175d912e _dispatch_client_callout + 8 26 libdispatch.dylib 0x00000001175bc9d5 _dispatch_continuation_pop + 578 27 libdispatch.dylib 0x00000001175cd77d _dispatch_source_latch_and_call + 192 28 libdispatch.dylib 0x00000001175c65a9 _dispatch_source_invoke + 1259 29 libdispatch.dylib 0x00000001175c033e _dispatch_main_queue_callback_4CF + 559 30 CoreFoundation 0x000000010ff744f9 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9 31 CoreFoundation 0x000000010ff39f8d __CFRunLoopRun + 2205 32 CoreFoundation 0x000000010ff39494 CFRunLoopRunSpecific + 420 33 EarlGrey 0x0000000111b2ed7f -[GREYRunLoopSpinner grey_drainRunLoopInActiveModeAndCheckCondition:forTime:] + 687 34 EarlGrey 0x0000000111b2e72d -[GREYRunLoopSpinner spinWithStopConditionBlock:] + 1117 35 EarlGrey 0x0000000111b14b4e -[GREYTouchInjector waitUntilAllTouchesAreDeliveredUsingInjector] + 846 36 EarlGrey 0x0000000111b13d60 -[GREYSyntheticEvents grey_endTouchesAtPoints:timeElapsedSinceLastTouchDelivery:] + 176 37 EarlGrey 0x0000000111b12d0a +[GREYSyntheticEvents touchAlongMultiplePaths:relativeToWindow:forDuration:expendable:] + 1098 38 EarlGrey 0x0000000111b1286b +[GREYSyntheticEvents touchAlongPath:relativeToWindow:forDuration:expendable:] + 219 39 EarlGrey 0x0000000111ad473f +[GREYTapper tapOnWindow:numberOfTaps:location:error:] + 399 40 EarlGrey 0x0000000111ad455d +[GREYTapper tapOnElement:numberOfTaps:location:error:] + 909 41 EarlGrey 0x0000000111ad37a3 -[GREYTapAction perform:error:] + 371 42 EarlGrey 0x0000000111b05ae0 __46-[GREYElementInteraction performAction:error:]_block_invoke + 1056 43 EarlGrey 0x0000000111b32eb4 __59-[GREYUIThreadExecutor executeSyncWithTimeout:block:error:]_block_invoke + 68 44 EarlGrey 0x0000000111b2fb60 __54-[GREYRunLoopSpinner grey_checkConditionInActiveMode:]_block_invoke + 384 45 CoreFoundation 0x000000010ff5525c __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 12 46 CoreFoundation 0x000000010ff3a304 __CFRunLoopDoBlocks + 356 47 CoreFoundation 0x000000010ff39a75 __CFRunLoopRun + 901 48 CoreFoundation 0x000000010ff39494 CFRunLoopRunSpecific + 420 49 EarlGrey 0x0000000111b2f8cf -[GREYRunLoopSpinner grey_checkConditionInActiveMode:] + 399 50 EarlGrey 0x0000000111b2e6a7 -[GREYRunLoopSpinner spinWithStopConditionBlock:] + 983 51 EarlGrey 0x0000000111b32de4 -[GREYUIThreadExecutor executeSyncWithTimeout:block:error:] + 2228 52 EarlGrey 0x0000000111b04d2a -[GREYElementInteraction performAction:error:] + 2282 53 EarlGrey 0x0000000111b0440f -[GREYElementInteraction performAction:] + 79 54 ios_chrome_web_egtests 0x00000001044ba4be -[VisibleURLTestCase testBackNavigationWithPendingRendererInitiatedNavigation] + 1438 55 CoreFoundation 0x000000010ff3705c __invoking___ + 140 56 CoreFoundation 0x000000010ff36ee1 -[NSInvocation invoke] + 289 57 EarlGrey 0x0000000111afb4a8 -[GREYTestCaseInvocation invoke] + 104 58 XCTest 0x0000000111217f77 __24-[XCTestCase invokeTest]_block_invoke_2 + 481 59 XCTest 0x00000001112507df -[XCTestContext performInScope:] + 190 60 XCTest 0x0000000111217d83 -[XCTestCase invokeTest] + 255 61 EarlGrey 0x0000000111aeb79e -[XCTestCase(GREYAdditions) grey_invokeTest] + 1230 62 XCTest 0x000000011121859c -[XCTestCase performTest:] + 457 63 XCTest 0x0000000111215664 -[XCTestSuite performTest:] + 491 64 XCTest 0x0000000111215664 -[XCTestSuite performTest:] + 491 65 XCTest 0x0000000111215664 -[XCTestSuite performTest:] + 491 66 XCTest 0x0000000111201618 __25-[XCTestDriver _runSuite]_block_invoke + 51 67 XCTest 0x0000000111222d2b -[XCTestObservationCenter _observeTestExecutionForBlock:] + 602 68 XCTest 0x00000001112014b5 -[XCTestDriver _runSuite] + 436 69 XCTest 0x0000000111202302 -[XCTestDriver _checkForTestManager] + 287 70 XCTest 0x0000000111251d67 _XCTestMain + 628 71 CoreFoundation 0x000000010ff5525c __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 12 72 CoreFoundation 0x000000010ff3a304 __CFRunLoopDoBlocks + 356 73 CoreFoundation 0x000000010ff39a75 __CFRunLoopRun + 901 74 CoreFoundation 0x000000010ff39494 CFRunLoopRunSpecific + 420 75 GraphicsServices 0x000000011507ba6f GSEventRunModal + 161 76 UIKit 0x000000010e670f34 UIApplicationMain + 159 77 ios_chrome_web_egtests 0x0000000104438e0b main + 1051 78 libdyld.dylib 0x000000011582568d start + 1 2017-02-13 02:10:10.813 xcodebuild[34341:247114] [MT] IDETestOperationsObserverDebug: (E2C8729B-F590-4839-9D61-14032A06D74B) Beginning test session ios_chrome_web_egtests_module-E2C8729B-F590-4839-9D61-14032A06D74B at 2017-02-13 02:10:10.813 with Xcode 8A218a on target <DVTiPhoneSimulator: 0x7fe26de4a070> { SimDevice: SimDevice : iPhone 6s (65146135-4619-4106-A72A-9EEA4CC8EEA1) : state={ Booted } deviceType={ SimDeviceType : com.apple.CoreSimulator.SimDeviceType.iPhone-6s } runtime={ SimRuntime : 10.0 (14A345) - com.apple.CoreSimulator.SimRuntime.iOS-10-0 } } (10.0 (14A345)) 2017-02-13 02:10:10.813 xcodebuild[34341:255243] IDETestOperationsObserverDebug: Writing diagnostic log for test session to: /Users/chrome-bot/Library/Developer/Xcode/DerivedData/temporary-dabprewswrlsbahguahcbbsybpcv/Logs/Test/02C1B2B3-0BD7-439D-8CE6-9DBEA6695CA4
,
Feb 13 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7f58024526f7dfa06703d876beac569242299357 commit 7f58024526f7dfa06703d876beac569242299357 Author: olivierrobin <olivierrobin@chromium.org> Date: Mon Feb 13 13:39:23 2017 Set fromEntry to nil after discardNonCommittedItems. With the indirection CRWSessionEntry->NavigationItem, discardNonCommittedItems can invalidate fromEntry. Set if to nil if it is invalid. This is a tentative fix by the sheriff to make the tree green. Please review this CL and revert it later if there is a better solution. BUG= 691492 TBR=eugenebut@chromium.org, kkhorimoto@chromium.org, Review-Url: https://codereview.chromium.org/2690033002 Cr-Commit-Position: refs/heads/master@{#449941} [modify] https://crrev.com/7f58024526f7dfa06703d876beac569242299357/ios/web/web_state/ui/crw_web_controller.mm
,
Feb 13 2017
,
Feb 13 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2b55257be75ef0790299a2a239fbb8d33ec4e805 commit 2b55257be75ef0790299a2a239fbb8d33ec4e805 Author: kkhorimoto <kkhorimoto@chromium.org> Date: Mon Feb 13 23:52:24 2017 Revert "Updated ownership of NavigationItems within CRWSessionController." The original CL updated behavior in a couple ways that were introducing many bugs: - New CRWSessionEntries were vended every time a session entry property was accessed, which which broke logic comparing CRWSessionEntries. - CRWSessionEntries held an unowned pointer to their corresponding NavigationItems, making it possible for the CRWSessionEntry to outlive its backing NavigationItem. The CL will be re-landed once callers have been updated to reflect this new behavior. This reverts 3 CLs: https://codereview.chromium.org/2672953005 (original CL) https://codereview.chromium.org/2690973002 (hacky fix) https://codereview.chromium.org/2680313004 (hacky fix) BUG=689358, 691634, 545227, 691492 , 691469 Review-Url: https://codereview.chromium.org/2690913003 Cr-Commit-Position: refs/heads/master@{#450156} [modify] https://crrev.com/2b55257be75ef0790299a2a239fbb8d33ec4e805/ios/chrome/browser/ui/history/tab_history_popup_controller_unittest.mm [modify] https://crrev.com/2b55257be75ef0790299a2a239fbb8d33ec4e805/ios/web/BUILD.gn [modify] https://crrev.com/2b55257be75ef0790299a2a239fbb8d33ec4e805/ios/web/navigation/crw_session_controller.h [modify] https://crrev.com/2b55257be75ef0790299a2a239fbb8d33ec4e805/ios/web/navigation/crw_session_controller.mm [modify] https://crrev.com/2b55257be75ef0790299a2a239fbb8d33ec4e805/ios/web/navigation/crw_session_controller_unittest.mm [modify] https://crrev.com/2b55257be75ef0790299a2a239fbb8d33ec4e805/ios/web/navigation/crw_session_entry.h [modify] https://crrev.com/2b55257be75ef0790299a2a239fbb8d33ec4e805/ios/web/navigation/crw_session_entry.mm [modify] https://crrev.com/2b55257be75ef0790299a2a239fbb8d33ec4e805/ios/web/navigation/crw_session_entry_unittest.mm [modify] https://crrev.com/2b55257be75ef0790299a2a239fbb8d33ec4e805/ios/web/navigation/navigation_item_impl_list.h [modify] https://crrev.com/2b55257be75ef0790299a2a239fbb8d33ec4e805/ios/web/navigation/navigation_item_impl_list.mm [modify] https://crrev.com/2b55257be75ef0790299a2a239fbb8d33ec4e805/ios/web/navigation/session_storage_builder.mm [modify] https://crrev.com/2b55257be75ef0790299a2a239fbb8d33ec4e805/ios/web/public/navigation_item_list.h [add] https://crrev.com/2b55257be75ef0790299a2a239fbb8d33ec4e805/ios/web/public/navigation_item_list.mm [modify] https://crrev.com/2b55257be75ef0790299a2a239fbb8d33ec4e805/ios/web/web_state/ui/crw_web_controller.mm [modify] https://crrev.com/2b55257be75ef0790299a2a239fbb8d33ec4e805/ios/web/web_state/ui/crw_web_controller_unittest.mm
,
Feb 14 2017
|
|||
►
Sign in to add a comment |
|||
Comment 1 by sdefresne@chromium.org
, Feb 13 2017