View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001386 | Xdebug | Code Coverage | public | 2017-01-08 16:49 | 2017-01-09 17:58 |
Reporter | lordelph | Assigned To | derick | ||
Priority | normal | Severity | major | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Product Version | 2.5.0 | ||||
Target Version | 2.5.1 | Fixed in Version | 2.5.1 | ||
Summary | 0001386: Overcoming coverage issues where executable code not shown as executed/executable | ||||
Description | This is in reference to work done in the php-code-coverage issue 0000488 https://github.com/sebastianbergmann/php-code-coverage/issues/488 In particular, JoepRoebroek appeared to isolate this as xdebug using a bitfield flag which Zend is now using for other purposes. See https://github.com/sebastianbergmann/php-code-coverage/issues/488#issuecomment-269617008 for this discovery. To follow up on this, I verified that the Zend ZEND_ACC_USE_GUARDS flag and the xdebug ZEND_XDEBUG_VISITED flag both use the same bit 0x1000000. This conflict is what appears to cause the anomalous results. My suggestion is simple to use a different bit - 0x10000000. I searched the php source for all references to ce_flags, and audited which flags of the bitfield were in use. I concluded that 0x10000000 could be used. It is the same as another Zend constant ZEND_ACC_HAS_TYPE_HINTS, but this only used in fn_flags and not ce_flags See my comment on the issue for more background https://github.com/sebastianbergmann/php-code-coverage/issues/488#issuecomment-271152897 | ||||
Steps To Reproduce | JoepRoebroek created a standalone method of reproducing the flaw here: https://github.com/sebastianbergmann/php-code-coverage/issues/488#issuecomment-269082179 | ||||
Tags | No tags attached. | ||||
Operating System | |||||
PHP Version | 7.0.10-7.0.14 | ||||
Date Modified | Username | Field | Change |
---|---|---|---|
2017-01-08 16:49 | lordelph | New Issue | |
2017-01-08 19:45 | derick | Assigned To | => derick |
2017-01-08 19:45 | derick | Status | new => assigned |
2017-01-08 19:45 | derick | Fixed in Version | => 2.5.1 |
2017-01-08 19:45 | derick | Target Version | => 2.5.1 |
2017-01-09 17:58 | derick | Note Added: 0004168 | |
2017-01-09 17:58 | derick | Status | assigned => closed |
2017-01-09 17:58 | derick | Resolution | open => fixed |