Skip to content

Crash when sending generic object between isolates #37294

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
sjindel-google opened this issue Jun 18, 2019 · 5 comments
Closed

Crash when sending generic object between isolates #37294

sjindel-google opened this issue Jun 18, 2019 · 5 comments
Assignees
Labels
area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends. crash Process exits with SIGSEGV, SIGABRT, etc. An unhandled exception is not a crash.

Comments

@sjindel-google
Copy link
Contributor

sjindel-google commented Jun 18, 2019

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*)    
@sjindel-google sjindel-google added area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends. crash Process exits with SIGSEGV, SIGABRT, etc. An unhandled exception is not a crash. labels Jun 18, 2019
@sjindel-google
Copy link
Contributor Author

sjindel-google commented Jun 18, 2019

/cc @mraleph @dcharkes @aam

@sjindel-google
Copy link
Contributor Author

This has nothing to do with the FFI -- the problem is with sending signature functions.

@dcharkes
Copy link
Contributor

Yeah, I noticed (and then removed the FFI pipeline, but forgot to remove ffi label).

@mkustermann
Copy link
Member

@aam Could you take a look at this?

@mkustermann mkustermann assigned aam and unassigned mkustermann Jan 21, 2020
@aam
Copy link
Contributor

aam commented Jan 29, 2020

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends. crash Process exits with SIGSEGV, SIGABRT, etc. An unhandled exception is not a crash.
Projects
None yet
Development

No branches or pull requests

4 participants