Skip to content

Stack Overflow on compilation #44362

Closed
Closed
@AndreyPavlenko

Description

@AndreyPavlenko

I'm getting Stack Overflow error when compiling the following code:


import 'package:flutter/foundation.dart';

void main() {
print(valuesEqual(1, 2));
}

bool valuesEqual(T? v1, T? v2) {
return ((v1 == v2) || ((v1 is List) && (v2 is List) && listEquals(v1, v2)));
}


$ dart --version
Dart SDK version: 2.12.0-76.0.dev (dev) (Wed Nov 25 05:22:28 2020 -0800) on "linux_x64"


at character offset 120:
Stack Overflow
#0      isTypeParameterTypeWithoutNullabilityMarker (package:kernel/type_algebra.dart:1051:1)
#1      TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:377:9)
#2      TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#3      TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#4      TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#5      TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#6      TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#7      TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#8      TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#9      TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#10     TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#11     TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#12     TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#13     TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#14     TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#15     TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#16     TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#17     TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#18     TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#19     TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#20     TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#21     TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#22     TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#23     TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#24     TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#25     TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#26     TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#27     TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#28     TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#29     TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#30     TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#31     TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#32     TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#33     TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#34     TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#35     TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#36     TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#37     TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#38     TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#39     TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#40     TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#41     TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#42     TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#43     TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
...
...
#3909   TypeInferrerImpl._inferInvocation (package:front_end/src/fasta/type_inference/type_inferrer.dart:2133:29)
#3910   TypeInferrerImpl.inferInvocation (package:front_end/src/fasta/type_inference/type_inferrer.dart:1849:12)
#3911   InferenceVisitor.visitStaticInvocation (package:front_end/src/fasta/kernel/inference_visitor.dart:5296:49)
#3912   StaticInvocation.accept1 (package:kernel/ast.dart:4070:9)
#3913   TypeInferrerImpl._inferExpression (package:front_end/src/fasta/type_inference/type_inferrer.dart:1737:27)
#3914   TypeInferrerImpl.inferExpression (package:front_end/src/fasta/type_inference/type_inferrer.dart:1770:40)
#3915   InferenceVisitor.visitLogicalExpression (package:front_end/src/fasta/kernel/inference_visitor.dart:1782:54)
#3916   LogicalExpression.accept1 (package:kernel/ast.dart:4309:9)
#3917   TypeInferrerImpl._inferExpression (package:front_end/src/fasta/type_inference/type_inferrer.dart:1737:27)
#3918   TypeInferrerImpl.inferExpression (package:front_end/src/fasta/type_inference/type_inferrer.dart:1770:40)
#3919   InferenceVisitor.visitLogicalExpression (package:front_end/src/fasta/kernel/inference_visitor.dart:1782:54)
#3920   LogicalExpression.accept1 (package:kernel/ast.dart:4309:9)
#3921   TypeInferrerImpl._inferExpression (package:front_end/src/fasta/type_inference/type_inferrer.dart:1737:27)
#3922   TypeInferrerImpl.inferExpression (package:front_end/src/fasta/type_inference/type_inferrer.dart:1770:40)
#3923   InferenceVisitor.visitReturnStatement (package:front_end/src/fasta/kernel/inference_visitor.dart:5150:61)
#3924   ReturnStatement.accept (package:kernel/ast.dart:6677:43)
#3925   InferenceVisitor._visitStatements (package:front_end/src/fasta/kernel/inference_visitor.dart:3262:6)
#3926   InferenceVisitor.visitBlock (package:front_end/src/fasta/kernel/inference_visitor.dart:288:30)
#3927   Block.accept (package:kernel/ast.dart:5939:43)
#3928   TypeInferrerImpl.inferFunctionBody (package:front_end/src/fasta/type_inference/type_inferrer.dart:3274:24)
#3929   BodyBuilder.finishFunction (package:front_end/src/fasta/kernel/body_builder.dart:991:28)
#3930   DietListener.buildFunctionBody (package:front_end/src/fasta/source/diet_listener.dart:955:14)
#3931   DietListener.endTopLevelMethod (package:front_end/src/fasta/source/diet_listener.dart:358:5)
#3932   Parser.parseTopLevelMethod (package:_fe_analyzer_shared/src/parser/parser_impl.dart:2743:14)
#3933   Parser.parseTopLevelMemberImpl (package:_fe_analyzer_shared/src/parser/parser_impl.dart:2534:14)
#3934   Parser.parseTopLevelDeclarationImpl (package:_fe_analyzer_shared/src/parser/parser_impl.dart:501:14)
#3935   Parser.parseUnit (package:_fe_analyzer_shared/src/parser/parser_impl.dart:356:15)
#3936   SourceLoader.buildBody (package:front_end/src/fasta/source/source_loader.dart:458:14)
#3937   _rootRunUnary (dart:async/zone.dart:1194:47)
#3938   _CustomZone.runUnary (dart:async/zone.dart:1097:19)
#3939   _FutureListener.handleValue (dart:async/future_impl.dart:150:18)
#3940   Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:703:45)
#3941   Future._propagateToListeners (dart:async/future_impl.dart:732:32)
#3942   Future._completeWithValue (dart:async/future_impl.dart:536:5)
#3943   Future._asyncCompleteWithValue.<anonymous closure> (dart:async/future_impl.dart:574:7)
#3944   _rootRun (dart:async/zone.dart:1186:13)
#3945   _CustomZone.run (dart:async/zone.dart:1090:19)
#3946   _CustomZone.bindCallback.<anonymous closure> (dart:async/zone.dart:1018:23)
#3947   _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
#3948   _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)
#3949   _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:120:13)
#3950   _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:185:5)


#0      DietListener.buildFunctionBody (package:front_end/src/fasta/source/diet_listener.dart:998:7)
#1      DietListener.endTopLevelMethod (package:front_end/src/fasta/source/diet_listener.dart:358:5)
#2      Parser.parseTopLevelMethod (package:_fe_analyzer_shared/src/parser/parser_impl.dart:2743:14)
#3      Parser.parseTopLevelMemberImpl (package:_fe_analyzer_shared/src/parser/parser_impl.dart:2534:14)
#4      Parser.parseTopLevelDeclarationImpl (package:_fe_analyzer_shared/src/parser/parser_impl.dart:501:14)
#5      Parser.parseUnit (package:_fe_analyzer_shared/src/parser/parser_impl.dart:356:15)
#6      SourceLoader.buildBody (package:front_end/src/fasta/source/source_loader.dart:458:14)
<asynchronous suspension>
#7      Loader.buildBodies (package:front_end/src/fasta/loader.dart:240:9)
<asynchronous suspension>
#8      KernelTarget.buildComponent.<anonymous closure> (package:front_end/src/fasta/kernel/kernel_target.dart:392:7)
<asynchronous suspension>
#9      withCrashReporting (package:front_end/src/fasta/crash.dart:120:12)
<asynchronous suspension>
#10     generateKernelInternal.<anonymous closure> (package:front_end/src/kernel_generator_impl.dart:161:19)
<asynchronous suspension>
#11     withCrashReporting (package:front_end/src/fasta/crash.dart:120:12)
<asynchronous suspension>
#12     generateKernel.<anonymous closure> (package:front_end/src/kernel_generator_impl.dart:51:12)
<asynchronous suspension>
#13     generateKernel (package:front_end/src/kernel_generator_impl.dart:50:10)
<asynchronous suspension>
#14     kernelForModule (package:front_end/src/api_prototype/kernel_generator.dart:97:11)
<asynchronous suspension>
#15     SingleShotCompilerWrapper.compileInternal (file:///b/s/w/ir/cache/builder/src/third_party/dart/pkg/vm/bin/kernel_service.dart:377:11)
<asynchronous suspension>
#16     Compiler.compile.<anonymous closure> (file:///b/s/w/ir/cache/builder/src/third_party/dart/pkg/vm/bin/kernel_service.dart:197:45)
<asynchronous suspension>
#17     _processLoadRequest (file:///b/s/w/ir/cache/builder/src/third_party/dart/pkg/vm/bin/kernel_service.dart:843:37)
<asynchronous suspension>```

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions