sdk icon indicating copy to clipboard operation
sdk copied to clipboard

dart null-safety migration crashes during suggestions generation

Open aam opened this issue 3 years ago • 1 comments

$ dart/migrate ...

Building tool...done.
...
Analyzing project...
[----------------------------------------------------------------------------------------------------------------------------------------|]Warning: package has unmigrated dependencies.

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...
[----------|                                                                                                                              ]Aborting migration due to an exception.  This most likely is due to a
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.18.442694077-edge+google3-v2) in your bug report.

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

Exception details:

Bad state: Unrelated types: class ComponentFactory<T extends Object> and abstract class FutureOr<T> at offset 20448 in /google/src/cloud/aam/npm1/google3/ads/awapps2/infra/filters/lib/default_providers.dart (operators.nullCheckOperators.contains(op) ? NoopFilterValueEditorNgFactory : notNullableFilterComponent)

#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._decorateUpperOrLowerBound (package:nnbd_migration/src/edge_builder.dart:2239:18)
#3      EdgeBuilder.visitConditionalExpression (package:nnbd_migration/src/edge_builder.dart:784:23)
#4      ConditionalExpressionImpl.accept (package:analyzer/src/dart/ast/ast.dart:2344:15)
#5      EdgeBuilder._dispatch (package:nnbd_migration/src/edge_builder.dart:2341:24)
#6      EdgeBuilder._handleAssignment (package:nnbd_migration/src/edge_builder.dart:2470:20)
#7      EdgeBuilder._handleInvocationArguments (package:nnbd_migration/src/edge_builder.dart:3086:7)
#8      EdgeBuilder.visitMethodInvocation (package:nnbd_migration/src/edge_builder.dart:1417:24)
#9      MethodInvocationImpl.accept (package:analyzer/src/dart/ast/ast.dart:7712:50)
#10     EdgeBuilder._dispatch (package:nnbd_migration/src/edge_builder.dart:2341:24)
#11     EdgeBuilder._handleAssignment (package:nnbd_migration/src/edge_builder.dart:2470:20)
#12     EdgeBuilder.visitMapLiteralEntry (package:nnbd_migration/src/edge_builder.dart:1349:5)
#13     MapLiteralEntryImpl.accept (package:analyzer/src/dart/ast/ast.dart:7383:50)
#14     EdgeBuilder._dispatch (package:nnbd_migration/src/edge_builder.dart:2341:24)
#15     EdgeBuilder._handleCollectionElement (package:nnbd_migration/src/edge_builder.dart:2558:14)
#16     EdgeBuilder.visitForElement.<anonymous closure> (package:nnbd_migration/src/edge_builder.dart:943:19)
#17     EdgeBuilder._handleForLoopParts.<anonymous closure> (package:nnbd_migration/src/edge_builder.dart:2924:18)
#18     ScopedSet.doScoped (package:nnbd_migration/src/utilities/scoped_set.dart:48:13)
#19     EdgeBuilder._handleForLoopParts (package:nnbd_migration/src/edge_builder.dart:2923:26)
#20     EdgeBuilder.visitForElement (package:nnbd_migration/src/edge_builder.dart:942:5)
#21     ForElementImpl.accept (package:analyzer/src/dart/ast/ast.dart:4665:50)
#22     EdgeBuilder._dispatch (package:nnbd_migration/src/edge_builder.dart:2341:24)
#23     EdgeBuilder._handleCollectionElement (package:nnbd_migration/src/edge_builder.dart:2558:14)
#24     ListMixin.forEach (dart:collection/list.dart:86:13)
#25     EdgeBuilder.visitSetOrMapLiteral (package:nnbd_migration/src/edge_builder.dart:1766:23)
#26     SetOrMapLiteralImpl.accept (package:analyzer/src/dart/ast/ast.dart:9327:50)
#27     EdgeBuilder._dispatch (package:nnbd_migration/src/edge_builder.dart:2341:24)
#28     EdgeBuilder._handleAssignment (package:nnbd_migration/src/edge_builder.dart:2470:20)
#29     EdgeBuilder.visitReturnStatement (package:nnbd_migration/src/edge_builder.dart:1696:7)
#30     ReturnStatementImpl.accept (package:analyzer/src/dart/ast/ast.dart:9218:50)
#31     EdgeBuilder._dispatch (package:nnbd_migration/src/edge_builder.dart:2341:24)
#32     EdgeBuilder.visitNode (package:nnbd_migration/src/edge_builder.dart:1537:9)
#33     GeneralizingAstVisitor.visitStatement (package:analyzer/dart/ast/visitor.dart:551:40)
#34     GeneralizingAstVisitor.visitBlock (package:analyzer/dart/ast/visitor.dart:163:32)
#35     BlockImpl.accept (package:analyzer/src/dart/ast/ast.dart:1091:50)
#36     EdgeBuilder._dispatch (package:nnbd_migration/src/edge_builder.dart:2341:24)
#37     EdgeBuilder.visitNode (package:nnbd_migration/src/edge_builder.dart:1537:9)
#38     GeneralizingAstVisitor.visitFunctionBody (package:analyzer/dart/ast/visitor.dart:334:46)
#39     GeneralizingAstVisitor.visitBlockFunctionBody (package:analyzer/dart/ast/visitor.dart:166:56)
#40     BlockFunctionBodyImpl.accept (package:analyzer/src/dart/ast/ast.dart:1042:50)
#41     EdgeBuilder._dispatch (package:nnbd_migration/src/edge_builder.dart:2341:24)
#42     EdgeBuilder.visitFunctionExpression.<anonymous closure> (package:nnbd_migration/src/edge_builder.dart:1035:25)
#43     ScopedSet.doScoped (package:nnbd_migration/src/utilities/scoped_set.dart:48:13)
#44     EdgeBuilder.visitFunctionExpression (package:nnbd_migration/src/edge_builder.dart:1033:28)
#45     FunctionExpressionImpl.accept (package:analyzer/src/dart/ast/ast.dart:5343:50)
#46     EdgeBuilder._dispatch (package:nnbd_migration/src/edge_builder.dart:2341:24)
#47     EdgeBuilder.visitFunctionDeclaration (package:nnbd_migration/src/edge_builder.dart:982:9)
#48     FunctionDeclarationImpl.accept (package:analyzer/src/dart/ast/ast.dart:5215:50)
#49     EdgeBuilder._dispatch (package:nnbd_migration/src/edge_builder.dart:2341:24)
#50     EdgeBuilder.visitNode (package:nnbd_migration/src/edge_builder.dart:1537:9)
#51     GeneralizingAstVisitor.visitCompilationUnit (package:analyzer/dart/ast/visitor.dart:200:52)
#52     CompletenessTracker.visitCompilationUnit.<anonymous closure> (package:nnbd_migration/src/utilities/completeness_tracker.dart:52:24)
#53     PermissiveModeVisitor.reportExceptionsIfPermissive (package:nnbd_migration/src/utilities/permissive_mode.dart:26:24)
#54     CompletenessTracker.visitCompilationUnit (package:nnbd_migration/src/utilities/completeness_tracker.dart:43:5)
#55     CompilationUnitImpl.accept (package:analyzer/src/dart/ast/ast.dart:2220:50)
#56     NullabilityMigrationImpl.processInput (package:nnbd_migration/src/nullability_migration_impl.dart:223:12)
#57     NonNullableFix.processUnit (package:nnbd_migration/src/front_end/non_nullable_fix.dart:162:16)
#58     _FixCodeProcessor.runLaterPhases.<anonymous closure> (package:nnbd_migration/migration_cli.dart:1088:20)
#59     _FixCodeProcessor.runLaterPhases.<anonymous closure> (package:nnbd_migration/migration_cli.dart:1086:28)
#60     _FixCodeProcessor.processResources (package:nnbd_migration/migration_cli.dart:1020:26)
<asynchronous suspension>
#61     _FixCodeProcessor.runLaterPhases (package:nnbd_migration/migration_cli.dart:1086:5)
<asynchronous suspension>
#62     MigrationCliRunner.run (package:nnbd_migration/migration_cli.dart:695:24)
<asynchronous suspension>
#63     startMigrationTool (package:dart.null_safety.migration/src/migration_runner.dart:382:5)
<asynchronous suspension>
#64     main (package:dart.null_safety.migration/migration.dart:57:3)
<asynchronous suspension>
#65     main (google3:///dart/null_safety/migration/bin/migration.dart:7:5)
<asynchronous suspension>

