New submission from Santiago Hernandez <santi...@jampp.com>:
Hi, I am splitting some processing among different processes with the forkserver start method using multiprocessing. In python 3.4 to 3.6 this worked fine. In python 3.7.0 it's breaking with the following Traceback: ``` File "/data/venvs/py37/Python-3.7.0/lib/python3.7/multiprocessing/process.py", line 112, in start self._popen = self._Popen(self) File "/data/venvs/py37/Python-3.7.0/lib/python3.7/multiprocessing/context.py", line 223, in _Popen return _default_context.get_context().Process._Popen(process_obj) File "/data/venvs/py37/Python-3.7.0/lib/python3.7/multiprocessing/context.py", line 284, in _Popen return Popen(process_obj) File "/data/venvs/py37/Python-3.7.0/lib/python3.7/multiprocessing/popen_spawn_posix.py", line 32, in __init__ super().__init__(process_obj) File "/data/venvs/py37/Python-3.7.0/lib/python3.7/multiprocessing/popen_fork.py", line 20, in __init__ self._launch(process_obj) File "/data/venvs/py37/Python-3.7.0/lib/python3.7/multiprocessing/popen_spawn_posix.py", line 47, in _launch reduction.dump(process_obj, fp) File "/data/venvs/py37/Python-3.7.0/lib/python3.7/multiprocessing/reduction.py", line 60, in dump ForkingPickler(file, protocol).dump(obj) TypeError: can't pickle weakref objects ``` I am attaching a minimum example where this happens. In the example this can be solved by making self._run_single a staticmethod. However, I would like to understand what is going on and what changed in python for this to throw an exception now, when before it did not. Thanks. Santiago ---------- files: example.py messages: 320995 nosy: Santiago Hernandez priority: normal severity: normal status: open title: Python 3.7.0 multiprocessing forkserver ForkingPickler behaviour change versions: Python 3.7 Added file: https://bugs.python.org/file47670/example.py _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue34034> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com