[Windows]: BrokenPipeError: [Errno 32] Broken pipe
This has been observed only on Windows systems if CPUs is set to a value above 1.
ERROR: test_to_vectorfield (tests.test_tie_point_grid.Test_Tie_Point_Grid)
Traceback (most recent call last):
File "D:\daten\code\python\arosics\tests\test_tie_point_grid.py", line 80, in test_to_vectorfield
self.TPG.to_vectorfield(outpath, fmt='ENVI', mode='md')
File "d:\daten\code\python\arosics\arosics\Tie_Point_Grid.py", line 662, in to_vectorfield
values=self.CoRegPoints_table[attr_b1],
File "d:\daten\code\python\arosics\arosics\Tie_Point_Grid.py", line 145, in CoregPoints_table
self._CoRegPoints_table = self.get_CoRegPoints_table
File "d:\daten\code\python\arosics\arosics\Tie_Point_Grid.py", line 336, in get_CoRegPoints_table
with multiprocessing.Pool(self.CPUs, initializer=mp_initializer, initargs=self.ref, self.shift)) as pool:
File "d:\Programme\Anaconda3\enus\enpt\lib\multiprocessing\context.py", line 118, in Pool
context=self.get_context())
File "d:\Programme\Anaconda3\envs\enpt\lib\multiprocessing\pool.py", line 174, in _init_
self ._repopulate_pool()
File "d:\Programme\Anaconda3\envs\enpt\lib\multiprocessing\pool.py", line 239, in _repopulate_pool
w.start()
File "d:\Programme\Anaconda3\envs\enpt\lib\multiprocessing\process.py", line 105, in start
self._popen = self._Popen(self)
File "d:\Programme\Anaconda3\envs\enpt\lib\multiprocessing\context.py", line 313, in _Popen
return Popen(process_obj)
File "d:\Programme\Anaconda3\envs\enpt\lib\multiprocessing\popen_spawn_win32.py", line 66, in _init_
reduction.dump(process_obj, to_child)
File "d:\Programme\Anaconda3\envs\enpt\lib\multiprocessing\reduction.py", line 59, in dump
ForkingPickler(file, protocol).dump(obj)
BrokenPipeError: [Errno 32] Broken pipe
As a workaround, set CPUs to 1.
Edited by Daniel Scheffler