[SERVER-10428] Windows debug build should fassert on C runtime errors Created: 04/Aug/13  Updated: 11/Jul/16  Resolved: 04/Aug/13

Status: Closed
Project: Core Server
Component/s: Internal Code
Affects Version/s: None
Fix Version/s: 2.5.2

Type: Bug Priority: Major - P3
Reporter: Tad Marshall Assignee: Tad Marshall
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows debug builds


Backwards Compatibility: Minor Change
Operating System: Windows
Participants:

 Description   

The Windows debug build has some runtime tests (in the debug version of the MSVC "C" runtime library) that other builds don't have. In the current code, assertion failures from the "C" runtime library are logged and a stack trace is printed.

Some of these assertions call abort(), terminating the process, after we return from displaying the error and stack trace. Other assertions continue running, possibly allowing other errors to occur. Worse, tests may complete without any indication that something has gone wrong, other than the log messages, which may not be noticed.

Instead of returning after handling the assertion, we should just fassert so that the original problem will be addressed.



 Comments   
Comment by Tad Marshall [ 04/Aug/13 ]

Marked as "Backward Breaking": Rarely because debug builds that would have continued running after a C runtime failure will not do that anymore ... which is the purpose of this code change.

Comment by auto [ 04/Aug/13 ]

Author:

{u'username': u'tadmarshall', u'name': u'Tad Marshall', u'email': u'tad@10gen.com'}

Message: SERVER-10428 fassert on C runtime failures in Windows debug build
Branch: master
https://github.com/mongodb/mongo/commit/0ab11657c330c9233be64e997a1627dc82e1a647

Generated at Thu Feb 08 03:23:08 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.