The false positive fixed by commitf831d6fc80("tsan: fix false positive during fd close") still happens episodically on the added more stressful test which does just open/close. I don't have a coherent explanation as to what exactly happens but the fix fixes the false positive on this test as well. The issue may be related to lost writes during asynchronous MADV_DONTNEED. I've debugged similar unexplainable false positive related to freed and reused memory and at the time the only possible explanation I found is that an asynchronous MADV_DONTNEED may lead to lost writes. That's why commit302ec7b9bc("tsan: add memory_limit_mb flag") added StopTheWorld around the memory flush, but unfortunately the commit does not capture these findings. Reviewed By: melver Differential Revision: https://reviews.llvm.org/D121363
9.9 KiB
9.9 KiB