MantisBT

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0001213XdebugUsage problems (Wrong Results)public2015-11-27 09:582018-01-29 21:52
Reporterderick 
Assigned Toderick 
PrioritynormalSeverityminorReproducibilityalways
StatusresolvedResolutionno change required 
PlatformOSOS Version
Product Version2.4.0rc1 
Target VersionFixed in Version 
Summary0001213: Support opcache
DescriptionThere are still some issues with opcache, and test failures. Both with, and without filecaching enabled. Including an odd segfault.

The following test needs to be added too, to test for the JMPZNZ instruction:

03:51 <laruence> Derick, ping, it is used, at least it will used in opcache
                 optimizer, it will optimize two jmp to jmpznz is possible,
                 like JMPZ(V, L1), JMP(L2) to JMPZNZ(L1, L2);
03:51 <laruence> take switch ($a) {
03:51 <laruence> case "-";
03:51 <laruence> break;
03:51 <laruence> }
TagsNo tags attached.
Operating System
PHP Version7.0.0rc7
Attached Files

- Relationships

-  Notes
(0003271)
derick (administrator)
2015-11-29 20:38

This patch is going to be needed:

{code}
diff --git a/xdebug_code_coverage.c b/xdebug_code_coverage.c
index 9b4c2f9..fe5d9ee 100644
--- a/xdebug_code_coverage.c
+++ b/xdebug_code_coverage.c
@@ -580,10 +580,11 @@ static int xdebug_find_jump(zend_op_array *opa, unsigned int position, long *jmp
        } else if (opcode.opcode == ZEND_JMPZNZ) {
 #if PHP_VERSION_ID >= 70000
                *jmp1 = XDEBUG_ZNODE_JMP_LINE(opcode.op2, position, base_address) * sizeof(zend_op);
+ *jmp2 = position + (opcode.extended_value / sizeof(zend_op));
 #else
                *jmp1 = XDEBUG_ZNODE_ELEM(opcode.op2, opline_num);
-#endif
                *jmp2 = opcode.extended_value;
+#endif
                return 1;
 #if PHP_VERSION_ID < 70000
        } else if (opcode.opcode == ZEND_BRK || opcode.opcode == ZEND_CONT) {
{code}

- Issue History
Date Modified Username Field Change
2015-11-27 09:58 derick New Issue
2015-11-27 09:58 derick Status new => assigned
2015-11-27 09:58 derick Assigned To => derick
2015-11-29 20:38 derick Note Added: 0003271
2016-07-31 13:36 derick Category Usage problems => Usage problems (Crashes)
2016-07-31 13:38 derick Category Usage problems (Crashes) => Usage problems (Wrong Results)
2016-08-01 21:29 derick Target Version 2.4.1 => 2.4.2
2016-11-12 16:54 derick Target Version 2.4.2 => 2.5.0RC2
2016-11-12 16:55 derick Target Version 2.5.0RC2 => 2.5.0dev
2016-12-04 17:10 derick Status assigned => confirmed
2016-12-04 18:34 derick Target Version 2.5.0dev =>
2018-01-29 21:52 derick Status confirmed => resolved
2018-01-29 21:52 derick Resolution open => no change required


Copyright © 2000 - 2018 MantisBT Team
Powered by Mantis Bugtracker