New submission from Mark Hammond <mhamm...@users.sourceforge.net>: This block in exceptions.c:
#if defined _MSC_VER && _MSC_VER >= 1400 && defined(__STDC_SECURE_LIB__) ... /* turn off assertions in debug mode */ prevCrtReportMode = _CrtSetReportMode(_CRT_ASSERT, 0); #endif Does exactly what the comment says it does - disables all assertions. It disables *all* CRT assertions in the process, which includes some very useful ones related to memory corruption, and all 'assert' and 'ASSERT' statements in all Python extension modules. The change was introduced in: """ r46894 | kristjan.jonsson | 2006-06-13 01:45:12 +1000 (Tue, 13 Jun 2006) | 2 lines Fix the CRT argument error handling for VisualStudio .NET 2005. Install a CRT error handler and disable the assertion for debug builds. This causes CRT to set errno to EINVAL. This update fixes crash cases in the test suite where the default CRT error handler would cause process exit. """ which seems like a very large hammer to be using (ie, the problem causing the assertions to blow should probably have been fixed). I'd like to remove these 2 lines. Any objections, or should I upload the trivial patch? ---------- components: Windows messages: 78753 nosy: krisvale, mhammond severity: normal status: open title: Python on Windows disables all C runtime library assertions type: behavior versions: Python 2.5, Python 2.6, Python 2.7, Python 3.0, Python 3.1 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue4804> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com