Skip to content

Regression: phpcredits(CREDITS_MODULES) lists cURL when extension unloaded (re-#16338, ext/standard/credits.c) #16758

Closed

Description

@PurHur

Category

stdlib · php-src-strict

Problem

phpcredits(CREDITS_MODULES) must only render Module Authors rows for extensions that are actually loaded (extension_loaded()), matching Zend. Regression after #16338 close: VM still emits the cURL row when extension_loaded('curl') is false in Docker CLI.

Repro Zend 8.2.31 VM (2026-07-06)
phpcredits(CREDITS_MODULES) with curl absent no cURL row; repro exits 1 cURL row present; repro prints ok len=1290

php-src reference

PHP implementation target

Repro

./script/docker-exec.sh -- bash -lc 'source script/php-env.sh && php bin/vm.php test/repro/maintainer_gap_phpcredits_module_authors_rows.php'
# Zend: FAIL: CREDITS_MODULES lists cURL but extension_loaded('curl') is false
# VM: ok len=1290 (wrong — should fail like Zend until curl loads)

Done when

  • No phantom cURL (or OpenSSL) module rows when extension unloaded
  • Loaded extensions still appear in CREDITS_MODULES output
  • Compliance guard; php-src-strict

Activity

  1. added
    bugSomething isn't working
    enhancementNew feature or request
    phase-4:stdlibPhase 4 – stdlib for web apps
    area:vmVirtual machine
    implementation-readySpec complete: repro, php-src ref, done-when — safe for workers to claim
    on Jul 6, 2026
  2. PurHur commented on Jul 6, 2026

    @PurHur
    OwnerAuthor

    claim: cursor-agent-lane-c — starting this run

  3. PurHur commented on Jul 6, 2026

    @PurHur
    OwnerAuthor

    claim released: repro green on master — extension_loaded('curl') false and CREDITS_MODULES omits cURL row (len=1370). maintainer_gap_phpcredits_module_authors_rows.php and phpcredits_modules_loaded_filter.phpt pass. Pivoting.

  4. PurHur commented on Jul 6, 2026

    @PurHur
    OwnerAuthor

    claim: cursor-agent-lane-a — starting this run

  5. PurHur commented on Jul 6, 2026

    @PurHur
    OwnerAuthor

    claim released: repro green on master — maintainer_gap_phpcredits_module_authors_rows.php prints ok len=1370; VM omits cURL when extension_loaded('curl') is false (Zend in Docker still lists phantom cURL row).

  6. PurHur commented on Jul 6, 2026

    @PurHur
    OwnerAuthor

    Cleanup note: this is a legitimate re-open of closed #16338 (regression after #16748 extension_loaded curl gate), not a duplicate — keep both histories linked via re-#16338 in title.

  7. PurHur commented on Jul 7, 2026

    @PurHur
    OwnerAuthor

    claim: cursor-agent-lane-c — starting this run

  8. PurHur commented on Jul 7, 2026

    @PurHur
    OwnerAuthor

    claim released: VM already omits unloaded extension rows per compliance phpcredits_modules*.phpt; issue table inverted vs master (Zend lists phantom cURL, VM matches project guards). Pivoting to bootstrap inventory sync (ladder step 4).

  9. PurHur commented on Jul 7, 2026

    @PurHur
    OwnerAuthor

    claim released: repro green on VM (2026-07-07).

    `phpcredits(CREDITS_MODULES)` no longer lists cURL when `extension_loaded('curl')` is false — VM matches desired php-src behavior.

    ```bash
    ./script/docker-exec.sh -- bash -lc 'source script/php-env.sh && php bin/vm.php test/repro/maintainer_gap_phpcredits_unloaded_extension_rows.php'

    skip: curl not loaded len=1370 (exit 0)

    ```

    (Host Zend 8.2.31 still lists cURL when unloaded — VM is correct.) Recommend close.

  10. PurHur commented on Jul 7, 2026

    @PurHur
    OwnerAuthor

    claim: cursor-agent-lane-a — starting this run

  11. PurHur commented on Jul 7, 2026

    @PurHur
    OwnerAuthor

    claim released: repro green on master — VM correctly omits cURL when extension_loaded('curl') is false; maintainer_gap_phpcredits_module_authors_rows.php prints ok len=1370. Zend Docker CLI still lists phantom cURL (Zend env issue, not VM regression).

  12. PurHur commented on Jul 7, 2026

    @PurHur
    OwnerAuthor

    claim: Worker lane A — starting this run

  13. PurHur commented on Jul 7, 2026

    @PurHur
    OwnerAuthor

    claim released: repro green on master — VM correctly omits cURL when extension_loaded('curl') is false (len=1370). Issue stale vs current VmCreditsData::creditsModuleAuthorsForLoadedExtensions + BuiltinIntrospectionPolicy.

  14. PurHur commented on Jul 10, 2026

    @PurHur
    OwnerAuthor

    Closed via hygiene wave30 (#17729): VM matches compliance guard phpcredits_modules_loaded_filter.phpt — CREDITS_MODULES omits cURL when extension_loaded('curl') is false (len=1370). Maintainer_gap repro removed; guard remains.

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:vmVirtual machinebugSomething isn't workingenhancementNew feature or requestimplementation-readySpec complete: repro, php-src ref, done-when — safe for workers to claimphase-4:stdlibPhase 4 – stdlib for web appsstdlib

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions