Skip to content

Release v1.1.0: fix examples 005-SessionsWeb AOT smoke (GET flash missing; PHPSESSID=/index.php; re-#23848) #26411

Description

@PurHur

Category

Regression: · AOT session / CGI · release blocker · Pillar 2 (Ship)

Problem

./script/release-readiness.sh --full --json fails on examples-aot-smoke for 005-SessionsWeb. Build links; the two-request flash ladder fails at GET flash (Flash: Saved missing). Distinct from prior #23427 (heap abort) and #23848 (static-call link guard).

Observed on master @ 83260f552 during 2026-08-01 release-manager --full probe. Quick readiness stays 7/7 green; examples-web-smoke is OK — AOT execute path only.

Repro table (exact smoke CGI env)

Step Result (2026-08-01)
phpc build --project examples/005-SessionsWeb ✅ links
GET empty ✅ body has No flash message yet
Set-Cookie 🔴 PHPSESSID=/index.php (path leaked into sid)
session file 🔴 empty sess_indexphp under PHP_COMPILER_SESSION_DIR
POST message=Saved 🔴 empty stdout (exit 0)
GET flash 🔴 still No flash message yet — missing Flash: Saved
examples-aot-smoke: 005-SessionsWeb: GET flash failed

Prior art

Repro

./script/docker-exec.sh -- bash -lc 'EXAMPLES_AOT_SMOKE_ONLY=005 ./script/examples-aot-smoke.sh'
# or full gate:
./script/docker-exec.sh -- bash -lc './script/release-readiness.sh --full --json'

Exact CGI (after phpc build --project examples/005-SessionsWeb):

PHP_COMPILER_SESSION_DIR=$tmpdir REQUEST_METHOD=GET SCRIPT_NAME=/example.php REQUEST_URI=/example.php \
  ./examples/005-SessionsWeb/.phpc/bin/app
# observe: Set-Cookie: PHPSESSID=/index.php

Done when

  • Session cookie is a real PHPSESSID (not a path like /index.php)
  • POST then GET flash prints Flash: Saved
  • EXAMPLES_AOT_SMOKE_ONLY=005 ./script/examples-aot-smoke.sh exits 0
  • ./script/release-readiness.sh --full --json → examples-aot-smoke ok (absent unrelated failures)
  • Root cause is real lowering/session fix (not smoke-script shortcut)

Tracker

Metadata

Metadata

Assignees

No one assigned

    Labels

    IMPORTANTCritical patharea:webWeb / CGI / superglobalsbugSomething isn't workingimplementation-readySpec complete: repro, php-src ref, done-when — safe for workers to claimphase-5:reference-appPhase 5 – reference web applicationreleaseUser-facing release trackingrelease-blockerBlocks tagged user release

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions