Timeout exceptions are not picklable
Closed this issue · 1 comments
thearchitector commented
Custom exceptions for iterator and iteration timeouts do not appear to be picklable, and cause a serialization error if they need to be saved / passed between processes (possibly threads as well).
concurrent.futures.process._RemoteTraceback:
'''
**Traceback (most recent call last):
File "/usr/lib/python3.10/concurrent/futures/process.py", line 392, in wait_result_broken_or_wakeup
result_item = result_reader.recv()
File "/usr/lib/python3.10/multiprocessing/connection.py", line 251, in recv
return _ForkingPickler.loads(buf.getbuffer())
TypeError: IterationTimeoutError.__init__() missing 1 required positional argument: 'step'
'''**
thearchitector commented
root cause: custom exceptions with arguments need to provide those args to super.init
, contrary to what would be expected.
resolved in 1.1.0