[SERVER-53049] stdx::condition invariants and segfaults in unittest framework Created: 24/Nov/20 Updated: 27/Oct/23 Resolved: 24/Nov/20 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Internal Code |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Billy Donahue | Assignee: | Backlog - Service Architecture |
| Resolution: | Works as Designed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Attachments: |
|
||||||||
| Issue Links: |
|
||||||||
| Assigned Teams: |
Service Arch
|
||||||||
| Participants: | |||||||||
| Description |
|
While working on The segfaults and invariants were observed in the SharedFuture concurrency tests, which are the first clients of the ThreadAssertionMonitor. There's a note in thread_assertion_monitor.h, next to the _cv variable about it. It's also possible that ThreadAssertionMonitor's use of _cv is incorrect somehow and we haven't thought about it hard enough to see how. |
| Comments |
| Comment by Billy Donahue [ 24/Nov/20 ] |
|
This was a bug in the test. Fixed before submission. I think it's probably the case that stdx::condition_variable simply interacts with other threads in such a way as to exacerbate the bug more than std::condition_variable did. |
| Comment by Billy Donahue [ 24/Nov/20 ] |
|
test.out |