from concurrent.futures import ProcessPoolExecutor from multiprocessing.util import log_to_stderr log_to_stderr(10) class ObjectWithPickleError(): """Triggers a RuntimeError when sending job to the workers""" def __reduce__(self): print('Reducing!!!!') raise RuntimeError() if __name__ == "__main__": e = ProcessPoolExecutor() f = e.submit(id, ObjectWithPickleError()) e.shutdown(wait=False) f.result() # Deadlock on get