Skip to content

dart2js stage global-inference fails to deserialize closed world #60353

@fishythefish

Description

@fishythefish

If I create a simple test file like:

void main() {}

Then I can run

dart2js --stage=cfe test.dart
dart2js --stage=closed-world test.dart

But when I then run

dart2js --stage=global-inference test.dart

the compiler crashes during deserialization:

The compiler crashed: type 'VariableGet' is not a subtype of type 'VariableDeclaration' in type cast
#0      DataSourceReader.readTreeNodesOrNull.<anonymous closure> (package:compiler/src/serialization/source.dart:639:58)
#1      new _List.generate (dart:core-patch/array.dart:115:28)
#2      DataSourceReader.readTreeNodesOrNull (package:compiler/src/serialization/source.dart:639:12)
#3      DataSourceReader.readTreeNodes (package:compiler/src/serialization/source.dart:628:12)
#4      new JsScopeInfo.readFromDataSource (package:compiler/src/js_model/closure.dart:637:16)
#5      new ScopeInfo.readFromDataSource (package:compiler/src/closure.dart:79:28)
#6      DataSourceReader.readDeferrable.<anonymous closure> (package:compiler/src/serialization/source.dart:191:72)
#7      BinaryDataSource.readDeferredAsEager (package:compiler/src/serialization/binary_source.dart:111:18)
#8      DataSourceReader.readDeferrable (package:compiler/src/serialization/source.dart:191:45)
#9      new ClosureDataImpl.readFromDataSource.<anonymous closure> (package:compiler/src/js_model/closure.dart:103:18)
#10     DataSourceReader.readMemberMapOrNull (package:compiler/src/serialization/source.dart:1148:18)
#11     DataSourceReader.readMemberMap (package:compiler/src/serialization/source.dart:1131:12)
#12     new ClosureDataImpl.readFromDataSource (package:compiler/src/js_model/closure.dart:101:29)
#13     new JClosedWorld.readFromDataSource (package:compiler/src/js_model/js_world.dart:214:43)
#14     deserializeClosedWorldFromSource (package:compiler/src/serialization/task.dart:424:23)
#15     SerializationTask.deserializeClosedWorld.<anonymous closure> (package:compiler/src/serialization/task.dart:143:25)
<asynchronous suspension>
#16     SerializationTask.deserializeClosedWorld (package:compiler/src/serialization/task.dart:129:12)
<asynchronous suspension>
#17     Compiler.produceClosedWorld (package:compiler/src/compiler.dart:618:21)
<asynchronous suspension>
#18     Compiler.runSequentialPhases (package:compiler/src/compiler.dart:728:33)
<asynchronous suspension>
#19     Compiler.runInternal.<anonymous closure> (package:compiler/src/compiler.dart:339:7)
<asynchronous suspension>
#20     Compiler.runInternal (package:compiler/src/compiler.dart:338:5)
<asynchronous suspension>
#21     Compiler.run.<anonymous closure> (package:compiler/src/compiler.dart:250:7)
<asynchronous suspension>
#22     compile.<anonymous closure> (package:compiler/compiler_api.dart:273:30)
<asynchronous suspension>
#23     compile.compilationDone (package:compiler/src/dart2js.dart:765:3)
<asynchronous suspension>
#24     main (package:compiler/src/dart2js.dart:1315:3)
<asynchronous suspension>

Metadata

Metadata

Assignees

Labels

area-web-jsIssues related to JavaScript support for Dart Web, including DDC, dart2js, and JS interop.web-dart2js

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions