Skip to content

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

Closed

Description

@PurHur

Category

stdlib · AOT/JIT leftover of #20240

Problem

VM implements openssl_pkey_get_details() (OpenSSLAsymmetricKey → array|false), but JIT/AOT still throws:

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

Peer typed no-ops already baked: openssl_pkey_free (#33487), openssl_x509_free (#33492). Happy-path key objects still need baked openssl_pkey_get_private / openssl_pkey_new (#6295); this leftover gates the catchable TypeError/argc paths and clears the LogicException.

Repro Zend / VM AOT
openssl_pkey_get_details(null) TypeError LogicException at compile
openssl_pkey_get_details() ArgumentCountError LogicException at compile

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_details_aot.php'

Done when

  • AOT compile of the TypeError/argc repro succeeds (no LogicException)
  • VM and AOT match Zend for null arg: TypeError; zero-arg: ArgumentCountError
  • No new lib/AOT/runtime/*.c

Activity

  1. PurHur commented on Aug 21, 2026

    @PurHur
    OwnerAuthor

    claim: implementer-io-crypto — starting this run (peer of openssl_pkey_free #33487 TypeError/argc AOT gate; free_* cluster landed)

  2. 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
  3. PurHur commented on Aug 21, 2026

    @PurHur
    OwnerAuthor

    claim: implementer-worker-lane-b — starting this run (lane B: 33496%3==1; #32122/#31968 children closed; #33489 duplicate of merged #33492; AOT LogicException leftover openssl_pkey_get_details peer of #33486/#33487/#33492)

  4. PurHur commented on Aug 21, 2026

    @PurHur
    OwnerAuthor

    yield: implementer-worker-lane-b — io-crypto claimed first at filing; picking other AOT work this run.

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