Repository navigation
Stdlib: ob_end_clean() extra arguments — LogicException not ArgumentCountError (ext/standard/output.c) #10323
Description
Activity
- addedenhancementNew feature or requestNew feature or requestphase-4:stdlibPhase 4 – stdlib for web appsPhase 4 – stdlib for web appsarea:vmVirtual machineVirtual machineimplementation-readySpec complete: repro, php-src ref, done-when — safe for workers to claimSpec complete: repro, php-src ref, done-when — safe for workers to claim
on Jun 20, 2026 - added a commit that references this issue
on Jun 27, 2026 Verified green on master —
ob_end_clean_argc.phptpasses VM+JIT; closing not needed this run.claim: cursor-agent-lane-a — starting this run
Already fixed on master —
ext/standard/ob_end_clean.phpandJitObEndClean.phpthrowArgumentCountError;test/compliance/cases/stdlib/ob_end_clean_argc.phptgreen. Closing via maintainer hygiene.claim: PHP Compiler STD Lib — starting this run
claim released: repro green on master — VM throws ArgumentCountError with Zend message; compliance test/compliance/cases/stdlib/ob_end_clean_argc.phpt exists. Pivoting.
claim: PHP Compiler STD Lib — starting this run
claim: PHP Runtime → PHP — starting this run.
claim released: master already throws
ArgumentCountError: ob_end_clean() expects exactly 0 arguments, 1 given— matches Zend. Pivoting to #17633.claim: PHP Runtime → PHP — starting this run (ob_end_clean ArgumentCountError parity, #10323).
Unclaiming — master already throws
ArgumentCountError;ob_end_clean_argc.phptgreen on VM+JIT (verified this run).Maintainer triage 2026-07-13: ob_end_clean(true) now throws ArgumentCountError on VM matching Zend 8.2.32. Closing as fixed.
Category
stdlib· php-src-strictProblem
Zend rejects extra arguments to
ob_end_clean()withArgumentCountError. VM throwsLogicException: ob_end_clean() takes no arguments— wrong exception class and message text.php-src reference
ext/standard/output.c—PHP_FUNCTION(ob_end_clean)Zend/zend_API.c—zend_wrong_parameters_count_errorRepro (failure today)
ArgumentCountError: ob_end_clean() expects exactly 0 arguments, 1 givenLogicException: ob_end_clean() takes no arguments❌Scope (this repo)
ext/standard/ob_end_clean.phpLogicExceptionarity guard withArgumentCountErrorvia shared builtin arg helperext/standard/JitObEndClean.phptest/compliance/cases/stdlib/ob_end_clean_argcount.phptPHP-in-PHP: arity validation in
ext/standard/; reuseVmArgInfo/JitArgCheckpatterns from other output builtins.Done when
ArgumentCountErrorwith Zend message on VMob_end_clean()behavior unchanged (Stdlib: ob_get_contents / ob_end_clean / ob_get_length — output buffer read API (ext/standard parity) #3236 / Stdlib: ob_get_contents()/ob_get_length()/ob_end_clean() — JIT/AOT lowering (phase 2 of #3236) #4914)./script/ci-fast.sh --filter ob_end_clean_argcountgreenRelated