Closed
Description
import 'dart:isolate';
class A<T> {}
main(args) async {
final x = A<void Function()>();
await Isolate.spawn(isolate, x);
}
void isolate(A foo) async {
print('Tick: ${foo}');
}
Crashes:
../../runtime/vm/raw_object_snapshot.cc: 523: error: unreachable code
version=2.3.3-edge.14fdeb87cb3f13c0eb05739c0844a0d3c7b856f8 (Tue Jun 18 08:47:18 2019 +0000) on "linux_x64"
thread=131801, isolate=main(0x555b6c100c00)
pc 0x0000555b69d72e0c fp 0x00007fcd7debdae0 dart::Profiler::DumpStackTrace(void*)
pc 0x0000555b6999d332 fp 0x00007fcd7debdbc0 dart::Assert::Fail(char const*, ...)
pc 0x0000555b69d930d3 fp 0x00007fcd7debdbe0 out/DebugX64/dart+0x1a2a0d3
pc 0x0000555b69e0c6a5 fp 0x00007fcd7debdc50 dart::SnapshotWriter::WriteMarkedObjectImpl(dart::RawObject*, long, long, bool)
pc 0x0000555b69e0e371 fp 0x00007fcd7debdc90 dart::SnapshotWriterVisitor::VisitPointers(dart::RawObject**, dart::RawObject**)
pc 0x0000555b69d9107f fp 0x00007fcd7debdcf0 dart::RawType::WriteTo(dart::SnapshotWriter*, long, dart::Snapshot::Kind, bool)
pc 0x0000555b69e0cb91 fp 0x00007fcd7debdd60 dart::SnapshotWriter::WriteMarkedObjectImpl(dart::RawObject*, long, long, bool)
pc 0x0000555b69d92074 fp 0x00007fcd7debddb0 dart::RawTypeArguments::WriteTo(dart::SnapshotWriter*, long, dart::Snapshot::Kind, bool)
pc 0x0000555b69e0cb75 fp 0x00007fcd7debde20 dart::SnapshotWriter::WriteMarkedObjectImpl(dart::RawObject*, long, long, bool)
pc 0x0000555b69e0d026 fp 0x00007fcd7debde80 dart::SnapshotWriter::WriteInstance(dart::RawObject*, dart::RawClass*, long, long, bool)
pc 0x0000555b69e0c529 fp 0x00007fcd7debdef0 dart::SnapshotWriter::WriteMarkedObjectImpl(dart::RawObject*, long, long, bool)
pc 0x0000555b69e0e912 fp 0x00007fcd7debe070 dart::MessageWriter::WriteMessage(dart::Object const&, long, dart::Message::Priority)
pc 0x0000555b69b3afc6 fp 0x00007fcd7debe260 dart::BootstrapNatives::DN_Isolate_spawnFunction(_Dart_NativeArguments*)