Skip to content

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

Closed
ericsnowcurrently wants to merge 2 commits into
python:3.12from
ericsnowcurrently:reenable-stress-tests-3.12
Closed

[3.12] gh-105699: Re-enable the Multiple-Interpreters Stress Tests (gh-107572)#112483
ericsnowcurrently wants to merge 2 commits into
python:3.12from
ericsnowcurrently:reenable-stress-tests-3.12

Conversation

@ericsnowcurrently

@ericsnowcurrentlyericsnowcurrently commented Nov 28, 2023

Copy link
Copy Markdown
Member

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>
@ericsnowcurrentlyericsnowcurrently added the 🔨 test-with-buildbots Test PR w/ buildbots; report in status section label Nov 28, 2023
@bedevere-bot

Copy link
Copy Markdown

🤖 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-botbedevere-bot removed the 🔨 test-with-buildbots Test PR w/ buildbots; report in status section label Nov 28, 2023
@ericsnowcurrently

Copy link
Copy Markdown
MemberAuthor

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
Copy Markdown
MemberAuthor

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

@ericsnowcurrently

Copy link
Copy Markdown
MemberAuthor

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

@hugovk

Copy link
Copy Markdown
Member

Triage: is this backport still needed?

@ericsnowcurrently

Copy link
Copy Markdown
MemberAuthor

I'm going to say no. :)

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip newstestsTests in the Lib/test dir

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@ericsnowcurrently@bedevere-bot@hugovk@miss-islington