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

Crash in vm/cc/Dart2JSCompileAll on vm-kernel-asan-linux-release-x64 #36630

Open
sstrickl opened this Issue Apr 15, 2019 · 1 comment

Comments

Projects
None yet
3 participants
@sstrickl
Copy link
Contributor

sstrickl commented Apr 15, 2019

First thought it might be related to 125ee3b, since the first failing build included that commit, but it actually started once constant-update-2018 was enabled by default (commit e9ca6a5).

Here's an example log for the failure:

  /=============================================================\
  | vm/cc/Dart2JSCompileAll failed again (Crash, expected Pass) |
  \=============================================================/
  --- Command "run_vm_unittest" (took 07.000038s):
  DART_CONFIGURATION=ReleaseX64 out/ReleaseX64/run_vm_tests --suppress-core-dump --dfe=/b/s/w/ir/cache/builder/sdk/out/ReleaseX64/gen/kernel-service.dart.snapshot --ignore-unrecognized-flags Dart2JSCompileAll
  exit code:
  -6
  stderr:
  ===== CRASH =====
  si_signo=Segmentation fault(11), si_code=1, si_addr=0x23
  version=2.2.1-edge.ec0447db5d27049f5bb87d639e043993a76593cd (Mon Apr 15 02:17:44 2019 +0000) on "linux_x64"
  thread=5475, isolate=kernel-service(0x61d00000fa80)
    pc 0x0000559949d441f5 fp 0x00007f9e3e433890 out/ReleaseX64/run_vm_tests+0x46a41f5
    pc 0x0000559949d434c5 fp 0x00007f9e3e433b70 out/ReleaseX64/run_vm_tests+0x46a34c5
    pc 0x0000559949d3f026 fp 0x00007f9e3e433ee0 out/ReleaseX64/run_vm_tests+0x469f026
    pc 0x0000559949d3eb31 fp 0x00007f9e3e433f10 out/ReleaseX64/run_vm_tests+0x469eb31
    pc 0x000055994a16f7f1 fp 0x00007f9e3e433ff0 out/ReleaseX64/run_vm_tests+0x4acf7f1
    pc 0x000055994a16f6f4 fp 0x00007f9e3e434a80 out/ReleaseX64/run_vm_tests+0x4acf6f4
    pc 0x00007f9e3eec1108 fp 0x00007f9e3e434ac8 Unknown symbol
    pc 0x00007f9e30dd4f5b fp 0x00007f9e3e434b00 Unknown symbol
    pc 0x00007f9e30dd4d89 fp 0x00007f9e3e434b48 Unknown symbol
    pc 0x00007f9e3cd1aa17 fp 0x00007f9e3e434b88 Unknown symbol
...
    pc 0x00007f9e3d1338bc fp 0x00007f9e3e436b10 Unknown symbol
    pc 0x00007f9e3d1ae362 fp 0x00007f9e3e436b38 Unknown symbol
    pc 0x00007f9e3eec15cc fp 0x00007f9e3e436ba8 Unknown symbol
    pc 0x0000559949ccf64c fp 0x00007f9e3e436e10 dart::DartEntry::InvokeFunction(dart::Function const&, dart::Array const&, dart::Array const&, unsigned long)
    pc 0x0000559949cd8ddf fp 0x00007f9e3e436e90 dart::DartLibraryCalls::HandleMessage(dart::Object const&, dart::Instance const&)
    pc 0x0000559949d9184c fp 0x00007f9e3e437b00 dart::IsolateMessageHandler::HandleMessage(dart::Message*)
    pc 0x0000559949e302dd fp 0x00007f9e3e437b90 dart::MessageHandler::HandleMessages(dart::MonitorLocker*, bool, bool)
    pc 0x0000559949e31c16 fp 0x00007f9e3e437ce0 dart::MessageHandler::TaskCallback()
    pc 0x000055994a2427d0 fp 0x00007f9e3e437d50 dart::ThreadPool::Worker::Loop()
    pc 0x000055994a242492 fp 0x00007f9e3e437d90 dart::ThreadPool::Worker::Main(unsigned long)
    pc 0x000055994a0311ce fp 0x00007f9e3e437ed0 out/ReleaseX64/run_vm_tests+0x49911ce
  -- End of DumpStackTrace
  --- Re-run this test:
  python tools/test.py -n dartk-asan-linux-release-x64 vm/cc/Dart2JSCompileAll

Could reproduce locally, and even got the same issue without ASAN involved (e.g., running like on vm-kernel-linux-release-x64). Reran locally on a debug build to see if any asserts were triggering, and indeed one was:

$ tools/test.dart -b vm-kernel-linux-debug-x64 vm/cc/Dart2JSCompileAll
Testing the named configuration dartk-linux-debug-x64 compared with builder vm-kernel-linux-debug-x64
Base commit is ec0447db5d27049f5bb87d639e043993a76593cd
Finding build on builder vm-kernel-linux-debug-x64 to compare with...
Downloading results from builder vm-kernel-linux-debug-x64 build 4698...
Downloaded baseline results from builder vm-kernel-linux-debug-x64
================================================================================
Running tests
================================================================================
tools/testing/dart/main.dart:1: Warning: Interpreting this as package URI, 'package:test_dart/main.dart'.
Test configuration:
    dartk-linux-debug-x64(architecture: x64, compiler: dartk, mode: debug, runtime: vm, system: linux, vm-options: [], dart2js-options: [], timeout: null, preview-dart-2)
Suites tested: vm
[00:01 | 100% | +    1 | -    0]
... running deflaking iterations...
================================================================================
Test Results
================================================================================
The following tests began failing:

vm/cc/Dart2JSCompileAll failed again (Fail -> Crash, expected Pass)


/=====================================================================\
| vm/cc/Dart2JSCompileAll failed again (Fail -> Crash, expected Pass) |
\=====================================================================/

--- Command "run_vm_unittest" (took 364ms):
DART_CONFIGURATION=DebugX64 out/DebugX64/run_vm_tests --suppress-core-dump --dfe=/usr/local/google/home/sstrickl/dart/sdk/out/DebugX64/gen/kernel-service.dart.snapshot --ignore-unrecognized-flags Dart2JSCompileAll

exit code:
-6

stderr:
../../runtime/vm/handles.cc: 76: error: expected: thread()->MayAllocateHandles()
version=2.2.1-edge.ec0447db5d27049f5bb87d639e043993a76593cd (Mon Apr 15 02:17:44 2019 +0000) on "linux_x64"
thread=121869, isolate=isolate(0x563cc3dbe900)
  pc 0x0000563cc1523e36 fp 0x00007ffd3e08d5b0 dart::Profiler::DumpStackTrace(bool)
  pc 0x0000563cc1523d74 fp 0x00007ffd3e08d6f0 dart::Profiler::DumpStackTrace(void*)
  pc 0x0000563cc187f635 fp 0x00007ffd3e08d710 Dart_DumpNativeStackTrace
  pc 0x0000563cc188ff03 fp 0x00007ffd3e08d8c0 dart::Assert::Fail(char const*, ...)
  pc 0x0000563cc13d7a77 fp 0x00007ffd3e08d910 dart::HandleScope::Initialize()
  pc 0x0000563cc13d7be1 fp 0x00007ffd3e08d940 dart::HandleScope::HandleScope(dart::ThreadState*)
  pc 0x0000563cc0ee0d09 fp 0x00007ffd3e08da70 out/DebugX64/run_vm_tests+0x34c6d09
  pc 0x0000563cc0ee0c78 fp 0x00007ffd3e08dac0 dart::Dart_BenchmarkDart2JSCompileAll(dart::Benchmark*)
  pc 0x0000563cc0ecee6a fp 0x00007ffd3e08dae0 out/DebugX64/run_vm_tests+0x34b4e6a
  pc 0x0000563cc0eced8d fp 0x00007ffd3e08db20 dart::Benchmark::RunBenchmark()
  pc 0x0000563cc0edf504 fp 0x00007ffd3e08db40 dart::Benchmark::RunAll(char const*)
  pc 0x0000563cc0ecf34f fp 0x00007ffd3e08dc10 out/DebugX64/run_vm_tests+0x34b534f
  pc 0x0000563cc0ecef52 fp 0x00007ffd3e08dc30 main
-- End of DumpStackTrace

--- Re-run this test:
python tools/test.py -n dartk-linux-debug-x64 vm/cc/Dart2JSCompileAll

Unsure why we're not actually seeing the same failure on the non-ASAN bots, since I don't see any approvals for this test (and if there were, it would have considered it a "pass" since I was using test.dart above).

Approving for now on the ASAN bot.

@a-siva a-siva self-assigned this Apr 15, 2019

@sigmundch

This comment has been minimized.

Copy link
Member

sigmundch commented Apr 16, 2019

FYI - this test is now marked as failing at master after I rolled back the constant-update-2018. So I can verify that it is related to flipping the flag.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.