Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[3.12] gh-105699: Re-enable the Multiple-Interpreters Stress Tests (gh-107572) #112483

Draft
wants to merge 2 commits into
base: 3.12
Choose a base branch
from

Conversation

ericsnowcurrently
Copy link
Member

@ericsnowcurrently ericsnowcurrently commented Nov 28, 2023

We had disabled them due to crashes they exposed, which have since been fixed.
(cherry picked from commit f9e3ff1)

(This is a repeat of gh-107783, which we had to revert.)

…sts (pythongh-107572) (python#107783)

We had disabled them due to crashes they exposed, which have since been fixed.
(cherry picked from commit f9e3ff1)

Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
Co-authored-by: T. Wouters <thomas@python.org>
@ericsnowcurrently ericsnowcurrently added the 🔨 test-with-buildbots Test PR w/ buildbots; report in status section label Nov 28, 2023
@bedevere-bot
Copy link

🤖 New build scheduled with the buildbot fleet by @ericsnowcurrently for commit b19e0ef 🤖

If you want to schedule another build, you need to add the 🔨 test-with-buildbots label again.

@bedevere-bot bedevere-bot removed the 🔨 test-with-buildbots Test PR w/ buildbots; report in status section label Nov 28, 2023
@ericsnowcurrently
Copy link
Member Author

Looks like the various other backports didn't fix all the issues, though test_create_many_sequential seems to be passing consistently now. test_create_many_threaded is still crashing and we're still leaking references, but neither in CI. Notably, this hasn't been a problem on main. I guess there is at least one PR that we haven't backported that is making the difference.

buildbot: AMD64 Fedora Stable PR

https://buildbot.python.org/all/#/builders/52/builds/1218/steps/6/logs/stdio

test_create_many_threaded (test.test_interpreters.StressTests.test_create_many_threaded) ... mremap_chunk(): invalid pointer
Fatal Python error: Aborted
Current thread 0x00007f64956fc6c0 (most recent call first):
  File "<frozen importlib._bootstrap_external>", line 1186 in get_data
  File "<frozen importlib._bootstrap_external>", line 1086 in get_code
  File "<frozen importlib._bootstrap_external>", line 990 in exec_module
  File "<frozen importlib._bootstrap>", line 935 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1331 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1360 in _find_and_load
Extension modules: _xxsubinterpreters, _xxinterpchannels (total: 2)
1 test failed again:
    test_interpreters
buildbot: AMD64 FreeBSD14 PR

https://buildbot.python.org/all/#/builders/1255/builds/34/steps/5/logs/stdio

test_create_many_threaded (test.test_interpreters.StressTests.test_create_many_threaded) ... Debug memory block at address p=0x358a5428fc10: API 'r'
    1048 bytes originally requested
    The 7 pad bytes at p-7 are FORBIDDENBYTE, as expected.
    The 8 pad bytes at tail=0x358a54290028 are not all FORBIDDENBYTE (0xfd):
        at tail+0: 0x20 *** OUCH
        at tail+1: 0x06 *** OUCH
        at tail+2: 0x29 *** OUCH
        at tail+3: 0x54 *** OUCH
        at tail+4: 0x8a *** OUCH
        at tail+5: 0x35 *** OUCH
        at tail+6: 0x00 *** OUCH
        at tail+7: 0x00 *** OUCH
    Data at p: dd dd dd dd dd dd dd dd ... a8 90 7e 00 00 00 00 00
Enable tracemalloc to get the memory block allocation traceback
Fatal Python error: _PyMem_DebugRawRealloc: bad trailing pad byte
Python runtime state: initialized
Current thread 0x0000358a4db8fd00 (most recent call first):
  File "<frozen importlib._bootstrap_external>", line 752 in _compile_bytecode
  File "<frozen importlib._bootstrap_external>", line 1123 in get_code
  File "<frozen importlib._bootstrap_external>", line 990 in exec_module
  File "<frozen importlib._bootstrap>", line 935 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1331 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1360 in _find_and_load
  File "/home/buildbot/buildarea/pull_request.opsec-fbsd14/build/Lib/site.py", line 73 in <module>
  File "<frozen importlib._bootstrap>", line 488 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 994 in exec_module
  File "<frozen importlib._bootstrap>", line 935 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1331 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1360 in _find_and_load
Debug memory block at address p=0x358a3569aeb0: API '\xfd'
    8247625154782626045 bytes originally requested
    The 7 pad bytes at p-7 are not all FORBIDDENBYTE (0xfd):
        at p-7: 0xfd
        at p-6: 0xfd
        at p-5: 0xfd
        at p-4: 0xfd
        at p-3: 0xfd
        at p-2: 0xfd
        at p-1: 0xdd *** OUCH
    Because memory is corrupted at the start, the count of bytes requested
       may be bogus, and checking the trailing pad bytes may segfault.
    The 8 pad bytes at tail=0x7275a8eb9cceafad are Fatal Python error: Bus error
Current thread 0x0000358a4db8fd00 (most recent call first):
  File "<frozen importlib._bootstrap_external>", line 752 in _compile_bytecode
  File "<frozen importlib._bootstrap_external>", line 1123 in get_code
  File "<frozen importlib._bootstrap_external>", line 990 in exec_module
  File "<frozen importlib._bootstrap>", line 935 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1331 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1360 in _find_and_load
  File "/home/buildbot/buildarea/pull_request.opsec-fbsd14/build/Lib/site.py", line 73 in <module>
  File "<frozen importlib._bootstrap>", line 488 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 994 in exec_module
  File "<frozen importlib._bootstrap>", line 935 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1331 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1360 in _find_and_load
Extension modules: _xxsubinterpreters, _xxinterpchannels (total: 2)
1 test failed again:
    test_interpreters
buildbot: AMD64 RHEL7 Refleaks PR

https://buildbot.python.org/all/#/builders/18/builds/1511/steps/5/logs/stdio

test_interpreters leaked [14, 14, 14] file descriptors, sum=42
1 test failed again:
    test_interpreters

@ericsnowcurrently
Copy link
Member Author

I may bail out on re-enabling the stress tests on 3.12. They are more important on main.

@ericsnowcurrently
Copy link
Member Author

I suspect that at least gh-110709 would help, though I'm not sure if we'll backport that or not.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
skip news tests Tests in the Lib/test dir
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants