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 vstinner
Recipients arigo, davin, pitrou, vstinner, xiang.zhang
Date 2017-07-19.10:14:12
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1500459253.03.0.361670869964.issue30966@psf.upfronthosting.co.za>
In-reply-to
Content
This issue is marked as also affecting Python 3.7. I don't see a SimpleQueue.close() method in master, but I don't remind any resource warning when running tests on master neither.

Does it mean that our test runner miss such file descriptor leak? Or worse, that SimpleQueue is not tested? I see a TestSimpleQueue test case in Lib/test/_test_multiprocessing.py.

haypo@selma$ ./python -m test test_multiprocessing_spawn -m TestSimpleQueue -R 3:3
(...)
Tests result: SUCCESS


> This is needed to explicitly release the two file descriptors of the Pipe used internally.  Without it, the file descriptors leak if a reference to the SimpleQueue object happens to stay around for longer than expected (e.g. in a reference cycle, or with PyPy).

Oh ok, the garbage collector is able to close the file descriptors. The bug is when a SimpleQueue is not collected.

So again, I consider that a ResourceWarning is needed here. The purpose of a ResourceWarning is to warn when a leak may be kept alive longer than expected if it's not closed explicitly.
History
Date User Action Args
2017-07-19 10:14:13vstinnersetrecipients: + vstinner, arigo, pitrou, davin, xiang.zhang
2017-07-19 10:14:13vstinnersetmessageid: <1500459253.03.0.361670869964.issue30966@psf.upfronthosting.co.za>
2017-07-19 10:14:13vstinnerlinkissue30966 messages
2017-07-19 10:14:12vstinnercreate