Category
stdlib · php-src-strict · blocks #1974 deploy smoke
Problem
After #21870, examples/005-SessionsWeb links but AOT execute aborts (exit 134) inside nested-JIT SessionCreateIdJitHelper::randomIdString. Binary strings show return-type errors attributing phpcompiler\ext\standard\vmsession where a string is required — nested static VmSession::createId() is mis-lowered.
| Repro |
Expected |
AOT (post-#21870) |
session_start(); echo "ok\n"; |
prints ok |
SIGABRT in randomIdString |
test005SessionsWebAotLink |
green |
green |
SessionsWebAotExecuteTest |
green |
fail exit 134 |
php-src reference
PHP implementation target
ext/standard/SessionCreateIdJitHelper.php — avoid nested VmSession::createId(); use random_bytes + local bin_to_readable (or fix NestedJIT static call return)
lib/JIT/Builtin/SessionCreateIdRuntime.php — bridge remains
Repro
./script/docker-exec.sh -- bash -lc 'source script/php-env.sh
printf "%s\n" "<?php" "session_start();" "echo \"ok\\n\";" > /tmp/ss.php
php bin/compile.php -o /tmp/ss.bin /tmp/ss.php
PHP_COMPILER_SESSION_DIR=$(mktemp -d) /tmp/ss.bin; echo exit:$?
'
Done when
Category
stdlib· php-src-strict · blocks #1974 deploy smokeProblem
After #21870,
examples/005-SessionsWeblinks but AOT execute aborts (exit 134) inside nested-JITSessionCreateIdJitHelper::randomIdString. Binary strings show return-type errors attributingphpcompiler\ext\standard\vmsessionwhere astringis required — nested staticVmSession::createId()is mis-lowered.session_start(); echo "ok\n";okrandomIdStringtest005SessionsWebAotLinkSessionsWebAotExecuteTestphp-src reference
ext/session/session.c—php_session_create_id/bin_to_readablePHP implementation target
ext/standard/SessionCreateIdJitHelper.php— avoid nestedVmSession::createId(); userandom_bytes+ localbin_to_readable(or fix NestedJIT static call return)lib/JIT/Builtin/SessionCreateIdRuntime.php— bridge remainsRepro
Done when
session_start()prints and exits 0SessionsWebAotExecuteTestgreen