Files
sdk/runtime/tests/concurrency
Martin Kustermann 89f744c4e4 [gardening] Remove corelib/regexp/capture-3_test from iso-stress runs
The test will cause a crash inside TSAN - most likely due to a overflow
in TSAN's shadow stack (which has a fixed size). These out-of-bound
writes will corrupt memory causing the failures.

The reduction of thist test:

  main() {
    final regexp = RegExp(('a*' * 200) + '\u0100*\\w');
    regexp.firstMatch('a');
  }

will cause a crash when running under TSAN:

  % out/ReleaseTSANX64/dart test.dart
  zsh: segmentation fault  out/ReleaseTSANX64/dart

inside TSAN. It happens in the RegExp frontend which - due to recursive
nature - has very large stack.

TEST=Fixes one false-positive that makes "iso-stress" builder red.

Change-Id: Icabe5b35f8724ef042325e1dfe821d9aba5ea28e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/221460
Reviewed-by: Slava Egorov <vegorov@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2021-11-26 16:22:04 +00:00
..

This directory contains code to produce a large isolate stress test. It has the following helper files:

generate_stress_test_list.dart: Will recursively walk test suite directories, tries to run tests and see whether they could be included as part of the stress test.

Only tests that are passing, run reasonably quick and don't use features that prevent running them inside isolates will be considered.

=> The filtered tests that are considered will be written into stress_test_list.json.

The resulting stress_test_list.json file was hand-edited afterwards to remove certain tests that have passed the simple automated filter but cannot be used as part of the stress test.

generate_stress_test.dart: Can be used to consume stress_test_list.json and build the stress test files.

stress_test_list.json: Contains two lists of tests (one for NNBD and one for non-NNBD) that can be used to generate a stress test.

To ensure the list doesn't get out-of-date we have two tests on regular bots that will try to compile the stress test to kernel, thereby ensuring that the files at least exist and compile, see runtime/tests/vm/{dart,dart_2}/isolates/concurrency_stress_sanity_test.dart.