Skip to content

Language: nested-frame warnings cite inner opline not the call (#32040) - #32067

Closed
PurHur wants to merge 1 commit into
masterfrom
agent/issue-32040-inner-warning-line
Closed

PurHur wants to merge 1 commit into
masterfrom
agent/issue-32040-inner-warning-line

Conversation

@PurHur

@PurHur PurHur commented Aug 18, 2026

Copy link
Copy Markdown
Owner

Summary

php-src: Zend/zend_execute.c, Zend/zend_errors.c, Zend/zend_operators.c mod_function.

PHP implementation: lib/VM/ErrorReporter.php, lib/Compiler.php, lib/JIT.php, lib/JIT/Helper.php, ext/standard/JitIntdiv.php.

Closes #32040

Test plan

  • ./script/docker-exec.sh -- bash -lc 'php bin/vm.php test/repro/maintainer_gap_undef_var_function_line.php' — Warning on line 6 (Zend; not call line 8)
  • ./script/docker-exec.sh -- bash -lc 'php bin/vm.php test/repro/maintainer_gap_undef_var_method_line.php' — Warning on line 8 (not call line 11)
  • ./script/docker-exec.sh -- bash -lc 'php bin/vm.php test/repro/maintainer_gap_mod_float_closure_line.php' — Deprecated on line 5 (not $fn() line 7)
  • ./script/phpunit.sh --filter 'UndefinedVariableWarningLineTest|NestedFrameWarningLine32040|ErrorControlOperatorTest' — OK (15 tests)

Made with Cursor

Zend attributes E_WARNING/E_DEPRECATED to EG(current_execute_data)->opline.
ErrorReporter walked parent callSiteLine first, so diagnostics inside
functions/methods/closures cited the DO_FCALL. Prefer this frame's opcode
line (FatalSite), keep echo/print startLine on the opcode, and bake that
site into JIT undef-var / float→int helpers.

Co-authored-by: Cursor <cursoragent@cursor.com>
@PurHur

PurHur commented Aug 18, 2026

Copy link
Copy Markdown
Owner Author

Duplicate of #32066 (already merged, Closes #32040). Lane C overflow-claimed ~11m after this run's claim and landed the ErrorReporter opline fix first.

This branch also had extra JIT/Compiler plumbing (echo sourceLocation, echo CV undef-var guard, float % precision-loss at callSiteLine) that is not required now that #32040 is closed. Not merging as a drive-by.

@PurHur PurHur closed this Aug 18, 2026
@PurHur
PurHur deleted the agent/issue-32040-inner-warning-line branch August 26, 2026 13:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Language: warnings inside functions/methods/closures cite call site — Zend inner opline (Zend/zend_execute.c)

1 participant