QMCPACK / QMCPACK/qmcpack

Enabling ThreadSanitizer checks

Open
#3,289 12 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
403
Forks
154
Avg merge
1d 12h
Merged PRs (30d)
82

Description

**Describe the bug**
ThreadSantitizer checks are currently not in-place on CI. Reporting results on our dedicated hardware for potential addition into CI, nightly checks.

Deterministic tests: ` $ ctest -L deterministic`

Real: 470 s
```
The following tests FAILED:
29 - deterministic-unit_test_new_drivers (Failed)
1297 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-16-kinetic (Failed)
1298 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-16-totenergy (Failed)
1299 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-16-eeenergy (Failed)
1301 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-16-potential (Failed)
1303 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-16-localecp (Failed)
1304 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-16-nonlocalecp (Failed)
1305 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-16-1-kinetic (Failed)
1306 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-16-1-totenergy (Failed)
1307 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-16-1-eeenergy (Failed)
1309 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-16-1-potential (Failed)
1311 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-16-1-localecp (Failed)
1312 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-16-1-nonlocalecp (Failed)
1313 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-16-2-kinetic (Failed)
1314 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-16-2-totenergy (Failed)
1315 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-16-2-eeenergy (Failed)
1316 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-16-2-potential (Failed)
1318 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-16-2-localecp (Failed)
1319 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-16-2-nonlocalecp (Failed)
Errors while running CTest
```

Complex: 480 s
```
The following tests FAILED:
29 - deterministic-unit_test_new_drivers (Failed)
952 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-4-kinetic (Failed)
953 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-4-totenergy (Failed)
954 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-4-eeenergy (Failed)
956 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-4-potential (Failed)
958 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-4-localecp (Failed)
959 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-4-nonlocalecp (Failed)
960 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-4-1-kinetic (Failed)
961 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-4-1-totenergy (Failed)
962 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-4-1-eeenergy (Failed)
964 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-4-1-potential (Failed)
966 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-4-1-localecp (Failed)
967 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-4-1-nonlocalecp (Failed)
968 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-4-2-kinetic (Failed)
969 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-4-2-totenergy (Failed)
970 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-4-2-eeenergy (Failed)
971 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-4-2-potential (Failed)
973 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-4-2-localecp (Failed)
974 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-4-2-nonlocalecp (Failed)
976 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-16-kinetic (Failed)
977 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-16-totenergy (Failed)
978 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-16-eeenergy (Failed)
980 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-16-potential (Failed)
982 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-16-localecp (Failed)
983 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-16-nonlocalecp (Failed)
984 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-16-1-kinetic (Failed)
985 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-16-1-totenergy (Failed)
986 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-16-1-eeenergy (Failed)
988 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-16-1-potential (Failed)
990 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-16-1-localecp (Failed)
991 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-16-1-nonlocalecp (Failed)
992 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-16-2-kinetic (Failed)
993 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-16-2-totenergy (Failed)
994 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-16-2-eeenergy (Failed)
995 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-16-2-potential (Failed)
997 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-16-2-localecp (Failed)
998 - deterministic-diamondC_2x1x1-gaussian_pp_MSD-vmcbatch-dmcbatch-mwalkers_sdj-1-16-2-nonlocalecp (Failed)
```

**To Reproduce**
Configure QMCPACK with `-DENABLE_SANITIZER=tsan`

**Expected behavior**
Add tsan check for unit tests on CI, identify and fix current race conditions.
Looking for input if there is value in this.

**System:**
- system name: sulfur, clang 11

**Additional context**
tsan has a 3X overhead, as found in the past using GitHub-hosted runners is not feasible

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.