-
Notifications
You must be signed in to change notification settings - Fork 108
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
Recent container change broke ThreadSanitizer builds #1241
Comments
Yeah, Cirrus CI is using Container-Optimized OS version 105 for the x86 and Arm containers. You can put Let's see if the next version of Container-Optimized OS will fix the issues. |
Same result with the
Is that correct? Here's the task configuration:
I tried with the experimental tag in the container block too but that failed the same way. https://cirrus-ci.com/task/5715854843707392 has the last failure. |
Could you please try |
That gets me through the
|
I re-ran the build this morning to double-check something and it failed during |
If it's still fails with If you have an x86 host with docker you might try to reproduce the issue using |
I've tried it with both gcc 11 (ubuntu 22) and 12 (ubuntu 23), so I don't think that's it.
I'll see if I can scrounge up an old system to test it with. |
We are also running into this. It should be trivial to reproduce with:
See https://cirrus-ci.com/task/6173534590861312?logs=test#L2 Using gcc-13 from Ubuntu 23.10 (beta). I understand that this is likely possible to fix by using a full GCE VM, but it would be nice if tsan in containers was supported again on Cirrus CI, like before. |
I checked for google/sanitizers#877 (comment) but that didn't seem to be the cause here either. |
I just wanted to check in and note that this is still broken. |
As a temporary workaround, I think clang-18 from Ubuntu Noble 24.04 may work, instead of gcc. |
Expected Behavior
C++ builds using ThreadSanitizer should complete correctly.
Real Behavior
ThreadSanitizer reports the following error when trying to run any binary:
Related Info
This is a (tick one of the following):
The log for the task above shows the
configure
script failing because it thinks that the OpenSSL headers and library differ. Manual investigation using terminal mode shows CMake failing for the reason above. This failure just started recently (in the last few weeks). It doesn't happen with docker containers started with the same Dockerfile on other systems. It's only happening to us on the Cirrus infra. It appears familiar to golang/go#59418, which was caused by a kernel issue (fixed in https://go-review.googlesource.com/c/build/+/482195).The text was updated successfully, but these errors were encountered: