graingert · GitHub

Bug report

Bug description:

import sys
import concurrent.futures
class MyException(Exception):
    def __bool__(self):
        return False
def raiser():
    raise MyException("foo")
def main():
    with concurrent.futures.ProcessPoolExecutor() as p:
        print(p.submit(raiser).result())
if __name__ == "__main__":
    sys.exit(main())

This program prints None, but should fail and print a traceback

CPython versions tested on:

CPython main branch, 3.14, 3.13, 3.12, 3.11, 3.10, 3.9

Operating systems tested on:

Linux

Linked PRs

Read the original on github.com ↗