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 tomMoral
Recipients davin, pitrou, tomMoral
Date 2018-03-15.06:36:52
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1521095814.22.0.467229070634.issue33078@psf.upfronthosting.co.za>
In-reply-to
Content
The fix for the Queue._feeder does not properly handle the size of the Queue. This can lead to a situation where the Queue is considered as Full when it is empty. Here is a reproducing script:

```
import multiprocessing as mp

q = mp.Queue(1)


class FailPickle():
    def __reduce__(self):
        raise ValueError()

q.put(FailPickle())
print("Queue is full:", q.full())
q.put(0)
print(f"Got result: {q.get()}")
```
History
Date User Action Args
2018-03-15 06:36:54tomMoralsetrecipients: + tomMoral, pitrou, davin
2018-03-15 06:36:54tomMoralsetmessageid: <1521095814.22.0.467229070634.issue33078@psf.upfronthosting.co.za>
2018-03-15 06:36:53tomMorallinkissue33078 messages
2018-03-15 06:36:52tomMoralcreate