Skip to content

WIP: user-script AOT multipart refresh (#15624)#15679

Open
PurHur wants to merge 2 commits into
masterfrom
agent/issue-15624-aot-multipart-files
Open

WIP: user-script AOT multipart refresh (#15624)#15679
PurHur wants to merge 2 commits into
masterfrom
agent/issue-15624-aot-multipart-files

Conversation

@PurHur

@PurHur PurHur commented Jul 3, 2026

Copy link
Copy Markdown
Owner

Summary

Verification (Docker, not green yet)

./script/docker-exec.sh -- bash -lc 'source script/php-env.sh && cd /compiler && rm -rf examples/006-FileUploadWeb/.phpc .php-compiler-cache && ./phpc build --project examples/006-FileUploadWeb && FILE_UPLOAD_WEB_AOT_SMOKE_GATE=1 vendor/bin/phpunit --filter FileUploadWebAotExecuteTest'

Result: FAIL — binary runs exit 0 but isset($_FILES['doc']) false / empty upload state.

Unit (pass):

vendor/bin/phpunit test/unit/SuperglobalRefreshRuntimeShrinkTest.php

Blocker / next

Bridge + helper symbols link (nm … | grep multipart_populate) but runtime $_FILES remains empty. Likely needs runtime trace of sg_FILES after __compiler_multipart_populate_post_body (native ht writes from nested JIT helper) — may share root cause with RuntimeSuperglobalRefreshTest::testTwoRequestsDifferentQueryString ($_GET empty on user-script AOT).

Closes #15624 when FileUploadWeb AOT execute gate is green.

Made with Cursor

PurHur and others added 2 commits July 3, 2026 22:28
…15624).

Add MultipartNativeJitHelper and MultipartRuntime bridge for multipart/form-data
populate into native sg_* tables; disable stale MCJIT cache during user-script
AOT link so refresh LLVM matches current SuperglobalRefreshUserScriptLlvm.

Runtime populate still under investigation — FileUploadWebAotExecuteTest red.

Co-authored-by: Cursor <cursoragent@cursor.com>
…ipart prerequisites.

Co-authored-by: Cursor <cursoragent@cursor.com>
@PurHur

PurHur commented Jul 4, 2026

Copy link
Copy Markdown
Owner Author

Maintainer triage 2026-07-04: PR body correctly marks FileUploadWeb AOT gate red — not merge-ready. Blocker note (empty $_FILES after native multipart populate) still applies.

@PurHur

PurHur commented Jul 4, 2026

Copy link
Copy Markdown
Owner Author

Maintainer triage 2026-07-04: repro still expected-red per PR body — isset($_FILES['doc']) false after AOT build. Hold merge until FileUploadWebAotExecuteTest green. Bootstrap link/helloworld green on master.

@PurHur

PurHur commented Jul 4, 2026

Copy link
Copy Markdown
Owner Author

Maintainer triage 2026-07-04: PR body confirms FileUploadWeb AOT gate still red (isset($_FILES['doc']) false). Holding merge until repro green. Bootstrap link + helloworld gates green on master.

@PurHur

PurHur commented Jul 4, 2026

Copy link
Copy Markdown
Owner Author

Maintainer triage 2026-07-04: bootstrap link+helloworld green on master. Re-ran issue repro scope — still WIP per PR body (FileUploadWebAotExecuteTest red). Hold merge until isset($_FILES['doc']) gate is green; likely shares user-script AOT superglobal refresh root cause.

@PurHur

PurHur commented Jul 4, 2026

Copy link
Copy Markdown
Owner Author

Maintainer review (2026-07-04): Not merge-ready — PR body confirms FileUploadWebAotExecuteTest still red (isset($_FILES['doc']) false). Hold until AOT execute gate green; likely shares superglobal refresh root cause noted in PR.

@PurHur

PurHur commented Jul 4, 2026

Copy link
Copy Markdown
Owner Author

Maintainer triage (2026-07-04): Not merge-ready — PR body documents FileUploadWeb AOT gate still red (isset($_FILES['doc']) false). Bootstrap gates on master are green (bootstrap-selfhost-link, bootstrap-selfhost-helloworld). Keep WIP until FILE_UPLOAD_WEB_AOT_SMOKE_GATE=1 PHPUnit passes in Docker.

Related open FCC/superglobal work: #15624.

@PurHur

PurHur commented Jul 4, 2026

Copy link
Copy Markdown
Owner Author

Maintainer triage (2026-07-04): Confirmed WIP — PR body documents FileUploadWeb AOT gate still red (isset(\$_FILES['doc']) false). Not merge-ready; keep open until FileUploadWebAotExecuteTest passes in Docker.

Bootstrap link + helloworld green on master this run.

@PurHur

PurHur commented Jul 4, 2026

Copy link
Copy Markdown
Owner Author

Maintainer triage 2026-07-04: PR still WIP per body (AOT execute gate red — isset on FILES doc is false). Holding merge until FileUploadWeb repro is green locally.

@PurHur

PurHur commented Jul 5, 2026

Copy link
Copy Markdown
Owner Author

Maintainer triage 2026-07-05: keeping open as WIP — PR body confirms FileUploadWeb AOT execute gate still red (isset(\$_FILES['doc']) false). Do not merge until FILE_UPLOAD_WEB_AOT_SMOKE_GATE=1 vendor/bin/phpunit --filter FileUploadWebAotExecuteTest is green in Docker.

Bootstrap gates on master this run: bootstrap-selfhost-link + bootstrap-selfhost-helloworld green.

@PurHur

PurHur commented Jul 5, 2026

Copy link
Copy Markdown
Owner Author

Maintainer triage 2026-07-05: still WIP — PR body notes FileUploadWebAotExecuteTest red (isset($_FILES['doc']) false). Not merge-ready until repro gate green. Bootstrap link/helloworld green on master.

@PurHur

PurHur commented Jul 5, 2026

Copy link
Copy Markdown
Owner Author

Maintainer triage 2026-07-05: Still WIP per PR body — FileUploadWeb AOT gate red (isset($_FILES['doc']) false). Not merge-ready. Master bootstrap link/helloworld green.

@PurHur

PurHur commented Jul 5, 2026

Copy link
Copy Markdown
Owner Author

Maintainer triage 2026-07-05: left open — PR body documents FileUploadWeb AOT gate still red (isset($_FILES['doc']) false). Re-run repro in Docker before merge.

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.

Regression: 006-FileUploadWeb AOT execute — multipart POST no longer populates $_FILES, binary renders empty state (lib/Web/MultipartParser.php)

1 participant