[issue13081] Crash in Windows with unknown cause
Amorilia added the comment: I'm the author of the application. The tool is written in pure Python, and only uses libraries from stdlib. It would be really nice to have a simple standalone script to reproduce the crash, however I am still trying to reproduce it myself. So far no success. -- nosy: +amorilia ___ Python tracker <http://bugs.python.org/issue13081> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13081] Crash in Windows with unknown cause
Amorilia added the comment: Quick update: apparently, fixing another seemingly unrelated bug, fixed this crashing issue as well for rlibiez. Here's relevant the commit: https://github.com/amorilia/pyffi/commit/bd7886eefedfce8fb108c4701cf0467e2a707907 Basically, the problem was with multiprocessing.Pools not getting closed and joined. I'm attaching a script (poolcrash.py) which, theoretically, ought to reproduce the crash - although it doesn't quite reproduce it on my machine; I'm running out of memory and my machine just hangs desperately accessing the swap file before anything happens... Beware that running the bugged script may force you perform a hard reboot of your system, particularly if you wait until all physical memory is used up by zombie processes. -- Added file: http://bugs.python.org/file23314/poolcrash.py ___ Python tracker <http://bugs.python.org/issue13081> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13081] Crash in Windows with unknown cause
Amorilia added the comment: Thanks for also trying it out, Brian. I feel there's little more I can do. I guess the multiprocessing module could be documented a bit better that join() ought to be called before the pool is deleted? Currently, the docs merely say: "Wait for the worker processes to exit. One must call close() or terminate() before using join()." (http://docs.python.org/library/multiprocessing.html#multiprocessing.pool.multiprocessing.Pool.join) Something along the following lines could be added: "You must call join() when you no longer need the pool; otherwise, zombie processes may keep running." I'm happy to provide a patch, if needed. -- ___ Python tracker <http://bugs.python.org/issue13081> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com