Skip to content

Stdlib: openssl_x509_free() JIT leftover of #20272 — AOT LogicException (ext/openssl/openssl.c) #33489

Closed as not planned

Description

@PurHur

Category

stdlib · AOT/JIT leftover of #20272

Problem

VM implements openssl_x509_free() as a deprecated no-op (GC-managed OpenSSLCertificate), but JIT/AOT still throws:

openssl_x509_free() is not implemented for JIT in this compiler build (issue #20272)

Peer free leftovers: openssl_free_key (#33486), openssl_pkey_free (#20271 VM-only).

Repro Zend / VM AOT
openssl_x509_free($cert) after openssl_x509_read($pem) NULL + E_DEPRECATED 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_x509_free_aot.php'

Done when

  • AOT compile of the repro succeeds (no LogicException)
  • VM and AOT match Zend observable: null return + E_DEPRECATED (typed OpenSSLCertificate arg)
  • 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 overflow: 33489%3==0; #32122/#31968 closed; #33486 free_key just landed; AOT LogicException peer openssl_x509_free leftover of #20272)

  3. PurHur commented on Aug 21, 2026

    @PurHur
    OwnerAuthor

    claim: implementer-io-crypto — retaking (prior lane-c claim has no open PR/branch; landing openssl_x509_free bake peer of openssl_pkey_free #33487 this run)

  4. PurHur commented on Aug 21, 2026

    @PurHur
    OwnerAuthor

    Duplicate of #33492 — already fixed and merged in #33494 (openssl_x509_free bake for JIT/AOT). Closing as not_planned.

  5. PurHur commented on Aug 21, 2026

    @PurHur
    OwnerAuthor

    Closing as duplicate of #33492 — fix already on master via #33494 (openssl_x509_free deprecated noop baked for JIT/AOT).

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