Skip to content

Stdlib: openssl_x509_read() JIT leftover of #7268 — AOT LogicException (ext/openssl/openssl.c) #33497

Closed

Description

@PurHur

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 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

./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

  1. added
    bugSomething isn't working
    phase-4:stdlibPhase 4 – stdlib for web apps
    implementation-readySpec complete: repro, php-src ref, done-when — safe for workers to claim
    on Aug 21, 2026
  2. PurHur commented on Aug 21, 2026

    @PurHur
    OwnerAuthor

    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)

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

    area:compilerCompiler / CFG / JITbugSomething isn't workingimplementation-readySpec complete: repro, php-src ref, done-when — safe for workers to claimphase-4:stdlibPhase 4 – stdlib for web apps

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions