Skip to content

Fix race between the two stream_server_reneg_limit tests - #24797

Open
Truta446 wants to merge 1 commit into
php:masterfrom
Truta446:openssl-reneg-limit-tmp
Open

Truta446 wants to merge 1 commit into
php:masterfrom
Truta446:openssl-reneg-limit-tmp

Conversation

@Truta446

Copy link
Copy Markdown
Contributor

stream_server_reneg_limit_trampoline.phpt (added in 6773993) reuses the temporary certificate file of stream_server_reneg_limit.phpt. Since run-tests runs tests in parallel, one test can overwrite or delete the other's certificate while it is in use, so stream_socket_accept() fails with "Unable to set local cert chain file .../stream_server_reneg_limit.pem.tmp". This is the intermittent failure of both tests in the nightly runs (e.g. master LINUX_X64_RELEASE_ZTS and LINUX_X64_DEBUG_ZTS on 2026-10-27).

This gives the trampoline test its own file.

Running both tests together with -j2 20 times on master: before, 6 clean runs, 13 that only passed on the automatic retry, and 1 failure; after, 20 clean runs. ext/openssl/tests passes (264 passed, 0 failed).

cc @Girgias

stream_server_reneg_limit_trampoline.phpt reused the temporary certificate
file of stream_server_reneg_limit.phpt. When run-tests runs both at the same
time, one test can overwrite or delete the other's certificate, making
stream_socket_accept() fail with "Unable to set local cert chain file".
Give the trampoline test its own file.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant