[SERVER-77869] op_msg_fuzzer should disable global logging Created: 07/Jun/23 Updated: 29/Oct/23 Resolved: 12/Jun/23 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 7.1.0-rc0, 7.0.0-rc6 |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Spencer Jackson | Assignee: | Spencer Jackson |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||
| Backport Requested: |
v7.0
|
||||||||||||
| Sprint: | Security 2023-06-12 | ||||||||||||
| Participants: | |||||||||||||
| Description |
|
op_msg_fuzzer invokes a large body of code, which may use logging. Because log message include thread names stored in thread local variables, logging uses thread local state. libfuzzer binaries do not have hooks into global shutdown. The only way to cleanly tear down state is to declare a global static destructor. These destructors run after thread local variables are destroyed. Accessing thread local variables in a destructor is UB. op_msg_fuzzer uses systems which log in shutdown. Thus, we should turn off logging. |
| Comments |
| Comment by Githook User [ 28/Jun/23 ] |
|
Author: {'name': 'Spencer Jackson', 'email': 'spencer.jackson@mongodb.com', 'username': 'spencerjackson'}Message: libfuzzer takes control over program lifecycle. It allows us to define We need to disable logging, in order to avoid this. (cherry picked from commit a80eeedcaf69d32ecb29e3231b7af1f7601feb8f) |
| Comment by Githook User [ 11/Jun/23 ] |
|
Author: {'name': 'Spencer Jackson', 'email': 'spencer.jackson@mongodb.com', 'username': 'spencerjackson'}Message: libfuzzer takes control over program lifecycle. It allows us to define We need to disable logging, in order to avoid this. |