Issue 33078: Queue with maxsize can lead to deadlocks (original) (raw)
Issue33078
Created on 2018-03-15 06:36 by tomMoral, last changed 2022-04-11 14:58 by admin. This issue is now closed.
Pull Requests | |||
---|---|---|---|
URL | Status | Linked | Edit |
PR 6119 | merged | tomMoral,2018-03-15 06:42 | |
PR 6178 | merged | miss-islington,2018-03-21 15:51 | |
PR 6180 | merged | tomMoral,2018-03-21 17:01 |
Messages (7) | ||
---|---|---|
msg313855 - (view) | Author: Thomas Moreau (tomMoral) * | Date: 2018-03-15 06:36 |
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()}") ``` | ||
msg314208 - (view) | Author: Antoine Pitrou (pitrou) * ![]() |
Date: 2018-03-21 15:50 |
New changeset e2f33add635df4fde81be9960bab367e010c19bf by Antoine Pitrou (Thomas Moreau) in branch 'master': bpo-33078 - Fix queue size on pickling error (GH-6119) https://github.com/python/cpython/commit/e2f33add635df4fde81be9960bab367e010c19bf | ||
msg314210 - (view) | Author: Antoine Pitrou (pitrou) * ![]() |
Date: 2018-03-21 16:21 |
New changeset bb5b5291971c104ea773db1a30e46d410b6b3e1e by Antoine Pitrou (Miss Islington (bot)) in branch '3.7': bpo-33078 - Fix queue size on pickling error (GH-6119) (GH-6178) https://github.com/python/cpython/commit/bb5b5291971c104ea773db1a30e46d410b6b3e1e | ||
msg314211 - (view) | Author: Ned Deily (ned.deily) * ![]() |
Date: 2018-03-21 16:36 |
Buildbots are failing on macOS: http://buildbot.python.org/all/#/builders/14/builds/804/steps/4/logs/stdio http://buildbot.python.org/all/#/builders/93/builds/459/steps/4/logs/stdio | ||
msg314219 - (view) | Author: Ned Deily (ned.deily) * ![]() |
Date: 2018-03-21 18:58 |
PR 6180 appears to have fixed the 3.x failures, thanks! | ||
msg314221 - (view) | Author: Antoine Pitrou (pitrou) * ![]() |
Date: 2018-03-21 19:01 |
Good, I think we can close again now! | ||
msg314224 - (view) | Author: Ned Deily (ned.deily) * ![]() |
Date: 2018-03-21 21:27 |
(Fot the record, PR 6181 was the 3.7 backport of PR 6180.) |
History | |||
---|---|---|---|
Date | User | Action | Args |
2022-04-11 14:58:58 | admin | set | github: 77259 |
2018-03-21 21:27:09 | ned.deily | set | messages: + |
2018-03-21 19:01:57 | pitrou | set | status: open -> closedresolution: fixedmessages: + stage: patch review -> resolved |
2018-03-21 18:58:34 | ned.deily | set | messages: + |
2018-03-21 17:01:55 | tomMoral | set | stage: needs patch -> patch reviewpull_requests: + <pull%5Frequest5929> |
2018-03-21 16:36:17 | ned.deily | set | status: closed -> opennosy: + ned.deilymessages: + resolution: fixed -> (no value)stage: resolved -> needs patch |
2018-03-21 16:21:33 | pitrou | set | status: open -> closedresolution: fixedstage: patch review -> resolved |
2018-03-21 16:21:19 | pitrou | set | messages: + |
2018-03-21 15:51:02 | miss-islington | set | pull_requests: + <pull%5Frequest5928> |
2018-03-21 15:50:52 | pitrou | set | versions: - Python 2.7, Python 3.5, Python 3.6 |
2018-03-21 15:50:35 | pitrou | set | messages: + |
2018-03-15 06:42:27 | tomMoral | set | keywords: + patchstage: patch reviewpull_requests: + <pull%5Frequest5883> |
2018-03-15 06:36:54 | tomMoral | create |