-
Type: Bug
-
Resolution: Done
-
Priority: Major - P3
-
Affects Version/s: legacy-1.0.0, legacy-1.0.3
-
Component/s: Implementation
There's #ifdef'ed code in aforementioned method that calls CRT's abort() function. There's a comment stating "this is so we notice in buildbot". The problem is, we don't get to notice anything in our code because the process exits. I don't understand why you'd do this and not allow client code to handle the exception that normally gets thrown in release code.
For us, this is particularly problematic in automated testing, specifically with Google's GTest framework, which disables (aptly so), any message boxes displayed during abort().
The specific case this occurred for our team was in calls to various methods for BSONElement where the type of the element is verified. If there's a mismatch, boom, program is gone, which isn't what we want, ever.