Skip to content
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

vm assert: ../../runtime/vm/handles_impl.h: 247: error: unreachable code #44385

Closed
jcollins-g opened this issue Dec 3, 2020 · 3 comments
Closed
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

@jcollins-g
Copy link
Contributor

I have only seen this crash once on Linux with 2.12.0-96.0.dev when rerunning a test to resolve a flake on Dartdoc's travis. The main unusual thing about this test is that it is run with the coverage package.

Full travis log (including command lines for dart and pub run coverage): crashlog.txt
Travis run: https://travis-ci.org/github/dart-lang/dartdoc/jobs/747470739

Relevant looking snippet:

dart2-dartdoc_test.dart:
dart2-dartdoc_test.dart: ../../runtime/vm/handles_impl.h: 247: error: unreachable code
dart2-dartdoc_test.dart: version=2.12.0-96.0.dev (dev) (Sun Nov 29 20:11:15 2020 -0800) on "linux_x64"
dart2-dartdoc_test.dart: pid=4989, thread=5071, isolate_group=main(0x55c13a620680), isolate=main(0x55c13a608900)
dart2-dartdoc_test.dart: isolate_instructions=55c13760b960, vm_instructions=55c13760b960
dart2-dartdoc_test.dart:   pc 0x000055c1378815fc fp 0x00007f6920cfb700 dart::Profiler::DumpStackTrace(void*)+0x7c
dart2-dartdoc_test.dart:   pc 0x000055c13760bb12 fp 0x00007f6920cfb7e0 dart::Assert::Fail(char const*, ...)+0x82
dart2-dartdoc_test.dart:   pc 0x000055c13790410d fp 0x00007f6920cfb800 dart::ThreadState::CountScopedHandles() const+0x8d
dart2-dartdoc_test.dart:   pc 0x000055c137903e5a fp 0x00007f6920cfb830 dart::ThreadRegistry::CountScopedHandles(dart::Isolate*) const+0x3a
dart2-dartdoc_test.dart:   pc 0x000055c1377d3437 fp 0x00007f6920cfb980 dart::Isolate::PrintJSON(dart::JSONStream*, bool)+0x667
dart2-dartdoc_test.dart:   pc 0x000055c1378de42f fp 0x00007f6920cfb990 /home/travis/dart-sdk/bin/dart+0x1cbc42f
dart2-dartdoc_test.dart:   pc 0x000055c1378d9a72 fp 0x00007f6920cfbb00 dart::Service::InvokeMethod(dart::Isolate*, dart::Array const&, bool)+0x3a2
dart2-dartdoc_test.dart:   pc 0x000055c1378da1b1 fp 0x00007f6920cfbb20 dart::Service::HandleIsolateMessage(dart::Isolate*, dart::Array const&)+0x11
dart2-dartdoc_test.dart:   pc 0x000055c1377ce749 fp 0x00007f6920cfbd10 dart::IsolateMessageHandler::HandleMessage(std::__2::unique_ptr<dart::Message, std::__2::default_delete<dart::Message> >)+0x739
dart2-dartdoc_test.dart:   pc 0x000055c1377fa0b6 fp 0x00007f6920cfbd80 dart::MessageHandler::HandleMessages(dart::MonitorLocker*, bool, bool)+0x146
dart2-dartdoc_test.dart:   pc 0x000055c1377fa477 fp 0x00007f6920cfbdc0 dart::MessageHandler::HandleOOBMessages()+0x47
dart2-dartdoc_test.dart:   pc 0x000055c1378ffcd2 fp 0x00007f6920cfbdf0 dart::Thread::HandleInterrupts()+0xc2
dart2-dartdoc_test.dart:   pc 0x000055c1378d21b1 fp 0x00007f6920cfbfc0 dart::DRT_StackOverflow(dart::NativeArguments)+0x881
dart2-dartdoc_test.dart:   pc 0x00007f6922b82213 fp 0x00007f6920cfc000 Unknown symbol
dart2-dartdoc_test.dart:   pc 0x00007f68fcf655d1 fp 0x00007f6920cfc038 Unknown symbol
dart2-dartdoc_test.dart:   pc 0x00007f68fcf683e9 fp 0x00007f6920cfc078 Unknown symbol
[...]
dart2-dartdoc_test.dart:   pc 0x00007f6922b8265f fp 0x00007f6920cfe958 Unknown symbol
dart2-dartdoc_test.dart:   pc 0x000055c1377a2ff2 fp 0x00007f6920cfe9f0 dart::DartEntry::InvokeCode(dart::Code const&, dart::Array const&, dart::Array const&, dart::Thread*)+0x112
dart2-dartdoc_test.dart:   pc 0x000055c1377a2e25 fp 0x00007f6920cfea50 dart::DartEntry::InvokeFunction(dart::Function const&, dart::Array const&, dart::Array const&, unsigned long)+0x175
dart2-dartdoc_test.dart:   pc 0x000055c1377a5796 fp 0x00007f6920cfeaa0 dart::DartLibraryCalls::HandleMessage(dart::Object const&, dart::Instance const&)+0x1f6
dart2-dartdoc_test.dart:   pc 0x000055c1377ce4dc fp 0x00007f6920cfec90 dart::IsolateMessageHandler::HandleMessage(std::__2::unique_ptr<dart::Message, std::__2::default_delete<dart::Message> >)+0x4cc
dart2-dartdoc_test.dart:   pc 0x000055c1377fa0b6 fp 0x00007f6920cfed00 dart::MessageHandler::HandleMessages(dart::MonitorLocker*, bool, bool)+0x146
dart2-dartdoc_test.dart:   pc 0x000055c1377fa76a fp 0x00007f6920cfed60 dart::MessageHandler::TaskCallback()+0x1da
dart2-dartdoc_test.dart:   pc 0x000055c137903468 fp 0x00007f6920cfede0 dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*)+0x148
dart2-dartdoc_test.dart:   pc 0x000055c13790393c fp 0x00007f6920cfee10 dart::ThreadPool::Worker::Main(unsigned long)+0x5c
dart2-dartdoc_test.dart:   pc 0x000055c13787d30d fp 0x00007f6920cfeed0 /home/travis/dart-sdk/bin/dart+0x1c5b30d
@jcollins-g jcollins-g added the area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends. label Dec 3, 2020
@a-siva a-siva added the crash Process exits with SIGSEGV, SIGABRT, etc. An unhandled exception is not a crash. label Dec 3, 2020
@a-siva
Copy link
Contributor

a-siva commented Dec 3, 2020

//cc @bkonyi seems to have hit an assertion while handling a service message request

@bkonyi bkonyi self-assigned this Dec 3, 2020
@bkonyi
Copy link
Contributor

bkonyi commented Dec 3, 2020

@jcollins-g is this reproducing consistently or just a one-off so far?

@jcollins-g
Copy link
Contributor Author

@bkonyi This only happened once, haven't gotten it to happen again. Mostly filed in case someone notices something easy to fix, or if others encounter it they can find it in a search.

dart-bot pushed a commit that referenced this issue Dec 8, 2020
…rintJSON.

Note this would be unsafe even if under a safepoint operation because not all of the queried threads participate in safepoints.

TEST=tsan
Bug: #44304
Bug: #44385
Change-Id: I8156e8c6049165e5c53b66c3391f3e8a496ddaaf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175000
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
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