New submission from STINNER Victor <vstin...@python.org>:
test_threading.ThreadJoinOnShutdown.test_reinit_tls_after_fork() does crash on AIX: bpo-40068. One of the issue is that logging does crash at fork: bpo-40091. The strange thing is that test_threading doesn't use logging. I'm quite sure that logging is imported through test.support. "import test.support" imports not less than 171... That's quite "heavy". It includes "heavy" modules like concurrent.futures, asyncio or multiprocessing. It's maybe time to slice again test.support until submodules to reduce the number of imports to the bare minimum. For example, "import test.support" imports asyncio, whereas it's only used by very few tests. Maybe we should add "test.support.asyncioutils". $ ./python Python 3.9.0a5+ (heads/pycore_interp:a1ff2c5cf3, Apr 13 2020, 12:27:13) >>> import sys >>> import test >>> before=set(sys.modules) >>> import test.support >>> after=set(sys.modules) >>> len(after - before) 171 >>> import pprint >>> pprint.pprint(sorted(after - before)) ['__mp_main__', '_asyncio', '_bisect', '_blake2', '_bz2', '_collections', '_compat_pickle', '_compression', '_contextvars', '_datetime', '_elementtree', '_functools', '_hashlib', '_heapq', '_lzma', '_opcode', '_operator', '_pickle', '_posixsubprocess', '_queue', '_random', '_sha3', '_sha512', '_socket', '_sre', '_ssl', '_string', '_struct', '_sysconfigdata_d_linux_x86_64-linux-gnu', '_weakrefset', 'argparse', 'array', 'asyncio', 'asyncio.base_events', 'asyncio.base_futures', 'asyncio.base_subprocess', 'asyncio.base_tasks', 'asyncio.constants', 'asyncio.coroutines', 'asyncio.events', 'asyncio.exceptions', 'asyncio.format_helpers', 'asyncio.futures', 'asyncio.locks', 'asyncio.log', 'asyncio.protocols', 'asyncio.queues', 'asyncio.runners', 'asyncio.selector_events', 'asyncio.sslproto', 'asyncio.staggered', 'asyncio.streams', 'asyncio.subprocess', 'asyncio.tasks', 'asyncio.transports', 'asyncio.trsock', 'asyncio.unix_events', 'base64', 'binascii', 'bisect', 'bz2', 'collections', 'collections.abc', 'concurrent', 'concurrent.futures', 'concurrent.futures._base', 'contextlib', 'contextvars', 'copy', 'copyreg', 'datetime', 'difflib', 'dis', 'email', 'email.base64mime', 'email.charset', 'email.encoders', 'email.errors', 'email.header', 'email.quoprimime', 'enum', 'errno', 'faulthandler', 'fnmatch', 'functools', 'gc', 'gettext', 'glob', 'grp', 'gzip', 'hashlib', 'heapq', 'importlib', 'importlib._bootstrap', 'importlib._bootstrap_external', 'importlib.abc', 'importlib.machinery', 'importlib.util', 'inspect', 'itertools', 'keyword', 'linecache', 'locale', 'logging', 'logging.handlers', 'lzma', 'math', 'multiprocessing', 'multiprocessing.context', 'multiprocessing.process', 'multiprocessing.reduction', 'nntplib', 'opcode', 'operator', 'pickle', 'platform', 'pprint', 'pwd', 'pyexpat', 'pyexpat.errors', 'pyexpat.model', 'queue', 'quopri', 'random', 're', 'reprlib', 'resource', 'select', 'selectors', 'shutil', 'signal', 'socket', 'sre_compile', 'sre_constants', 'sre_parse', 'ssl', 'string', 'struct', 'subprocess', 'sysconfig', 'tempfile', 'test.support', 'test.support.testresult', 'threading', 'token', 'tokenize', 'traceback', 'types', 'typing', 'typing.io', 'typing.re', 'unittest', 'unittest.async_case', 'unittest.case', 'unittest.loader', 'unittest.main', 'unittest.result', 'unittest.runner', 'unittest.signals', 'unittest.suite', 'unittest.util', 'urllib', 'urllib.error', 'urllib.response', 'warnings', 'weakref', 'xml', 'xml.etree', 'xml.etree.ElementPath', 'xml.etree.ElementTree', 'zlib'] ---------- components: Tests messages: 366337 nosy: vstinner priority: normal severity: normal status: open title: test.support has way too many imports versions: Python 3.9 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue40275> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com