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.

Author asvetlov
Recipients asvetlov, jnoller, kristjan.jonsson, loewis, ocean-city
Date 2009-04-01.17:21:04
SpamBayes Score 1.1657342e-15
Marked as misclassified No
Message-id <270ea8310904011021w7ee5be3at60e38052e3fde88f@mail.gmail.com>
In-reply-to <1238604887.68.0.779671976651.issue5619@psf.upfronthosting.co.za>
Content
Problem in _multiprocessing is:
FILE* fp = _fdopen(...);
int fd = _fileno(fp);
_close(fd);
_fclose(fp); // raises assertion

At process exit system tries to close all opened FILE* by _fcloseall,
but file closed by descriptor _close has invalid state and _fclose
raises assertion.
Real problem not in win32_ExitProcess function but in outer
finalization code. At exit time is impossible to point on real source
of problem.

This patch is just supressing error messages on exit of child process
(we sure what we don't want to see anything related to this one, at
least in buildbot test session). For particular problem in
multiprocessing only (all other test passed with regrtest -n without
assertion message boxes).

In general maybe will helpful to add os.close check for opened FILE*
for this descriptor and report about this problem (interesting
question, it should be exception or stderr output?). Of course it have
to be applied only to debug build.
History
Date User Action Args
2009-04-01 17:21:06asvetlovsetrecipients: + asvetlov, loewis, kristjan.jonsson, ocean-city, jnoller
2009-04-01 17:21:05asvetlovlinkissue5619 messages
2009-04-01 17:21:04asvetlovcreate