Unhandled error: Instance of 'MigrationExit'
#0      MigrationCliRunner.onException (package:nnbd_migration/migration_cli.dart:583:9)
#1      NullabilityMigrationAdapter.reportException (package:nnbd_migration/src/front_end/non_nullable_fix.dart:549:21)
#2      PermissiveModeVisitor.reportExceptionsIfPermissive (package:nnbd_migration/src/utilities/permissive_mode.dart:28:19)
#3      CompletenessTracker.visitCompilationUnit (package:nnbd_migration/src/utilities/completeness_tracker.dart:43:5)
#4      CompilationUnitImpl.accept (package:analyzer/src/dart/ast/ast.dart:2220:50)
#5      NullabilityMigrationImpl.processInput (package:nnbd_migration/src/nullability_migration_impl.dart:223:12)
#6      NonNullableFix.processUnit (package:nnbd_migration/src/front_end/non_nullable_fix.dart:162:16)
#7      _FixCodeProcessor.runLaterPhases.<anonymous closure> (package:nnbd_migration/migration_cli.dart:1088:20)
#8      _FixCodeProcessor.runLaterPhases.<anonymous closure> (package:nnbd_migration/migration_cli.dart:1086:28)
#9      _FixCodeProcessor.processResources (package:nnbd_migration/migration_cli.dart:1020:26)
<asynchronous suspension>
#10     _FixCodeProcessor.runLaterPhases (package:nnbd_migration/migration_cli.dart:1086:5)
<asynchronous suspension>
#11     MigrationCliRunner.run (package:nnbd_migration/migration_cli.dart:695:24)
<asynchronous suspension>
#12     startMigrationTool (package:dart.null_safety.migration/src/migration_runner.dart:382:5)
<asynchronous suspension>
#13     main (package:dart.null_safety.migration/migration.dart:57:3)
<asynchronous suspension>
#14     main (google3:///dart/null_safety/migration/bin/migration.dart:7:5)
<asynchronous suspension>

cc @stereotype441

aam avatar Apr 21 '22 15:04 aam

I think a duplicate of https://github.com/dart-lang/sdk/issues/45663

srawlins avatar Aug 04 '22 20:08 srawlins

As of 1c7fe7196dd7a542f7f91cd6ea2ac81e1a13146c, the null safety migration tool has been removed from active development and retired. No further work on the tool is planned.

If you still need help, or you believe this issue has been closed in error, please feel free to reopen.

stereotype441 avatar Nov 21 '23 21:11 stereotype441