[SERVER-45044] All BSON corruption errors should log memory context Created: 10/Dec/19  Updated: 06/Dec/22

Status: Backlog
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major - P3
Reporter: Louis Williams Assignee: Backlog - Storage Execution Team
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
Assigned Teams:
Storage Execution
Participants:
Linked BF Score: 0

 Description   

We have agreed to expand upon SERVER-43775 and use this ticket to log memory context for every non-fatal BSON structural assertion (i.e. masserts and uasserts).

Original description:
The detection of BSON corruption almost always throw exceptions. For example, here in BSONObj::toString().

When an exception is thrown, the stack frame of the corruption detection is lost and debugging errors is left to pure speculation, but never any conclusive results.

In testing, except in cases where errors are expected, we should make all BSON validation and structural errors crash the server immediately. This will provide core dumps for future memory corruption failures.


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