Skip to content

soap: do not overwrite the parsed host on a protocol-relative redirect#29

Closed
jorgsowa wants to merge 3 commits into
masterfrom
ci/jit-hang-bisect-workflow
Closed

soap: do not overwrite the parsed host on a protocol-relative redirect#29
jorgsowa wants to merge 3 commits into
masterfrom
ci/jit-hang-bisect-workflow

Conversation

@jorgsowa

Copy link
Copy Markdown
Owner

No description provided.

iliaal and others added 3 commits June 24, 2026 13:16
When a redirect Location is a protocol-relative reference (//host/path),
php_url_parse() already fills new_url->host, but the scheme-less redirect
handling overwrote it with a copy of the request host without releasing
the parsed one. That leaks a zend_string per such redirect and pins the
redirect back to the original host instead of the one the server named.
Inherit host and port from the request URL only when new_url->host is
NULL, mirroring the scheme guard directly above.

Closes phpGH-22434
The nightly COMMUNITY_asan job hangs every run in the Symfony Console
OutputFormatter tests (test php#672, testInlineStyle) under tracing JIT,
exhausting GitHub's 6h ceiling. The hang is an x86-64 tracing-JIT
regression present in 8.4/8.5/8.6 but not 8.3, and does not reproduce
on ARM or under qemu emulation.

Add a manually-triggered bisect that runs on a native x86-64 runner,
building ZTS+JIT+ASAN (matching COMMUNITY_asan) and using a Console-suite
hang as the bisect signal, to pinpoint the introducing commit.
Run the bisect automatically when a PR is opened/reopened, using the
default good/bad/symfony bounds (inputs fall back to defaults since
pull_request runs carry no workflow_dispatch inputs).
@jorgsowa jorgsowa closed this Jun 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants