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 deltaclock
Recipients deltaclock
Date 2018-09-07.23:43:37
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1536363817.94.0.56676864532.issue34610@psf.upfronthosting.co.za>
In-reply-to
Content
The manager class of the multiprocessing module doesnt implement __next__ or __iter__ on its dictionary method and relies on using __getitem__.

This results in an unexpected functionality of an object that is supposed to act like a dict, and instead of looping over the dictionary keys it loops over its values.

The user needs to call dict() on this object in order to loop over it correctly, which is not that obvious.

The problem originates from there https://github.com/python/cpython/blob/master/Lib/multiprocessing/managers.py#L1136

Poc link: https://hastebin.com/codoqihowi.py
History
Date User Action Args
2018-09-07 23:43:37deltaclocksetrecipients: + deltaclock
2018-09-07 23:43:37deltaclocksetmessageid: <1536363817.94.0.56676864532.issue34610@psf.upfronthosting.co.za>
2018-09-07 23:43:37deltaclocklinkissue34610 messages
2018-09-07 23:43:37deltaclockcreate