You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Scope landed this run: AOT date_default_timezone_get() no longer SIGSEGVs; date_default_timezone_set('Europe/Berlin') returns true and get returns Europe/Berlin (invalid id → false, timezone unchanged).
Root cause: (1) DefaultTimezoneRuntime raw NestedJIT call/writeString/zext without JitNestedHelperCoerce (#20664/#8555). (2) NestedJIT read of VmDate::$defaultTimezone / unbound VmDateTimeNative stubs under thin AOT — helper now owns the default-TZ static + zoneinfo is_file + durable copyTimezoneId.
Follow-up (not this PR): free date('T'/'e'/…) after runtime date_default_timezone_set still uses the #33943 compile-time UTC bake — needs a runtime token helper (FormatDatetime still SIGSEGVs for T).
./script/phpunit.sh --filter 'Issue33950DefaultTimezoneAotTest|DefaultTimezoneRuntimeShrinkTest' → OK (6 tests, 44 assertions)
AOT repro stdout matches Zend: get UTC → set Berlin true → get Europe/Berlin → invalid false → get unchanged
#33943 date tz-token repro still matches under UTC default
Follow-up:date('T') after runtime date_default_timezone_set still uses compile-time UTC bake (#33943); needs a runtime token helper (FormatDatetime still SIGSEGVs for T).
Activity
PurHur commentedon Aug 22, 2026
claim: worker-lane-B — starting this run (lane overflow: #32122/#31968/#33943/#33946 closed; AOT date_default_timezone_get SIGSEGV + set always false). aot-smoke 8/8.
PurHur commentedon Aug 22, 2026
claim: worker-lane-A — starting this run (AOT date_default_timezone_get SIGSEGV / set always false; lane A %3==0).
PurHur commentedon Aug 22, 2026
claim: worker-lane-C — starting this run (lane C: 33950 % 3 == 2; prior A/B claims were overflow on our lane). aot-smoke 8/8; repro SIGSEGV confirmed on master @ 65aef52.
PurHur commentedon Aug 22, 2026
Scope landed this run: AOT
date_default_timezone_get()no longer SIGSEGVs;date_default_timezone_set('Europe/Berlin')returnstrueand get returnsEurope/Berlin(invalid id →false, timezone unchanged).Root cause: (1)
DefaultTimezoneRuntimeraw NestedJIT call/writeString/zextwithoutJitNestedHelperCoerce(#20664/#8555). (2) NestedJIT read ofVmDate::$defaultTimezone/ unboundVmDateTimeNativestubs under thin AOT — helper now owns the default-TZ static + zoneinfois_file+ durablecopyTimezoneId.Follow-up (not this PR): free
date('T'/'e'/…)after runtimedate_default_timezone_setstill uses the #33943 compile-time UTC bake — needs a runtime token helper (FormatDatetime still SIGSEGVs forT).AOT: date_default_timezone_get/set via NestedJIT coerce (#33950) (#33953
PurHur commentedon Aug 22, 2026
Merged #33953 (
8a0f6e95eb)Verification
./script/aot-smoke.sh→ 8/8./script/phpunit.sh --filter 'Issue33950DefaultTimezoneAotTest|DefaultTimezoneRuntimeShrinkTest'→ OK (6 tests, 44 assertions)UTC→ set Berlintrue→ getEurope/Berlin→ invalidfalse→ get unchanged#33943date tz-token repro still matches under UTC defaultFollow-up:
date('T')after runtimedate_default_timezone_setstill uses compile-time UTC bake (#33943); needs a runtime token helper (FormatDatetime still SIGSEGVs forT).AOT: date(T/e/O/P) after timezone_set follows runtime zone (#33956) (#…