|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2010-05-30 00:45 UTC] mat999 at gmail dot com
Description: ------------ All function calls fail. Other scripts run fine. Reproduce code: --------------- <? phpinfo(); ?> Expected result: ---------------- PHP INFO Actual result: -------------- Segmentation Fault. ==38934== Process terminating with default action of signal 11 (SIGSEGV) ==38934== Access not within mapped region at address 0x4D705C9610 ==38934== at 0xB56E31C: optimize_op_array (optimize.c:3828) ==38934== by 0xB56F915: optimizer_compile_file (optimize.c:4757) ==38934== by 0x5C2558: phar_compile_file (in /usr/bin/php5) ==38934== by 0x7461C9: zend_execute_scripts (in /usr/bin/php5) ==38934== by 0x6EF777: php_execute_script (in /usr/bin/php5) ==38934== by 0x7D991A: main (in /usr/bin/php5) PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Tue Oct 28 13:00:01 2025 UTC |
Last bug fixed, dont know if its the correct patch but it fixes the problem. new definition of the OPTIMIZE_TO_FOOTER struct flags!=NULL check can be removed, that was just a debug check ====== #define OPTIMIZE_TO_FOOTER \ if (flags!=NULL && flags & OPTIMIZE_TO_DEL_PREV) { \ SET_TO_NOP_EX(prev); \ } \ if (flags!=NULL && flags & OPTIMIZE_TO_DEL_OP) { \ if (op && op->opcode == ZEND_FETCH_DIM_R) { \ if (op) { \ zval_dtor(&__OP2_VAL(op)); \ SET_TO_NOP(op); \ } \ } else { \ if (op) { \ zval_dtor(&__OP1_VAL(op)); \ SET_TO_NOP(op); \ } \ if(cbl->jmp_2!=NULL){ \ CB_DEL_PRED(cbl->jmp_2, cbl); \ cbl->jmp_2 = NULL; \ } } \ }Found a test case for the bug above. <? if (version_compare('5.3.2','6.0.0-dev', '>=')) { echo '1'; } ?> ==17706== Invalid read of size 1 ==17706== at 0xB5622A1: mark_used_cb (optimize.c:568) ==17706== by 0xB5622FC: mark_used_cb (optimize.c:579) ==17706== by 0xB5622FC: mark_used_cb (optimize.c:579) ==17706== by 0xB56EBD2: optimize_op_array (optimize.c:4405) ==17706== by 0xB56F955: optimizer_compile_file (optimize.c:4780) ==17706== by 0x5C2558: phar_compile_file (in /usr/bin/php5) ==17706== by 0x7461C9: zend_execute_scripts (in /usr/bin/php5) ==17706== by 0x6EF777: php_execute_script (in /usr/bin/php5) ==17706== by 0x7D991A: main (in /usr/bin/php5) ==17706== Address 0xa65b2b70c is not stack'd, malloc'd or (recently) free'd ==17706== ==17706== Process terminating with default action of signal 11 (SIGSEGV) ==17706== Access not within mapped region at address 0xA65B2B70C ==17706== at 0xB5622A1: mark_used_cb (optimize.c:568) ==17706== by 0xB5622FC: mark_used_cb (optimize.c:579) ==17706== by 0xB5622FC: mark_used_cb (optimize.c:579) ==17706== by 0xB56EBD2: optimize_op_array (optimize.c:4405) ==17706== by 0xB56F955: optimizer_compile_file (optimize.c:4780) ==17706== by 0x5C2558: phar_compile_file (in /usr/bin/php5) ==17706== by 0x7461C9: zend_execute_scripts (in /usr/bin/php5) ==17706== by 0x6EF777: php_execute_script (in /usr/bin/php5) ==17706== by 0x7D991A: main (in /usr/bin/php5)