[SERVER-83071] Provide antithesis with ASAN+UBSAN binaries Created: 09/Nov/23  Updated: 06/Dec/23  Resolved: 06/Dec/23

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 7.3.0-rc0

Type: Improvement Priority: Major - P3
Reporter: Judah Schvimer Assignee: Ryan Berryhill
Resolution: Fixed Votes: 0
Labels: correctness-releaseability-working-group
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by SERVER-72281 Provide Antithesis with tsan & asan e... Closed
Issue split
split from SERVER-72281 Provide Antithesis with tsan & asan e... Closed
Related
related to SERVER-83727 Investigate combination of antithesis... Needs Scheduling
Backwards Compatibility: Fully Compatible
Sprint: Service Arch 2023-11-13, Service Arch 2023-11-27, Service Arch 2023-12-11
Participants:

 Description   

Split from SERVER-72281



 Comments   
Comment by Githook User [ 06/Dec/23 ]

Author:

{'name': 'Ryan Berryhill', 'email': 'ryan.berryhill@mongodb.com', 'username': 'ryanberryhill'}

Message: SERVER-83071 Support sanitizers for antithesis testing

GitOrigin-RevId: f0f83879f85542ed5042ba9ec189528bd4c3cab3
Branch: master
https://github.com/mongodb/mongo/commit/0bcf218635592a163878e60700970cfe76cc38cc

Comment by javi Arguello [ 30/Nov/23 ]

Ah gotcha, thanks for clarifying! 

Comment by Ryan Berryhill [ 30/Nov/23 ]

That's correct javier.arguello@antithesis.com, one clarification though: ASAN and UBSAN won't be separate, so there will only be one new set of binaries for ASAN+UBSAN together. So in the short term, I expect there will be two sets in total: (1) no sanitizers and (2) aubsan.

Comment by javi Arguello [ 30/Nov/23 ]

Thanks to ryan.berryhill@mongodb.com work Antithesis now has ASAN and UBSAN enabled binaries for running! On top of that, it looks like the two new binaries are in code review such that Antithesis can receive nightly versions of both! 

 

TSAN enabled binaries have proven slightly more difficult to upload to Antithesis, due to the Antithesis instrumentation library clashing with Clang's default symbols library. Once the LLVM compiler is upgraded to a compatible version, TSAN should be revisited, but for now having ASAN and UBSAN in place is huge

Comment by javi Arguello [ 13/Nov/23 ]

Quick update: Ryan was able to push a new version of the binaries that included the Antithesis stub to enable code coverage during Antithesis tests. Now Antithesis is conducting tests using these new binaries to see what we can find 

Comment by javi Arguello [ 09/Nov/23 ]

Awesome @Ryan Berryhill! I can confirm that I received all three images. I'm running the core suite to confirm everything is good. I'll update here as well as the slack where we're coordinating.

Comment by Ryan Berryhill [ 09/Nov/23 ]

Here is the branch where I've been working on this (note that it's not currently in a ready-to-merge state): https://github.com/10gen/mongo/compare/master...ryan.berryhill/SERVER-83071

Here is a patch build where I used the new build variant on that branch to upload an ASAN-enabled set of container images to antithesis (only for the antithesis_core evergreen task): https://spruce.mongodb.com/version/654d0f8c3066151e8648428b/tasks?sorts=STATUS%3AASC%3BBASE_STATUS%3ADESC

Next steps aren't clear because I don't yet know how to see the results from antithesis.

Generated at Thu Feb 08 06:51:09 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.