dart-lang / sdk

The Dart SDK, including the VM, JS and Wasm compilers, analysis, core libraries, and more.
https://dart.dev
BSD 3-Clause "New" or "Revised" License
10.28k stars 1.58k forks source link

vm/cc/DartAPI_InvokeVMServiceMethod_Loop crash in pthread_mutex_lock #57096

Open sstrickl opened 6 days ago

sstrickl commented 6 days ago

There are new test failures on DAS plugins: Start enforcing an analyzer constraint...[cfe] Move suites from test/fasta/ to test/.

The tests

vm/cc/DartAPI_InvokeVMServiceMethod_Loop Crash (expected Pass)

are failing on configurations

vm-linux-release-ia32

This has been flaky since September, and is flaky or (now) failing in around 40% of the configurations. Looking at the error log:

--- Command "run_vm_unittest" (took 322ms):
DART_CONFIGURATION=ReleaseIA32 out/ReleaseIA32/run_vm_tests --dfe=/b/s/w/ir/out/ReleaseIA32/gen/kernel_service.dill --sound-null-safety --ignore-unrecognized-flags DartAPI_InvokeVMServiceMethod_Loop

exit code:
-6

stdout:
Running test: DartAPI_InvokeVMServiceMethod_Loop
The Dart VM service is listening on http://127.0.0.1:44655/
Done: DartAPI_InvokeVMServiceMethod_Loop

stderr:
===== CRASH =====
si_signo=Segmentation fault(11), si_code=SEGV_MAPERR(1), si_addr=0xc
version=3.7.0-edge (main) (Unknown timestamp) on "linux_ia32"
pid=1212991, thread=1212994, isolate_group=(nil)((nil)), isolate=(nil)((nil))
os=linux, arch=ia32, comp=no, sim=no
isolate_instructions=0, vm_instructions=585d30e0
fp=f70fed88, sp=f70fed50, pc=f7ee712a
  pc 0xf7ee712a fp 0xf70fed88 __pthread_mutex_lock+0x1a
  pc 0x58a8a5d9 fp 0xf70fedc8 out/ReleaseIA32/run_vm_tests+0x24775d9
  pc 0x58de2e4d fp 0xf70fee28 Dart_InvokeVMServiceMethod+0x2ed
  pc 0x5866eae9 fp 0xf70ff288 out/ReleaseIA32/run_vm_tests+0x205bae9
  pc 0x58b17327 fp 0xf70ff358 out/ReleaseIA32/run_vm_tests+0x2504327
  pc 0xf7ee4635 fp 0xf70ff428 /lib/i386-linux-gnu/libpthread.so.0+0x7635
-- End of DumpStackTrace

--- Re-run this test:
python3 tools/test.py -n vm-linux-release-ia32 vm/cc/DartAPI_InvokeVMServiceMethod_Loop