-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Closed
Labels
area-vmUse area-vm for VM related issues, including code coverage, and the AOT and JIT backends.Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends.
Description
Dart SDK version: 3.1.0-128.0.dev (dev) (Thu May 18 23:58:52 2023 -0700) on "linux_x64"
dart compile exe example/scheme.dart
../../runtime/vm/compiler/backend/il.cc: 3812: error: unreachable code
version=3.1.0-128.0.dev (dev) (Thu May 18 23:58:52 2023 -0700) on "linux_x64"
pid=1007377, thread=-1, isolate_group=isolate(0x55eda953e5c0), isolate=(nil)((nil))
os=linux, arch=x64, comp=no, sim=no
isolate_instructions=0, vm_instructions=0
fp=7ffd7a0b7570, sp=7ffd7a0b7438, pc=55eda7b5be2c
pc 0x000055eda7b5be2c fp 0x00007ffd7a0b7570 /home/tim/fvm/versions/master/bin/cache/dart-sdk/bin/utils/gen_snapshot+0x37de2c
pc 0x000055eda7a53f14 fp 0x00007ffd7a0b7650 /home/tim/fvm/versions/master/bin/cache/dart-sdk/bin/utils/gen_snapshot+0x275f14
pc 0x000055eda7c89dae fp 0x00007ffd7a0b7690 /home/tim/fvm/versions/master/bin/cache/dart-sdk/bin/utils/gen_snapshot+0x4abdae
pc 0x000055eda7d69ca6 fp 0x00007ffd7a0b76c0 /home/tim/fvm/versions/master/bin/cache/dart-sdk/bin/utils/gen_snapshot+0x58bca6
pc 0x000055eda7d66028 fp 0x00007ffd7a0b7760 /home/tim/fvm/versions/master/bin/cache/dart-sdk/bin/utils/gen_snapshot+0x588028
pc 0x000055eda7d62fb2 fp 0x00007ffd7a0b7890 /home/tim/fvm/versions/master/bin/cache/dart-sdk/bin/utils/gen_snapshot+0x584fb2
pc 0x000055eda7d6a360 fp 0x00007ffd7a0b7980 /home/tim/fvm/versions/master/bin/cache/dart-sdk/bin/utils/gen_snapshot+0x58c360
pc 0x000055eda7c78187 fp 0x00007ffd7a0b7a60 /home/tim/fvm/versions/master/bin/cache/dart-sdk/bin/utils/gen_snapshot+0x49a187
pc 0x000055eda7c780be fp 0x00007ffd7a0b7a80 /home/tim/fvm/versions/master/bin/cache/dart-sdk/bin/utils/gen_snapshot+0x49a0be
pc 0x000055eda7c8a8fd fp 0x00007ffd7a0b7ac0 /home/tim/fvm/versions/master/bin/cache/dart-sdk/bin/utils/gen_snapshot+0x4ac8fd
pc 0x000055eda7c76be0 fp 0x00007ffd7a0b7c30 /home/tim/fvm/versions/master/bin/cache/dart-sdk/bin/utils/gen_snapshot+0x498be0
pc 0x000055eda7c7698f fp 0x00007ffd7a0b7c60 /home/tim/fvm/versions/master/bin/cache/dart-sdk/bin/utils/gen_snapshot+0x49898f
pc 0x000055eda7d142d0 fp 0x00007ffd7a0b7c70 /home/tim/fvm/versions/master/bin/cache/dart-sdk/bin/utils/gen_snapshot+0x5362d0
pc 0x000055eda7d13049 fp 0x00007ffd7a0b7cf0 /home/tim/fvm/versions/master/bin/cache/dart-sdk/bin/utils/gen_snapshot+0x535049
pc 0x000055eda7c3d79c fp 0x00007ffd7a0b8350 /home/tim/fvm/versions/master/bin/cache/dart-sdk/bin/utils/gen_snapshot+0x45f79c
pc 0x000055eda7c3dde5 fp 0x00007ffd7a0b8a10 /home/tim/fvm/versions/master/bin/cache/dart-sdk/bin/utils/gen_snapshot+0x45fde5
pc 0x000055eda7c3a531 fp 0x00007ffd7a0b8ad0 /home/tim/fvm/versions/master/bin/cache/dart-sdk/bin/utils/gen_snapshot+0x45c531
pc 0x000055eda7c39534 fp 0x00007ffd7a0b8b60 /home/tim/fvm/versions/master/bin/cache/dart-sdk/bin/utils/gen_snapshot+0x45b534
pc 0x000055eda7c35074 fp 0x00007ffd7a0b8bb0 /home/tim/fvm/versions/master/bin/cache/dart-sdk/bin/utils/gen_snapshot+0x457074
pc 0x000055eda7c32361 fp 0x00007ffd7a0b92b0 /home/tim/fvm/versions/master/bin/cache/dart-sdk/bin/utils/gen_snapshot+0x454361
pc 0x000055eda7c30db8 fp 0x00007ffd7a0b9740 /home/tim/fvm/versions/master/bin/cache/dart-sdk/bin/utils/gen_snapshot+0x452db8
pc 0x000055eda7dabfc1 fp 0x00007ffd7a0b9860 Dart_Precompile+0x231
pc 0x000055eda7a4df2c fp 0x00007ffd7a0b99f0 /home/tim/fvm/versions/master/bin/cache/dart-sdk/bin/utils/gen_snapshot+0x26ff2c
-- End of DumpStackTrace
=== Crash occurred when compiling package:syntax/src/scheme/scheme_syntax.dart__$Lambda@25431186_get_formals in AOT mode in GenerateCode pass
=== When compiling block B1[function entry]:2 {
v2 <- Parameter(0) T{_$Lambda}
}
=== When compiling instruction B1[function entry]:2 {
v2 <- Parameter(0) T{_$Lambda}
}
*** BEGIN CFG
GenerateCode
==== package:syntax/src/scheme/scheme_syntax.dart__$Lambda@25431186_get_formals (ImplicitGetter)
0: B0[graph]:0 {
}
2: B1[function entry]:2 {
v2 <- Parameter(0) T{_$Lambda}
}
3: ParallelMove rcx <- S+1
4: v3 <- LoadField(v2 . formals {final}) T{_Record}
6: v4 <- LoadField(v3 . :record_field) T{List<SExpr>}
8: v5 <- LoadField(v3 . :record_field) T{SExpr??}
10: v6 <- MakePair(v4, v5) T{*?}
12: Return:4(v6 T{_Record})
*** END CFG
Error: AOT compilation failed
Generating AOT snapshot failed!
The repository is here: https://github.com/TimWhiting/syntax, It involves an ImplicitGetter with a record return type.
I tried simplifying the relevant code as follows, but this doesn't trigger the crash.
sealed class Test {
Test._();
factory Test.a(Formals formals) = TestA;
}
sealed class ITest {}
sealed class ITest2 extends ITest {
Formals get params;
}
typedef Formals = (List<String>, String?);
abstract class TestA extends Test implements ITest2 {
TestA._() : super._();
@override
(List<String>, String?) get params;
factory TestA(final (List<String>, String?) p) = TestImpl;
}
class TestImpl extends TestA {
@override
final (List<String>, String?) params;
TestImpl(this.params) : super._();
}
void main() {
final test = TestImpl((['a', 'b'], null));
print(test.params);
}
Metadata
Metadata
Assignees
Labels
area-vmUse area-vm for VM related issues, including code coverage, and the AOT and JIT backends.Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends.