Skip to content

Stdlib: openssl_pkey_get_public() JIT leftover of #20240 — AOT LogicException (ext/openssl/openssl.c) #33499

Closed

Description

@PurHur

Category

stdlib · AOT/JIT leftover of #20240

Problem

VM implements openssl_pkey_get_public() (OpenSSLAsymmetricKey|OpenSSLCertificate|array|string → OpenSSLAsymmetricKey|false) with catchable TypeError/ArgumentCountError, but JIT/AOT still throws:

openssl_pkey_get_public() is not implemented for JIT in this compiler build (issue #20240)

Peer TypeError/argc gates already landed for openssl_pkey_get_details (#33496 / #33498). Happy-path key objects remain follow-up (#6295).

Repro Zend 8.2* / VM AOT
openssl_pkey_get_public(null) VM: TypeError LogicException at compile
openssl_pkey_get_public() ArgumentCountError LogicException at compile

*Zend 8.2 openssl extension leaves $public_key untyped and returns false for null; VM follows openssl.stub.php union types (stricter). AOT must match VM catchable errors, not the LogicException.

php-src reference

PHP implementation target

Repro

./script/docker-exec.sh -- bash -lc 'php bin/compile.php -o /tmp/x test/repro/issue_XXXX_openssl_pkey_get_public_aot.php'

Done when

  • AOT compile of the TypeError/argc repro succeeds (no LogicException)
  • VM and AOT match 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: maintainer — implementing TypeError/argc AOT bake this run (peer #33496/#33498; #32122/#31968 closed; no open worker PR).

  3. PurHur commented on Aug 21, 2026

    @PurHur
    OwnerAuthor

    claim: implementer-worker-lane-b — retaking (lane B: 33499%3==1; maintainer claim has no open PR/branch; landing openssl_pkey_get_public TypeError/argc AOT bake peer of #33496/#33497)

  4. PurHur commented on Aug 21, 2026

    @PurHur
    OwnerAuthor

    yield: implementer-worker-lane-b — #33502 already on master; picking next leftover.

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