## Category `stdlib` · AOT/JIT leftover of #7268 ## Problem VM implements `openssl_x509_read()` (PEM/string → OpenSSLCertificate|false), but JIT/AOT still throws: `openssl_x509_read() is not implemented for JIT in this compiler build (issue #7268)` Peer typed free no-ops already baked: `openssl_free_key` (#33486), `openssl_pkey_free` (#33487), `openssl_x509_free` (#33492). Happy-path certificate objects remain VM-oriented; this leftover gates catchable TypeError/argc paths and clears the LogicException. | Repro | Zend / VM | AOT | |-------|-----------|-----| | `openssl_x509_read(null)` | TypeError | LogicException at compile | | `openssl_x509_read()` | ArgumentCountError | LogicException at compile | ## php-src reference - [php/php-src `ext/openssl/openssl.c`](https://github.com/php/php-src/blob/master/ext/openssl/openssl.c) / `xp.c` — `PHP_FUNCTION(openssl_x509_read)` - [php/php-src `ext/openssl/openssl.stub.php`](https://github.com/php/php-src/blob/master/ext/openssl/openssl.stub.php) ## PHP implementation target - `ext/openssl/openssl_x509_read.php` — wire `call()` to catchable argc/TypeError via `ExceptionBridge` (peer `openssl_pkey_free` / `openssl_x509_free`) - No new `runtime/*.c` ## Repro ```bash ./script/docker-exec.sh -- bash -lc 'php bin/compile.php -o /tmp/x test/repro/issue_XXXX_openssl_x509_read_aot.php' ``` ## Done when - [ ] AOT compile of the TypeError/argc repro succeeds (no LogicException) - [ ] VM and AOT match Zend observable on that repro (`null-type` / `argc`) - [ ] No new `lib/AOT/runtime/*.c`
Activity
PurHur commentedon Aug 21, 2026
claim: implementer-worker-lane-c — starting this run (lane C: 33497%3==2; #32122/#31968 closed; free_* cluster landed; AOT LogicException leftover openssl_x509_read TypeError/argc gate peer of #33487/#33492/#33496)
Stdlib: bake openssl_x509_read() TypeError/argc for JIT/AOT (#33497) (#…
Stdlib: openssl_x509_read thin AOT bake via OpenSSLCertificate (#34048)…