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 2019年11月13日 22:34 by steve.dower, last changed 2022年04月11日 14:59 by admin. This issue is now closed.
| Pull Requests | |||
|---|---|---|---|
| URL | Status | Linked | Edit |
| PR 17154 | corona10, 2019年11月16日 16:42 | ||
| Messages (3) | |||
|---|---|---|---|
| msg356565 - (view) | Author: Steve Dower (steve.dower) * (Python committer) | Date: 2019年11月13日 22:34 | |
See https://dev.azure.com/Python/cpython/_build/results?buildId=53812&view=ms.vss-test-web.build-test-results-tab Traceback (most recent call last): File "/Users/runner/runners/2.160.0/work/1/s/Lib/unittest/case.py", line 60, in testPartExecutor yield File "/Users/runner/runners/2.160.0/work/1/s/Lib/unittest/case.py", line 659, in run self._callTestMethod(testMethod) File "/Users/runner/runners/2.160.0/work/1/s/Lib/unittest/case.py", line 616, in _callTestMethod method() File "/Users/runner/runners/2.160.0/work/1/s/Lib/test/test_fcntl.py", line 149, in test_lockf_exclusive p.start() File "/Users/runner/runners/2.160.0/work/1/s/Lib/multiprocessing/process.py", line 121, in start self._popen = self._Popen(self) File "/Users/runner/runners/2.160.0/work/1/s/Lib/multiprocessing/context.py", line 224, in _Popen return _default_context.get_context().Process._Popen(process_obj) File "/Users/runner/runners/2.160.0/work/1/s/Lib/multiprocessing/context.py", line 283, in _Popen return Popen(process_obj) File "/Users/runner/runners/2.160.0/work/1/s/Lib/multiprocessing/popen_spawn_posix.py", line 32, in __init__ super().__init__(process_obj) File "/Users/runner/runners/2.160.0/work/1/s/Lib/multiprocessing/popen_fork.py", line 19, in __init__ self._launch(process_obj) File "/Users/runner/runners/2.160.0/work/1/s/Lib/multiprocessing/popen_spawn_posix.py", line 47, in _launch reduction.dump(process_obj, fp) File "/Users/runner/runners/2.160.0/work/1/s/Lib/multiprocessing/reduction.py", line 60, in dump ForkingPickler(file, protocol).dump(obj) AttributeError: Can't pickle local object 'TestFcntl.test_lockf_exclusive.<locals>.try_lockf_on_other_process' |
|||
| msg356754 - (view) | Author: Dong-hee Na (corona10) * (Python committer) | Date: 2019年11月16日 16:42 | |
This issue was reported from victor See https://bugs.python.org/msg356607 And I attached the patch for this on GH 17154. Please take a look at the patch also. I apologize for the trouble as the original test code author. |
|||
| msg356838 - (view) | Author: Dong-hee Na (corona10) * (Python committer) | Date: 2019年11月18日 02:16 | |
This cause of failure PR 17010 was due to change of start methods as follows: https://docs.python.org/3/library/multiprocessing.html#contexts-and-start-methods Changed in version 3.8: On macOS, the spawn start method is now the default. The fork start method should be considered unsafe as it can lead to crashes of the subprocess. See bpo-33725. So I updated the test through PR 17154 and I check that my local mac machine works well. (I did not check it on my local mac machine when I submitted PR 17010 since open description lock was Linux feature, this was my mistake) And thanks to the tip from Michael Felt, I update the test to skip on the AIX machine. So I expect that when PR 17154 is landed, everything will go well. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:59:23 | admin | set | github: 82971 |
| 2019年11月18日 06:57:11 | ned.deily | set | status: open -> closed superseder: Add open_file_descriptor parameter to fcntl.lockf() (use the new F_OFD_SETLK flag) resolution: duplicate stage: patch review -> resolved |
| 2019年11月18日 02:16:42 | corona10 | set | messages: + msg356838 |
| 2019年11月16日 16:44:56 | corona10 | set | versions: + Python 3.7, Python 3.8, Python 3.9 |
| 2019年11月16日 16:42:36 | corona10 | set | nosy:
+ corona10 messages: + msg356754 pull_requests: + pull_request16697 keywords: + patch stage: needs patch -> patch review |
| 2019年11月13日 22:34:24 | steve.dower | create | |