-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Closed
Labels
P1A high priority bug; for example, a single project is unusable or has many test failuresA high priority bug; for example, a single project is unusable or has many test failureslegacy-area-analyzerUse area-devexp instead.Use area-devexp instead.
Milestone
Description
Create a file "test1.dart" with the following contents:
import 'package:foobar/foobar.dart';
Also, create an empty folder called "package_root"
Now, from inside the folder containing both of these, run the command-line analyzer as follows:
.../dartanalyzer --package-root=package_root test1.dart
Expected result: there should be a single error and no other output:
Analyzing [test1.dart]...
[error] Target of URI does not exist: 'package:foobar/foobar.dart' (/Users/paulberry/tmp/test1.dart, line 1, col 8)
1 error found.
Observed result: a stack trace is also output:
Canonical failed: package_root/foobar
JavaIOException: IOException FileSystemException: Cannot resolve symbolic links, path = 'package_root/foobar' (OS Error: No such file or directory, errno = 2)
#0 JavaFile.getCanonicalPath (package:analyzer/src/generated/java_io.dart:48:7)
#1 JavaFile.getCanonicalFile (package:analyzer/src/generated/java_io.dart:43:47)
#2 PackageUriResolver.getCanonicalFile (package:analyzer/src/generated/source_io.dart:404:23)
#3 PackageUriResolver.resolveAbsolute (package:analyzer/src/generated/source_io.dart:458:9)
#4 SourceFactory._internalResolveUri (package:analyzer/src/generated/source.dart:759:32)
#5 SourceFactory.resolveUri (package:analyzer/src/generated/source.dart:710:14)
#6 ParseDartTask.resolveDirective (package:analyzer/src/generated/engine.dart:9480:35)
#7 ParseDartTask.internalPerform.<anonymous closure> (package:analyzer/src/generated/engine.dart:9423:39)
#8 _PerformanceTagImpl.makeCurrentWhile (package:analyzer/src/generated/utilities_general.dart:152:15)
#9 ParseDartTask.internalPerform (package:analyzer/src/generated/engine.dart:9408:33)
#10 AnalysisTask._safelyPerform (package:analyzer/src/generated/engine.dart:6414:7)
#11 AnalysisTask.perform (package:analyzer/src/generated/engine.dart:6387:7)
#12 AnalysisContextImpl._cacheDartParseData (package:analyzer/src/generated/engine.dart:2752:12)
#13 AnalysisContextImpl._getDartParseData (package:analyzer/src/generated/engine.dart:3345:17)
#14 AnalysisContextImpl.computeKindOf (package:analyzer/src/generated/engine.dart:1662:16)
#15 AnalyzerImpl._analyzeSync (package:analyzer_cli/src/analyzer_impl.dart:183:17)
#16 AnalyzerImpl.analyzeSync (package:analyzer_cli/src/analyzer_impl.dart:123:12)
#17 Driver._runAnalyzer (package:analyzer_cli/src/driver.dart:322:34)
#18 Driver._analyzeAll (package:analyzer_cli/src/driver.dart:122:30)
#19 Driver.start (package:analyzer_cli/src/driver.dart:76:7)
#20 main (file:///Users/paulberry/dart-new/sdk/third_party/pkg/analyzer_cli/bin/analyzer.dart:11:11)
#21 _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:259)
#22 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:148)
The problem seems to be related to the use of --package-root. If this parameter is dropped (causing analyzer to use pub list-package-dirs) then there is no stacktrace.
Filing under analyzer rather than analyzer_cli because I believe the problem is inside the analyzer itself.
Metadata
Metadata
Assignees
Labels
P1A high priority bug; for example, a single project is unusable or has many test failuresA high priority bug; for example, a single project is unusable or has many test failureslegacy-area-analyzerUse area-devexp instead.Use area-devexp instead.