-
Notifications
You must be signed in to change notification settings - Fork 30.1k
Closed
Labels
c: proposalA detailed proposal for a change to FlutterA detailed proposal for a change to Flutterr: fixedIssue is closed as already fixed in a newer versionIssue is closed as already fixed in a newer versiont: flutter doctorProblem related to the "flutter doctor" toolProblem related to the "flutter doctor" tooltoolAffects the "flutter" command-line tool. See also t: labels.Affects the "flutter" command-line tool. See also t: labels.
Description
The doctor HTTP validation can be configured through environment variables by providing a custom timeout FLUTTER_DOCTOR_HOST_TIMEOUT or hosts PUB_HOSTED_URL and FLUTTER_STORAGE_BASE_URL. However, setting any of them to a invalid value crashes the doctor validation.
Steps to Reproduce
Run these commands:
$ FLUTTER_STORAGE_BASE_URL='::Not valid URI::' flutter doctor -v
$ PUB_HOSTED_URL='' flutter doctor -v
$ FLUTTER_DOCTOR_HOST_TIMEOUT='deadbeef' flutter doctor -v
Expected results:
The doctor flow completes normally, displaying errors when appropriate.
Actual results:
Tool crashes, listed below:
Invalid URI
[☠] HTTP Host Availability (the doctor check crashed)
✗ Due to an error, the doctor check did not complete. If the error message below is not helpful, please let us know about this issue at https://github.com/flutter/flutter/issues.
✗ FormatException: Invalid empty scheme (at character 1)
::Not valid URI::
^
• #0 _Uri._fail (dart:core/uri.dart:1754:5)
#1 new _Uri.notSimple (dart:core/uri.dart:1587:9)
#2 Uri.parse (dart:core/uri.dart:1123:17)
#3 HttpHostValidator._checkHostAvailability (package:flutter_tools/src/http_host_validator.dart:62:67)
#4 MappedListIterable.elementAt (dart:_internal/iterable.dart:413:31)
#5 ListIterator.moveNext (dart:_internal/iterable.dart:342:26)
#6 Future.wait (dart:async/future.dart:471:26)
#7 HttpHostValidator.validate (package:flutter_tools/src/http_host_validator.dart:88:19)
#8 asyncGuard.<anonymous closure> (package:flutter_tools/src/base/async_guard.dart:111:32)
#9 asyncGuard.<anonymous closure> (package:flutter_tools/src/base/async_guard.dart:109:18)
#10 _rootRun (dart:async/zone.dart:1426:13)
#11 _CustomZone.run (dart:async/zone.dart:1328:19)
#12 _runZoned (dart:async/zone.dart:1861:10)
#13 runZonedGuarded (dart:async/zone.dart:1849:12)
#14 runZoned (dart:async/zone.dart:1780:12)
#15 asyncGuard (package:flutter_tools/src/base/async_guard.dart:109:3)
#16 Doctor.startValidatorTasks (package:flutter_tools/src/doctor.dart:206:9)
#17 Doctor.diagnose (package:flutter_tools/src/doctor.dart:316:72)
#18 DoctorCommand.runCommand (package:flutter_tools/src/commands/doctor.dart:50:48)
#19 FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:1324:12)
<asynchronous suspension>
#20 FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1165:27)
<asynchronous suspension>
#21 AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#22 CommandRunner.runCommand (package:args/command_runner.dart:209:13)
<asynchronous suspension>
#23 FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:281:9)
<asynchronous suspension>
#24 AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#25 FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:229:5)
<asynchronous suspension>
#26 run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:62:9)
<asynchronous suspension>
#27 AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#28 main (package:flutter_tools/executable.dart:94:3)
<asynchronous suspension>
Invalid host
[☠] HTTP Host Availability (the doctor check crashed)
✗ Due to an error, the doctor check did not complete. If the error message below is not helpful, please let us know about this issue at https://github.com/flutter/flutter/issues.
✗ Invalid argument(s): No host specified in URI
• #0 _HttpClient._openUrl (dart:_http/http_impl.dart:2667:9)
#1 _HttpClient.headUrl (dart:_http/http_impl.dart:2595:49)
#2 HttpHostValidator._checkHostAvailability (package:flutter_tools/src/http_host_validator.dart:62:55)
#3 MappedListIterable.elementAt (dart:_internal/iterable.dart:413:31)
#4 ListIterator.moveNext (dart:_internal/iterable.dart:342:26)
#5 Future.wait (dart:async/future.dart:471:26)
#6 HttpHostValidator.validate (package:flutter_tools/src/http_host_validator.dart:88:19)
#7 asyncGuard.<anonymous closure> (package:flutter_tools/src/base/async_guard.dart:111:32)
#8 asyncGuard.<anonymous closure> (package:flutter_tools/src/base/async_guard.dart:109:18)
#9 _rootRun (dart:async/zone.dart:1426:13)
#10 _CustomZone.run (dart:async/zone.dart:1328:19)
#11 _runZoned (dart:async/zone.dart:1861:10)
#12 runZonedGuarded (dart:async/zone.dart:1849:12)
#13 runZoned (dart:async/zone.dart:1780:12)
#14 asyncGuard (package:flutter_tools/src/base/async_guard.dart:109:3)
#15 Doctor.startValidatorTasks (package:flutter_tools/src/doctor.dart:206:9)
#16 Doctor.diagnose (package:flutter_tools/src/doctor.dart:316:72)
#17 DoctorCommand.runCommand (package:flutter_tools/src/commands/doctor.dart:50:48)
#18 FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:1324:12)
<asynchronous suspension>
#19 FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1165:27)
<asynchronous suspension>
#20 AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#21 CommandRunner.runCommand (package:args/command_runner.dart:209:13)
<asynchronous suspension>
#22 FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:281:9)
<asynchronous suspension>
#23 AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#24 FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:229:5)
<asynchronous suspension>
#25 run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:62:9)
<asynchronous suspension>
#26 AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#27 main (package:flutter_tools/executable.dart:94:3)
<asynchronous suspension>
Invalid timeout duration
[☠] HTTP Host Availability (the doctor check crashed)
✗ Due to an error, the doctor check did not complete. If the error message below is not helpful, please let us know about this issue at https://github.com/flutter/flutter/issues.
✗ FormatException: Invalid radix-10 number (at character 1)
deadbeef
^
• #0 int._handleFormatError (dart:core-patch/integers_patch.dart:131:5)
#1 int._parseRadix (dart:core-patch/integers_patch.dart:142:16)
#2 int._parse (dart:core-patch/integers_patch.dart:103:12)
#3 int.parse (dart:core-patch/integers_patch.dart:65:12)
#4 HttpHostValidator._checkHostAvailability (package:flutter_tools/src/http_host_validator.dart:61:11)
#5 MappedListIterable.elementAt (dart:_internal/iterable.dart:413:31)
#6 ListIterator.moveNext (dart:_internal/iterable.dart:342:26)
#7 Future.wait (dart:async/future.dart:471:26)
#8 HttpHostValidator.validate (package:flutter_tools/src/http_host_validator.dart:88:19)
#9 asyncGuard.<anonymous closure> (package:flutter_tools/src/base/async_guard.dart:111:32)
#10 asyncGuard.<anonymous closure> (package:flutter_tools/src/base/async_guard.dart:109:18)
#11 _rootRun (dart:async/zone.dart:1426:13)
#12 _CustomZone.run (dart:async/zone.dart:1328:19)
#13 _runZoned (dart:async/zone.dart:1861:10)
#14 runZonedGuarded (dart:async/zone.dart:1849:12)
#15 runZoned (dart:async/zone.dart:1780:12)
#16 asyncGuard (package:flutter_tools/src/base/async_guard.dart:109:3)
#17 Doctor.startValidatorTasks (package:flutter_tools/src/doctor.dart:206:9)
#18 Doctor.diagnose (package:flutter_tools/src/doctor.dart:316:72)
#19 DoctorCommand.runCommand (package:flutter_tools/src/commands/doctor.dart:50:48)
#20 FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:1324:12)
<asynchronous suspension>
#21 FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1165:27)
<asynchronous suspension>
#22 AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#23 CommandRunner.runCommand (package:args/command_runner.dart:209:13)
<asynchronous suspension>
#24 FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:281:9)
<asynchronous suspension>
#25 AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#26 FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:229:5)
<asynchronous suspension>
#27 run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:62:9)
<asynchronous suspension>
#28 AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#29 main (package:flutter_tools/executable.dart:94:3)
<asynchronous suspension>
flutter doctor -v
[✓] Flutter (Channel master, 2.11.0-0.0.pre.521, on Artix Linux 5.16.7-artix1-1, locale en_IN.UTF-8)
• Flutter version 2.11.0-0.0.pre.521 at /home/rarg/.local/src/flutter_sdk_master
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 81b9c35274 (18 hours ago), 2022-02-11 09:30:51 -0800
• Engine revision bed591d394
• Dart version 2.17.0 (build 2.17.0-87.0.dev)
• DevTools version 2.10.0
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
• Android SDK at /opt/android-sdk
• Platform android-31, build-tools 29.0.2
• ANDROID_HOME = /opt/android-sdk
• ANDROID_SDK_ROOT = /opt/android-sdk
• Java binary at: /usr/bin/java
• Java version OpenJDK Runtime Environment (build 11.0.13+8)
• All Android licenses accepted.
[✓] Chrome - develop for the web
• CHROME_EXECUTABLE = /usr/bin/chromium
[✓] Linux toolchain - develop for Linux desktop
• clang version 13.0.1
• cmake version 3.22.2
• ninja version 1.10.2
• pkg-config version 1.8.0
[!] Android Studio (not installed)
• Android Studio not found; download from https://developer.android.com/studio/index.html
(or visit https://flutter.dev/docs/get-started/install/linux#android-setup for detailed instructions).
[✓] Connected device (2 available)
• Linux (desktop) • linux • linux-x64 • Artix Linux 5.16.7-artix1-1
• Chrome (web) • chrome • web-javascript • Chromium 98.0.4758.80 Artix Linux
[✓] HTTP Host Availability
• All required HTTP hosts are available
! Doctor found issues in 1 category.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
c: proposalA detailed proposal for a change to FlutterA detailed proposal for a change to Flutterr: fixedIssue is closed as already fixed in a newer versionIssue is closed as already fixed in a newer versiont: flutter doctorProblem related to the "flutter doctor" toolProblem related to the "flutter doctor" tooltoolAffects the "flutter" command-line tool. See also t: labels.Affects the "flutter" command-line tool. See also t: labels.