Don't uninstall before retrying to connect during app launch (#134542)
When retrying to connect to the device during app launch, don't uninstall the app first. Latest test flake for https://github.com/flutter/flutter/issues/120808: https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8770202475999850785/+/u/run_hot_mode_dev_cycle_ios__benchmark/test_stdout Shows that it uninstalled and then tried debugging and failed, which would make sense since the app wasn't installed anymore. ``` [2023-09-11 18:02:24.555646] [STDOUT] stdout: [ +6 ms] Lost connection to device. Trying to connect again... [2023-09-11 18:02:24.556949] [STDOUT] stdout: [ +1 ms] executing: /opt/s/w/ir/x/w/recipe_cleanup/tmp53fs1szo/flutter sdk/bin/cache/artifacts/libimobiledevice/idevicesyslog -u 00008030-00144DA10185402E [2023-09-11 18:02:24.557323] [STDOUT] stdout: [ ] executing: script -t 0 /dev/null /opt/s/w/ir/x/w/recipe_cleanup/tmp53fs1szo/flutter sdk/bin/cache/artifacts/ios-deploy/ios-deploy --id 00008030-00144DA10185402E --bundle build/ios/iphoneos/Flutter Gallery.app --app_deltas build/ios/app-delta --uninstall --noinstall --debug --no-wifi --args --enable-dart-profiling --disable-vm-service-publication --enable-checked-mode --verify-entry-points [2023-09-11 18:02:24.578010] [STDOUT] stdout: [ +20 ms] [....] Waiting for iOS device to be connected [2023-09-11 18:02:24.712631] [STDOUT] stdout: [ +134 ms] [....] Using 00008030-00144DA10185402E (N104AP, iPhone 11, iphoneos, arm64e, 16.2, 20C65) a.k.a. 'iPhone 11'. [2023-09-11 18:02:24.712725] [STDOUT] stdout: [ ] ------ Uninstall phase ------ [2023-09-11 18:02:24.818293] [STDOUT] stdout: [ +105 ms] [ OK ] Uninstalled package with bundle id io.flutter.examples.gallery [2023-09-11 18:02:24.906833] [STDOUT] stdout: [ +88 ms] ------ Debug phase ------ [2023-09-11 18:02:24.906924] [STDOUT] stdout: [ ] Starting debug of 00008030-00144DA10185402E (N104AP, iPhone 11, iphoneos, arm64e, 16.2, 20C65) a.k.a. 'iPhone 11' connected through USB... [2023-09-11 18:02:25.285252] [STDOUT] stdout: [ +378 ms] [ 0%] Looking up developer disk image [2023-09-11 18:02:25.529937] [STDOUT] stdout: [ +244 ms] [ 90%] Mounting developer disk image [2023-09-11 18:02:25.545261] [STDOUT] stdout: [ +15 ms] [ 95%] Developer disk image already mounted [2023-09-11 18:02:25.587923] [STDOUT] stdout: [ +42 ms] Detected path to iOS debug symbols: "Symbol Path: /Users/swarming/Library/Developer/Xcode/iOS DeviceSupport/16.2 (20C65) arm64e/Symbols" [2023-09-11 18:02:25.857177] [STDOUT] stdout: [ +269 ms] Script started, output file is /dev/null [2023-09-11 18:02:25.857259] [STDOUT] stdout: [ ] Script done, output file is /dev/null [2023-09-11 18:02:25.857511] [STDOUT] stdout: [ ] ios-deploy exited with code 0 [2023-09-11 18:02:25.858066] [STDOUT] stderr: [ ] Could not run build/ios/iphoneos/Flutter Gallery.app on 00008030-00144DA10185402E. [2023-09-11 18:02:25.858130] [STDOUT] stderr: [ ] Try launching Xcode and selecting "Product > Run" to fix the problem: [2023-09-11 18:02:25.858214] [STDOUT] stderr: [ ] open ios/Runner.xcworkspace [2023-09-11 18:02:25.858537] [STDOUT] stdout: [ ] Installing and launching... (completed in 52.4s) [2023-09-11 18:02:25.858956] [STDOUT] stderr: [ ] Error launching application on iPhone 11. ```
This commit is contained in:
parent
6425a3b431
commit
abf8361ad4
@ -543,6 +543,7 @@ class IOSDevice extends Device {
|
|||||||
debuggingOptions: debuggingOptions,
|
debuggingOptions: debuggingOptions,
|
||||||
launchArguments: launchArguments,
|
launchArguments: launchArguments,
|
||||||
ipv6: ipv6,
|
ipv6: ipv6,
|
||||||
|
uninstallFirst: debuggingOptions.uninstallFirst,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -695,6 +696,7 @@ class IOSDevice extends Device {
|
|||||||
debuggingOptions: debuggingOptions,
|
debuggingOptions: debuggingOptions,
|
||||||
launchArguments: launchArguments,
|
launchArguments: launchArguments,
|
||||||
ipv6: ipv6,
|
ipv6: ipv6,
|
||||||
|
uninstallFirst: false,
|
||||||
skipInstall: true,
|
skipInstall: true,
|
||||||
);
|
);
|
||||||
installationResult = await iosDeployDebugger!.launchAndAttach() ? 0 : 1;
|
installationResult = await iosDeployDebugger!.launchAndAttach() ? 0 : 1;
|
||||||
@ -737,6 +739,7 @@ class IOSDevice extends Device {
|
|||||||
required DebuggingOptions debuggingOptions,
|
required DebuggingOptions debuggingOptions,
|
||||||
required List<String> launchArguments,
|
required List<String> launchArguments,
|
||||||
required bool ipv6,
|
required bool ipv6,
|
||||||
|
required bool uninstallFirst,
|
||||||
bool skipInstall = false,
|
bool skipInstall = false,
|
||||||
}) {
|
}) {
|
||||||
final DeviceLogReader deviceLogReader = getLogReader(
|
final DeviceLogReader deviceLogReader = getLogReader(
|
||||||
@ -753,7 +756,7 @@ class IOSDevice extends Device {
|
|||||||
appDeltaDirectory: package.appDeltaDirectory,
|
appDeltaDirectory: package.appDeltaDirectory,
|
||||||
launchArguments: launchArguments,
|
launchArguments: launchArguments,
|
||||||
interfaceType: connectionInterface,
|
interfaceType: connectionInterface,
|
||||||
uninstallFirst: debuggingOptions.uninstallFirst,
|
uninstallFirst: uninstallFirst,
|
||||||
skipInstall: skipInstall,
|
skipInstall: skipInstall,
|
||||||
);
|
);
|
||||||
if (deviceLogReader is IOSDeviceLogReader) {
|
if (deviceLogReader is IOSDeviceLogReader) {
|
||||||
|
@ -75,6 +75,7 @@ FakeCommand attachDebuggerCommand({
|
|||||||
String stdout = '(lldb) run\nsuccess',
|
String stdout = '(lldb) run\nsuccess',
|
||||||
Completer<void>? completer,
|
Completer<void>? completer,
|
||||||
bool isWirelessDevice = false,
|
bool isWirelessDevice = false,
|
||||||
|
bool uninstallFirst = false,
|
||||||
bool skipInstall = false,
|
bool skipInstall = false,
|
||||||
}) {
|
}) {
|
||||||
return FakeCommand(
|
return FakeCommand(
|
||||||
@ -88,6 +89,8 @@ FakeCommand attachDebuggerCommand({
|
|||||||
'123',
|
'123',
|
||||||
'--bundle',
|
'--bundle',
|
||||||
'/',
|
'/',
|
||||||
|
if (uninstallFirst)
|
||||||
|
'--uninstall',
|
||||||
if (skipInstall)
|
if (skipInstall)
|
||||||
'--noinstall',
|
'--noinstall',
|
||||||
'--debug',
|
'--debug',
|
||||||
@ -349,6 +352,7 @@ void main() {
|
|||||||
final FakeProcessManager processManager = FakeProcessManager.list(<FakeCommand>[
|
final FakeProcessManager processManager = FakeProcessManager.list(<FakeCommand>[
|
||||||
attachDebuggerCommand(
|
attachDebuggerCommand(
|
||||||
stdout: '(lldb) run\nsuccess\nProcess 525 exited with status = -1 (0xffffffff) lost connection',
|
stdout: '(lldb) run\nsuccess\nProcess 525 exited with status = -1 (0xffffffff) lost connection',
|
||||||
|
uninstallFirst: true,
|
||||||
),
|
),
|
||||||
attachDebuggerCommand(
|
attachDebuggerCommand(
|
||||||
stdout: '(lldb) run\nsuccess\nThe Dart VM service is listening on http://127.0.0.1:456',
|
stdout: '(lldb) run\nsuccess\nThe Dart VM service is listening on http://127.0.0.1:456',
|
||||||
@ -375,6 +379,7 @@ void main() {
|
|||||||
debuggingOptions: DebuggingOptions.enabled(
|
debuggingOptions: DebuggingOptions.enabled(
|
||||||
BuildInfo.debug,
|
BuildInfo.debug,
|
||||||
usingCISystem: true,
|
usingCISystem: true,
|
||||||
|
uninstallFirst: true,
|
||||||
),
|
),
|
||||||
platformArgs: <String, dynamic>{},
|
platformArgs: <String, dynamic>{},
|
||||||
);
|
);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user