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.
Created on 2009年01月19日 16:32 by jnoller, last changed 2022年04月11日 14:56 by admin. This issue is now closed.
| Files | ||||
|---|---|---|---|---|
| File name | Uploaded | Description | Edit | |
| issue5001.diff | vladris, 2011年10月02日 20:43 | Refactored asserts | review | |
| issue5001_v2.diff | vladris, 2011年10月02日 23:37 | Second iteration | review | |
| Pull Requests | |||
|---|---|---|---|
| URL | Status | Linked | Edit |
| PR 3078 | merged | drallensmith, 2017年08月12日 12:45 | |
| PR 3079 | merged | drallensmith, 2017年08月12日 18:59 | |
| Messages (17) | |||
|---|---|---|---|
| msg80192 - (view) | Author: Jesse Noller (jnoller) * (Python committer) | Date: 2009年01月19日 16:32 | |
Right now, the multiprocessing code is littered with statements like:
assert self._popen is None, 'cannot start a process twice'
assert self._parent_pid == os.getpid(), \
'can only start a process object created by current
process'
assert not _current_process._daemonic, \
'daemonic processes are not allowed to have children'
These will obviously be stripped out if running in optimized mode -
however its not cool to rely on these anyway, the code should be
refactored to proper checks, e.g.:
if not hasattr(lock, 'acquire'):
raise AttributeError("'%r' has no method 'acquire'" % lock)
|
|||
| msg112140 - (view) | Author: Mark Lawrence (BreamoreBoy) * | Date: 2010年07月31日 11:39 | |
@Jesse: could you provide a patch that addresses this issue? |
|||
| msg112149 - (view) | Author: Jesse Noller (jnoller) * (Python committer) | Date: 2010年07月31日 13:07 | |
@Mark Yeah - I'm the current multiprocessing maintainer. If I fix it, I'll just commit it :) I filed this as a to do against myself. |
|||
| msg144780 - (view) | Author: Vlad Riscutia (vladris) | Date: 2011年10月02日 20:43 | |
I attached a patch which replaces all asserts with checks that raise exceptions. I used my judgement in determining exception types but I might have been off in some places. Also, this patch replaces ALL asserts. It is possible that some of the internal functions should be kept using asserts but I am not familiar enough with the module to say which. I figured I'd better do the whole thing than reviewers can say where lines should be reverted to asserts. |
|||
| msg144781 - (view) | Author: Antoine Pitrou (pitrou) * (Python committer) | Date: 2011年10月02日 21:26 | |
Thank you. I've attached some comments, click on the "review" link to read them. |
|||
| msg144795 - (view) | Author: Vlad Riscutia (vladris) | Date: 2011年10月02日 23:37 | |
Thanks for the quick review! I attached second iteration addressing feedback + changed all occurrences of checks like "type(x) is y" to "isinstance(x, y)". I would appreciate a second look because this patch has many small changes and even though I ran full test suit which passed, I'm afraid I made a typo somewhere :) |
|||
| msg217299 - (view) | Author: Jessica McKellar (jesstess) * (Python triager) | Date: 2014年04月27日 17:54 | |
Thanks for the patches, vladris! I've reviewed the latest version, and it addresses all of Antoine's review feedback. Ezio left some additional feedback (http://bugs.python.org/review/5001/#ps3407) which still needs to be addressed. |
|||
| msg300195 - (view) | Author: Antoine Pitrou (pitrou) * (Python committer) | Date: 2017年08月12日 10:42 | |
@drallensmith, the patch you commented on is very old and probably doesn't apply anymore. It would be useful to make an updated patch (or rather PR, as we are using Github for development now: see https://devguide.python.org/pullrequest/). |
|||
| msg300196 - (view) | Author: (drallensmith) * | Date: 2017年08月12日 11:41 | |
Patches (for 2.7 and 3.5; the code is identical, only the line numbers changed) for the portion I commented on can be found in issue 31169. |
|||
| msg300201 - (view) | Author: Antoine Pitrou (pitrou) * (Python committer) | Date: 2017年08月12日 15:37 | |
New changeset 48d9823a0ebde4dfab8bc154bb6df462fb2ee403 by Antoine Pitrou (Allen W. Smith, Ph.D) in branch 'master': bpo-5001, bpo-31169: Fix two uninformative asserts in multiprocessing/managers.py (#3078) https://github.com/python/cpython/commit/48d9823a0ebde4dfab8bc154bb6df462fb2ee403 |
|||
| msg300397 - (view) | Author: (drallensmith) * | Date: 2017年08月17日 00:22 | |
Pull request submitted (4 days ago) for managers.py, queue.py; just added pool.py changes to those. |
|||
| msg300473 - (view) | Author: (drallensmith) * | Date: 2017年08月18日 03:52 | |
No discussion yet on pull request (5 days); just submitted fixes for util.py. |
|||
| msg300512 - (view) | Author: Antoine Pitrou (pitrou) * (Python committer) | Date: 2017年08月18日 15:56 | |
Please allow us a bit of time :-) We are all volunteers here. |
|||
| msg300541 - (view) | Author: (drallensmith) * | Date: 2017年08月18日 22:19 | |
Sorry! I was starting to wonder if the PR had been overlooked somehow... |
|||
| msg300584 - (view) | Author: (drallensmith) * | Date: 2017年08月19日 13:27 | |
I've updated the PR to include all of the non-Windows-specific asserts; I am not sufficiently familiar with Windows multiprocessing to feel confident writing informative error messages. |
|||
| msg301002 - (view) | Author: Antoine Pitrou (pitrou) * (Python committer) | Date: 2017年08月29日 22:52 | |
New changeset bd73e72b4a9f019be514954b1d40e64dc3a5e81c by Antoine Pitrou (Allen W. Smith, Ph.D) in branch 'master': bpo-5001: More-informative multiprocessing error messages (#3079) https://github.com/python/cpython/commit/bd73e72b4a9f019be514954b1d40e64dc3a5e81c |
|||
| msg301003 - (view) | Author: Antoine Pitrou (pitrou) * (Python committer) | Date: 2017年08月29日 22:53 | |
I suppose this can be closed now. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:56:44 | admin | set | github: 49251 |
| 2017年08月29日 22:53:00 | pitrou | set | status: open -> closed resolution: fixed messages: + msg301003 stage: patch review -> resolved |
| 2017年08月29日 22:52:22 | pitrou | set | messages: + msg301002 |
| 2017年08月19日 13:27:04 | drallensmith | set | messages: + msg300584 |
| 2017年08月18日 22:19:15 | drallensmith | set | messages: + msg300541 |
| 2017年08月18日 15:56:13 | pitrou | set | messages: + msg300512 |
| 2017年08月18日 03:52:15 | drallensmith | set | messages: + msg300473 |
| 2017年08月17日 00:22:13 | drallensmith | set | messages:
+ msg300397 versions: + Python 3.7, - Python 3.6 |
| 2017年08月12日 18:59:13 | drallensmith | set | pull_requests: + pull_request3120 |
| 2017年08月12日 15:37:11 | pitrou | set | messages: + msg300201 |
| 2017年08月12日 12:45:07 | drallensmith | set | pull_requests: + pull_request3117 |
| 2017年08月12日 11:41:49 | drallensmith | set | messages: + msg300196 |
| 2017年08月12日 10:42:29 | pitrou | set | messages: + msg300195 |
| 2017年08月10日 01:34:05 | drallensmith | set | nosy:
+ drallensmith |
| 2017年02月12日 20:33:20 | Winterflower | set | nosy:
+ Winterflower |
| 2016年01月21日 08:42:57 | berker.peksag | set | nosy:
+ berker.peksag type: enhancement versions: + Python 3.6, - Python 2.7, Python 3.4, Python 3.5 |
| 2014年04月28日 00:15:49 | ned.deily | set | nosy:
+ sbt versions: + Python 3.4, Python 3.5, - Python 3.2, Python 3.3 |
| 2014年04月27日 17:54:56 | jesstess | set | nosy:
+ jesstess messages: + msg217299 |
| 2011年10月02日 23:37:30 | vladris | set | files:
+ issue5001_v2.diff messages: + msg144795 |
| 2011年10月02日 21:26:26 | pitrou | set | versions:
+ Python 3.3, - Python 3.1 nosy: + pitrou, - BreamoreBoy messages: + msg144781 assignee: jnoller -> stage: needs patch -> patch review |
| 2011年10月02日 20:43:49 | vladris | set | files:
+ issue5001.diff nosy: + vladris messages: + msg144780 keywords: + patch |
| 2010年07月31日 13:07:06 | jnoller | set | messages: + msg112149 |
| 2010年07月31日 11:39:07 | BreamoreBoy | set | versions:
+ Python 3.2 nosy: + BreamoreBoy messages: + msg112140 stage: needs patch |
| 2009年01月22日 19:22:11 | jnoller | link | issue3273 superseder |
| 2009年01月19日 16:32:42 | jnoller | create | |