View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0001753 | Xdebug | Uncategorized | public | 2020-03-02 18:24 | 2020-03-06 11:32 |
| Reporter | SvetlanaZem | Assigned To | |||
| Priority | normal | Severity | minor | Reproducibility | always |
| Status | closed | Resolution | fixed | ||
| Product Version | 2.9.1 | ||||
| Target Version | 2.9.3 | Fixed in Version | 2.9.3 | ||
| Summary | 0001753: Resolved breakpoints use information from wrong files | ||||
| Description | Xdebug behaviour depends on a number of empty lines in another file. That results into stopping on breakpoint on a correct line, next line or not stopping at all. The problem isn't reproducible on Xdebug 2.9.0. | ||||
| Steps To Reproduce | Download attached php files and place a breakpoint in PageIndex ln 10 $var = 1; Scenario#1: with this files as is Scenario#1: add a blank line in SkeletonPage before func() so that protected function func() is on line 11 Scenario#1: remove 2 blank lines from SkeletonPage before func() so that protected function func() is on line 9 | ||||
| Additional Information | Xdebug logs for each scenario and Xdebug 2.9.0 (working correctly) vs. Xdebug 2.9.1 are also attached. | ||||
| Tags | No tags attached. | ||||
| Operating System | |||||
| PHP Version | 7.3.5-7.3.9 | ||||
|
|
Is opcache and/or opcache optimisation turned on? |
|
|
No, I don't have opcache extension enabled |
|
|
There was indeed a bug, although it had nothing to do with "empty lines". The problem was that during inheritence resolving the inherited methods (with their line numbers) where people collated with the methods in the child class, even though these were of course from a different file. The check makes sure that only methods of the same file are being considered for where code lives. |