This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: Windows: python opens a popup and flood stderr with assertion error on FD error
Type: Stage:
Components: Windows Versions: Python 3.6, Python 3.5
process
Status: closed Resolution: duplicate
Dependencies: Superseder:
Assigned To: Nosy List: paul.moore, steve.dower, tim.golden, vstinner, zach.ware
Priority: normal Keywords:

Created on 2015-10-03 19:17 by vstinner, last changed 2022-04-11 14:58 by admin. This issue is now closed.

Messages (5)
msg252226 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2015-10-03 19:17
I compiled Python 3.6 in debug mode on Windows, and I'm trying to run test_regrtest to try to reproduce a bug. The problem is that the test opens a million of popup. Clicking on Ignore is useless, the popup continues to reappear again and again. The stderr is also flooded with "Assertion error ..." with the MSCRT.

I don't understand the usage of this popup and this error message. Python already raises a nice OSError when a FD is invalid.

Can we please always turn these warnings off even in debug mode when calling a MSCRT function protected by _Py_BEGIN_SUPPRESS_IPH/_Py_END_SUPPRESS_IPH?

See also issue #25001 "Make --nowindows argument to regrtest propagate when running with -j".
msg252227 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2015-10-03 19:18
By the way, these warnings are flooding buildbot output, it became really hard to read these logs :-( Extract:


minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
minkernel\crts\ucrt\src\appcrt\time\wcsftime.cpp(1182) : Assertion failed: false
msg252230 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2015-10-03 19:21
See also the issue #25306 "test_huntrleaks_fd_leak() of test_regrtest hangs on Windows". It may be caused by this issue.
msg252232 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2015-10-03 19:29
See also issue #23919, this issue may be a duplicate of this one.
msg252237 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2015-10-03 20:12
It is a direct duplicate of multiple issues.

The assertion is coming from the CRT, because their definition of "undefined behaviour" includes displaying an assert dialog in debug mode, and last time we tried disabling them completely we upset people. (I'm not 100% clear how you get from "closing an already-closed fd" to "undefined behaviour", but I assume it's an interpretation of invalid parameters.)

I'll get the patch for issue 23919 together, based on what Zach described in issue 25001.
History
Date User Action Args
2022-04-11 14:58:22adminsetgithub: 69492
2015-10-03 20:12:34steve.dowersetstatus: open -> closed
resolution: duplicate
messages: + msg252237
2015-10-03 19:29:45vstinnersetmessages: + msg252232
2015-10-03 19:21:30vstinnersetmessages: + msg252230
2015-10-03 19:18:05vstinnersetmessages: + msg252227
2015-10-03 19:17:18vstinnercreate