Repository navigation
Specialize calls for Python classes #91095
Copy link
Copy link
Closed
Labels
3.11only security fixesonly security fixes
Description
Activity
Please see faster-cpython/ideas#267.
I hope I'm not stepping on anyone's toes here (sorry if I cause any duplicate work)!
Since this is closed as completed, I assume this implies gh-31707 and gh-31936 should be closed as well. cc. @Fidget-Spinner
Done
Reacted by Erlend E. AaslandThe following change introduced a crash: commit 04492cb
commit 04492cbc9aa45ac2c12d22083c406a0364c39f5b Author: Mark Shannon <mark@hotpy.org> Date: Thu Jun 22 09:48:19 2023 +0100 GH-91095: Specialize calls to normal Python classes. (GH-99331)To reproduce the crash:
$ git checkout 04492cbc9aa45ac2c12d22083c406a0364c39f5b $ git clean -fdx $ ./configure --with-pydebug && make $ ./python -m test -j1 -R 3:3 test_import -v -m test_concurrency -m test___cached___legacy_pyc -m test_package___cached___from_pyc (...) test_concurrency (test.test_import.ImportTests.test_concurrency) ... python: Python/instrumentation.c:940: call_instrumentation_vector: Assertion `code->_co_instrumentation_version == tstate->interp->monitoring_version' failed. Fatal Python error: Aborted Current thread 0x00007f025195c6c0 (most recent call first): File "__init__", line ??? in __init__ File "<frozen importlib._bootstrap_external>", line 1465 in _path_hooks File "<frozen importlib._bootstrap_external>", line 1489 in _path_importer_cache File "<frozen importlib._bootstrap_external>", line 1502 in _get_spec File "<frozen importlib._bootstrap_external>", line 1530 in find_spec File "<frozen importlib._bootstrap>", line 1168 in _find_spec File "<frozen importlib._bootstrap>", line 1228 in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 1266 in _find_and_load File "/home/vstinner/python/main/Lib/test/test_import/__init__.py", line 701 in run File "/home/vstinner/python/main/Lib/threading.py", line 989 in run File "/home/vstinner/python/main/Lib/threading.py", line 1052 in _bootstrap_inner File "/home/vstinner/python/main/Lib/threading.py", line 1009 in _bootstrap Thread 0x00007f025115b6c0 (most recent call first): File "/home/vstinner/python/main/Lib/threading.py", line 334 in wait File "/home/vstinner/python/main/Lib/threading.py", line 634 in wait File "/home/vstinner/python/main/Lib/test/test_import/__init__.py", line 699 in run File "/home/vstinner/python/main/Lib/threading.py", line 989 in run File "/home/vstinner/python/main/Lib/threading.py", line 1052 in _bootstrap_inner File "/home/vstinner/python/main/Lib/threading.py", line 1009 in _bootstrap Thread 0x00007f026045d740 (most recent call first): File "/home/vstinner/python/main/Lib/threading.py", line 1146 in _wait_for_tstate_lock File "/home/vstinner/python/main/Lib/threading.py", line 1130 in join File "/home/vstinner/python/main/Lib/test/support/threading_helper.py", line 144 in start_threads File "/home/vstinner/python/main/Lib/contextlib.py", line 144 in __exit__ File "/home/vstinner/python/main/Lib/test/test_import/__init__.py", line 711 in test_concurrency File "/home/vstinner/python/main/Lib/unittest/case.py", line 589 in _callTestMethod File "/home/vstinner/python/main/Lib/unittest/case.py", line 634 in run File "/home/vstinner/python/main/Lib/unittest/case.py", line 690 in __call__ File "/home/vstinner/python/main/Lib/unittest/suite.py", line 122 in run File "/home/vstinner/python/main/Lib/unittest/suite.py", line 84 in __call__ File "/home/vstinner/python/main/Lib/unittest/suite.py", line 122 in run File "/home/vstinner/python/main/Lib/unittest/suite.py", line 84 in __call__ File "/home/vstinner/python/main/Lib/unittest/suite.py", line 122 in run File "/home/vstinner/python/main/Lib/unittest/suite.py", line 84 in __call__ File "/home/vstinner/python/main/Lib/unittest/runner.py", line 240 in run File "/home/vstinner/python/main/Lib/test/support/__init__.py", line 1115 in _run_suite File "/home/vstinner/python/main/Lib/test/support/__init__.py", line 1241 in run_unittest File "/home/vstinner/python/main/Lib/test/libregrtest/runtest.py", line 294 in _test_module File "/home/vstinner/python/main/Lib/test/libregrtest/refleak.py", line 90 in dash_R File "/home/vstinner/python/main/Lib/test/libregrtest/runtest.py", line 328 in _runtest_inner2 File "/home/vstinner/python/main/Lib/test/libregrtest/runtest.py", line 373 in _runtest_inner File "/home/vstinner/python/main/Lib/test/libregrtest/runtest.py", line 248 in _runtest File "/home/vstinner/python/main/Lib/test/libregrtest/runtest.py", line 278 in runtest File "/home/vstinner/python/main/Lib/test/libregrtest/runtest_mp.py", line 98 in run_tests_worker File "/home/vstinner/python/main/Lib/test/libregrtest/main.py", line 779 in _main File "/home/vstinner/python/main/Lib/test/libregrtest/main.py", line 758 in main File "/home/vstinner/python/main/Lib/test/libregrtest/main.py", line 822 in main File "/home/vstinner/python/main/Lib/test/regrtest.py", line 43 in _main File "/home/vstinner/python/main/Lib/test/regrtest.py", line 47 in <module> File "/home/vstinner/python/main/Lib/runpy.py", line 88 in _run_code File "/home/vstinner/python/main/Lib/runpy.py", line 198 in _run_module_as_main Extension modules: _testcapi, _testinternalcapi, _testsinglephase, _testmultiphase, _xxsubinterpreters (total: 5)It seems unlikely that PR is responsible for that crash. I suspect that it just exposes it.
More likely an issue with instrumentation #106012
Metadata
Metadata
Assignees
Labels
3.11only security fixesonly security fixes
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields: