[New-bugs-announce] [issue32034] Impossible to unpickle IncompleteReadError

badouxn report at bugs.python.org
Wed Nov 15 07:53:23 EST 2017


New submission from badouxn <badouxn at ethz.ch>:

When using asyncio in combination with multiprocessing, a TypeError occur when readuntil() encounter an EOF instead of the delimiter.
readuntil return a IncompleteReadError exception which is pickled by the multiprocessing package.
The unpickling failed due to an argument being None. As noted in the following links, it fails:
https://stackoverflow.com/questions/16244923/how-to-make-a-custom-exception-class-with-multiple-init-args-pickleable

The error trace is: 
Exception in thread Thread-3:
Traceback (most recent call last):
  File "/usr/lib64/python3.6/threading.py", line 916, in _bootstrap_inner
    self.run()
  File "/usr/lib64/python3.6/threading.py", line 864, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/lib64/python3.6/multiprocessing/pool.py", line 463, in _handle_results
    task = get()
  File "/usr/lib64/python3.6/multiprocessing/connection.py", line 252, in recv
    return _ForkingPickler.loads(r)
TypeError: __init__() missing 1 required positional argument: 'expected'


Fix proposed: 
Make the "expected" parameter of the IncompleteReadError exception class optional.

----------
components: asyncio
files: Impossible_to_unpickle_IncompleteReadError.py
messages: 306268
nosy: badouxn, yselivanov
priority: normal
severity: normal
status: open
title: Impossible to unpickle IncompleteReadError
Added file: https://bugs.python.org/file47266/Impossible_to_unpickle_IncompleteReadError.py

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue32034>
_______________________________________


More information about the New-bugs-announce mailing list