Skip to content

Crash in dart migrate Bad state: Unrelated types #44216

Closed
@johnniwinther

Description

@johnniwinther

Trying to run

dart migrate pkg/kernel --skip-import-check

in the Dart repo - on top of the changes in https://dart-review.googlesource.com/c/sdk/+/171945 - leads to this crash:

Migrating c:\src\dart-repo1b\sdk\pkg\kernel

See https://dart.dev/go/null-safety-migration for a migration guide.

Analyzing project...
[----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|]

Continuing due to the presence of `--skip-import-check`.  To see a complete
list of the unmigrated dependencies, re-run without the `--skip-import-check`
flag.

No analysis issues found.

Generating migration suggestions...
[-----------------------------------------------------------\                                                                                                                                                                                                                 ]
bug in the migration tool.  Please consider filing a bug report at:

https://github.com/dart-lang/sdk/issues/new
Please include the SDK version (2.12.0-edge.a39ea2562720724ac61772c1a3bc4f63dc32f490) in your bug report.

To attempt to perform migration anyway, you may re-run with
--ignore-exceptions.

Exception details:

Bad state: Unrelated types: abstract class List<E> implements EfficientLengthIterable<E> and class Tuple2<T1, T2>

#0      DecoratedClassHierarchy.getDecoratedSupertype (package:nnbd_migration/src/decorated_class_hierarchy.dart:67:10)
#1      DecoratedClassHierarchy.asInstanceOf (package:nnbd_migration/src/decorated_class_hierarchy.dart:38:18)
#2      EdgeBuilder.getOrComputeElementType (package:nnbd_migration/src/edge_builder.dart:248:16)
#3      EdgeBuilder._handlePropertyAccess (package:nnbd_migration/src/edge_builder.dart:2914:20)
#4      EdgeBuilder.visitPrefixedIdentifier (package:nnbd_migration/src/edge_builder.dart:1361:14)
#5      PrefixedIdentifierImpl.accept (package:analyzer/src/dart/ast/ast.dart:8207:49)
#6      EdgeBuilder._dispatch (package:nnbd_migration/src/edge_builder.dart:2143:22)
#7      EdgeBuilder._handleAssignment (package:nnbd_migration/src/edge_builder.dart:2257:20)
#8      EdgeBuilder.visitExpressionFunctionBody (package:nnbd_migration/src/edge_builder.dart:781:5)
#9      ExpressionFunctionBodyImpl.accept (package:analyzer/src/dart/ast/ast.dart:3494:15)
#10     EdgeBuilder._dispatch (package:nnbd_migration/src/edge_builder.dart:2143:22)
#11     EdgeBuilder.visitFunctionExpression.<anonymous closure> (package:nnbd_migration/src/edge_builder.dart:900:25)
#12     ScopedSet.doScoped (package:nnbd_migration/src/utilities/scoped_set.dart:44:13)
#13     EdgeBuilder.visitFunctionExpression (package:nnbd_migration/src/edge_builder.dart:898:28)
#14     FunctionExpressionImpl.accept (package:analyzer/src/dart/ast/ast.dart:4970:49)
#15     EdgeBuilder._dispatch (package:nnbd_migration/src/edge_builder.dart:2143:22)
#16     EdgeBuilder._handleAssignment (package:nnbd_migration/src/edge_builder.dart:2257:20)
#17     EdgeBuilder._handleInvocationArguments (package:nnbd_migration/src/edge_builder.dart:2851:7)
#18     EdgeBuilder.visitInstanceCreationExpression (package:nnbd_migration/src/edge_builder.dart:1106:5)
#19     InstanceCreationExpressionImpl.accept (package:analyzer/src/dart/ast/ast.dart:6087:15)
#20     EdgeBuilder._dispatch (package:nnbd_migration/src/edge_builder.dart:2143:22)
#21     EdgeBuilder._handleAssignment (package:nnbd_migration/src/edge_builder.dart:2257:20)
#22     EdgeBuilder.visitVariableDeclarationList (package:nnbd_migration/src/edge_builder.dart:1873:11)
#23     VariableDeclarationListImpl.accept (package:analyzer/src/dart/ast/ast.dart:10593:15)
#24     EdgeBuilder._dispatch (package:nnbd_migration/src/edge_builder.dart:2143:22)
#25     EdgeBuilder.visitNode (package:nnbd_migration/src/edge_builder.dart:1296:9)
#26     GeneralizingAstVisitor.visitAnnotatedNode (package:analyzer/dart/ast/visitor.dart:137:47)
#27     GeneralizingAstVisitor.visitDeclaration (package:analyzer/dart/ast/visitor.dart:230:43)
#28     GeneralizingAstVisitor.visitCompilationUnitMember (package:analyzer/dart/ast/visitor.dart:205:7)
#29     GeneralizingAstVisitor.visitTopLevelVariableDeclaration (package:analyzer/dart/ast/visitor.dart:554:7)
#30     TopLevelVariableDeclarationImpl.accept (package:analyzer/src/dart/ast/ast.dart:9858:15)
#31     EdgeBuilder._dispatch (package:nnbd_migration/src/edge_builder.dart:2143:22)
#32     EdgeBuilder.visitNode (package:nnbd_migration/src/edge_builder.dart:1296:9)
#33     GeneralizingAstVisitor.visitCompilationUnit (package:analyzer/dart/ast/visitor.dart:202:51)
#34     CompletenessTracker.visitCompilationUnit.<anonymous closure> (package:nnbd_migration/src/utilities/completeness_tracker.dart:52:24)
#35     PermissiveModeVisitor.reportExceptionsIfPermissive (package:nnbd_migration/src/utilities/permissive_mode.dart:26:24)
#36     CompletenessTracker.visitCompilationUnit (package:nnbd_migration/src/utilities/completeness_tracker.dart:43:5)
#37     CompilationUnitImpl.accept (package:analyzer/src/dart/ast/ast.dart:2113:49)
#38     NullabilityMigrationImpl.processInput (package:nnbd_migration/src/nullability_migration_impl.dart:244:12)
#39     NonNullableFix.processUnit (package:nnbd_migration/src/front_end/non_nullable_fix.dart:153:15)
#40     _FixCodeProcessor.runLaterPhases.<anonymous closure> (package:nnbd_migration/migration_cli.dart:1123:19)
#41     _FixCodeProcessor.runLaterPhases.<anonymous closure> (package:nnbd_migration/migration_cli.dart:1121:28)
#42     _FixCodeProcessor.processResources (package:nnbd_migration/migration_cli.dart:1050:30)
<asynchronous suspension>
#43     _FixCodeProcessor.runLaterPhases (package:nnbd_migration/migration_cli.dart:1121:5)
<asynchronous suspension>
#44     MigrationCliRunner.run (package:nnbd_migration/migration_cli.dart:727:24)
<asynchronous suspension>
#45     MigrateCommand.run (package:nnbd_migration/migration_cli.dart:185:7)
<asynchronous suspension>
#46     CommandRunner.runCommand (package:args/command_runner.dart:197:13)
<asynchronous suspension>
#47     DartdevRunner.runCommand (package:dartdev/dartdev.dart:249:24)
<asynchronous suspension>
#48     runDartdev (package:dartdev/dartdev.dart:112:14)
<asynchronous suspension>
#49     main (file:///c:/src/dart-repo1b/sdk/pkg/dartdev/bin/dartdev.dart:11:3)
<asynchronous suspension>

Metadata

Metadata

Assignees

Labels

P1A high priority bug; for example, a single project is unusable or has many test failuresarea-migration (deprecated)Deprecated: this label is no longer actively used (was: issues with the `dart migrate` tool).crashProcess exits with SIGSEGV, SIGABRT, etc. An unhandled exception is not a crash.

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions