Skip to content

Self-host M5: vendor cold-boot native driver parseAndCompile null (php-cfg/php-types/php-llvm bundles) #3022

Description

@PurHur

Milestone

M5 (cold boot / vendor prelink) — parent #1492. Follow-up to #1416, #2849, closed #2865 (committed .o path).

Problem

With vendor/ moved aside, make north-star5-verify fails at step 5b (cold-boot vendor rebuild). The native invoker build/selfhost-native-compile-driver compiles each test/bootstrap-vendor-prelink/generated/*_bundle.php but Runtime::parseAndCompile returns null for all three packages:

FAIL ircmaxell/php-cfg: … helloworld_compile_smoke: parseAndCompile returned null (parser/CFG spine)
FAIL ircmaxell/php-types: … parseAndCompile returned null
FAIL ircmaxell/php-llvm: … parseAndCompile returned null
bootstrap-vendor-objects: 3 package(s) failed cold-boot rebuild

When vendor/ is present, north-star5 may still report 0/3 object_ok on tar-copy harness. The compiler gap is native emit of vendor bundles without Zend — not manifest markdown.

Scope

Path Work
lib/Runtime.php parseAndCompile / parser+CFG for vendor-scale bundles via compiled driver
lib/Compiler.php, lib/JIT.php First failing vendor unit (use PHP_COMPILER_JIT_PROGRESS_FILE + #2988)
script/bootstrap-vendor-objects.php, script/bootstrap-vendor-prelink-lib.php Cold-boot invoker selection (selfhost-native-compile-driver)
test/bootstrap-vendor-prelink/generated/ Bundle entrypoints

Not in scope: inventory doc regen (#2891); committed .o only (#2865) without fixing native rebuild.

Repro

docker info >/dev/null
./script/docker-exec.sh -- bash -lc 'make north-star5-verify'
# fails step 5b; or:
./script/docker-exec.sh -- bash -lc '
  mv vendor vendor.bak
  PHP_COMPILER_VENDOR_PRELINK=1 php script/bootstrap-vendor-objects.php --compile 2>&1 | tail -20
  mv vendor.bak vendor
'

Done when

  • make north-star5-verify step 5b exits 0 with vendor/ absent (native rebuild 3/3 object_ok), or
  • Documented committed-prelink-only M5 v1 with step 5b downgraded — only if product accepts no native vendor rebuild (prefer fixing compile path).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions