-
Type: Improvement
-
Resolution: Gone away
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Labels:None
-
Storage Execution
-
0
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.