[SERVER-48337] Fix failing death tests with TSAN Created: 20/May/20  Updated: 29/Oct/23  Resolved: 28/May/20

Status: Closed
Project: Core Server
Component/s: Build
Affects Version/s: 4.5 Desired
Fix Version/s: 4.7.0

Type: Improvement Priority: Major - P3
Reporter: Ryan Egesdahl (Inactive) Assignee: Ryan Egesdahl (Inactive)
Resolution: Fixed Votes: 0
Labels: thread-sanitizer
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
Backwards Compatibility: Fully Compatible
Sprint: Dev Platform 2020-06-01
Participants:
Linked BF Score: 0

 Description   

In SERVER-48280, we created a new build that runs TSAN on Ubuntu 20.04, and (many? all?) death tests are failing in an unexpected way, causing test failures. These tests are supposed to cause aborts, so we need to find out why the tests are failing and fix them.



 Comments   
Comment by Githook User [ 27/May/20 ]

Author:

{'name': 'Ryan Egesdahl', 'email': 'ryan.egesdahl@mongodb.com', 'username': 'deriamis'}

Message: SERVER-48337 Fix death tests with TSAN

Fix death tests running under ThreadSanitizer. Death tests were causing
TSAN to emit a signal report, which is a false positive. The signal
report was then causing the expected failure message to not be parsed as
JSON. TSAN ignal reports will be suppressed for all death tests.
Branch: master
https://github.com/mongodb/mongo/commit/e476c8ff9c2133a496f04d4708656cc3f07ff552

Comment by Ryan Egesdahl (Inactive) [ 27/May/20 ]

Problem found. It looks like the death tests have to examine the output of the server when it dies, and it's expecting JSON. Unfortunately, TSAN is spitting out its output first, and that's messing with the output parsing. I think the best way to handle this is to add signal reports from death_test.cpp to the suppression list so we still get any other failure types. I'm testing this now.

Generated at Thu Feb 08 05:16:50 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.