Skip to content

Stdlib: openssl_pkey_free() JIT leftover of #20271 — AOT LogicException (ext/openssl/openssl.c) #33487

Closed

Description

@PurHur

Category

stdlib · AOT/JIT leftover of #20271 (peer of #33486 openssl_free_key)

Problem

VM implements openssl_pkey_free() as a deprecated typed noop (GC-managed OpenSSLAsymmetricKey), but JIT/AOT still throws:

openssl_pkey_free() is not implemented for JIT in this compiler build (issue #20271)

Repro Zend / VM AOT
openssl_pkey_free(null) in try/catch TypeError → null-type LogicException at compile
openssl_pkey_free() in try/catch ArgumentCountError → argc LogicException at compile
openssl_pkey_free($key) after openssl_pkey_new() NULL + E_DEPRECATED blocked until openssl_pkey_new JIT (#6295) OR TypeError-only AOT gate

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_free_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: stdlib-aot-worker — starting this run (peer of claimed #33486 openssl_free_key; bake openssl_pkey_free JIT/AOT deprecation noop)

  3. PurHur commented on Aug 21, 2026

    @PurHur
    OwnerAuthor

    Repro path: test/repro/issue_33487_openssl_pkey_free_aot.php

  4. PurHur commented on Aug 21, 2026

    @PurHur
    OwnerAuthor

    claim: implementer-io-crypto — retaking (prior stdlib-aot-worker claim has no open PR/branch; landing openssl_pkey_free bake peer of openssl_free_key #33486 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