Skip to content

[flutter_tools] UnsupportedError at _Uri._checkWindowsPathReservedCharacters when parsing file entries with invalid characters in assets section in pubspec.yaml  #141211

@andrewkolos

Description

@andrewkolos

Highly related: #140092

Repro steps (Windows host only):

  • Create a new flutter project.
  • In the assets section of your pubspec, add a file path that includes : anywhere in the path (such as https://website.com/file.png)
  • flutter run -d chrome (the crash does not happen when using -d windows).

Stack trace (29db9db):


FileSystemException: FileSystemException: Exists failed, path = 'C:\Users\Jozz\Desktop\deleteme\assets_test\http:\\whitehouse.gov' (OS Error: The filename, directory name, or volume label syntax is incorrect.
, errno = 123)

#0      _Directory.existsSync (dart:io/directory_impl.dart:87:7)
#1      ForwardingFileSystemEntity.existsSync (package:file/src/forwarding/forwarding_file_system_entity.dart:43:33)
#2      ErrorHandlingDirectory.existsSync.<anonymous closure> (package:flutter_tools/src/base/error_handling_io.dart:490:22)
#3      _runSync (package:flutter_tools/src/base/error_handling_io.dart:587:14)
#4      ErrorHandlingDirectory.existsSync (package:flutter_tools/src/base/error_handling_io.dart:489:12)
#5      _AssetDirectoryCache.variantsFor (package:flutter_tools/src/asset.dart:1254:43)
#6      ManifestAssetBundle._parseAssetFromFile (package:flutter_tools/src/asset.dart:974:37)
#7      ManifestAssetBundle._parseAssets (package:flutter_tools/src/asset.dart:829:9)
#8      ManifestAssetBundle.build (package:flutter_tools/src/asset.dart:267:54)
<asynchronous suspension>
#9      ResidentWebRunner._updateDevFS (package:flutter_tools/src/isolated/resident_web_runner.dart:531:26)
<asynchronous suspension>
#10     ResidentWebRunner.run.<anonymous closure> (package:flutter_tools/src/isolated/resident_web_runner.dart:319:41)
<asynchronous suspension>
#11     asyncGuard.<anonymous closure> (package:flutter_tools/src/base/async_guard.dart:111:24)
<asynchronous suspension>

Metadata

Metadata

Assignees

Labels

P2Important issues not at the top of the work listc: crashStack traces logged to the consolec: fatal crashCrashes that terminate the processteam-toolOwned by Flutter Tool teamtriaged-toolTriaged by Flutter Tool team

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions