View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001329 | Xdebug | Uncategorized | public | 2016-07-21 19:25 | 2016-12-19 12:49 |
Reporter | tyson | Assigned To | derick | ||
Priority | normal | Severity | crash | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Platform | Linux | OS | Centos(/All?) | OS Version | 6 |
Product Version | 2.4.0 | ||||
Fixed in Version | 2.5.1 | ||||
Summary | 0001329: While printing out a stack with and function parameters, XDebug reads uninitialized zvals or free()d memory | ||||
Description | This happens when the only zend_extension is xdebug.so, and for php versions 7.0.8 and 7.0.9. Other extensions are disabled. (php < 7.0.8 was not tested) In the provided test case, the stack trace was printed because of a php notice. I've observed a similar error when an exception was being thrown (or rethrown?), will attempt to reproduce it if requested. I get errors such as segmentation faults, valgrind errors, and attempts to allocate strings which are too large. I managed to reproduce this in a dockerfile running centos 6.6, though I don't think it's OS specific. Removing the xdebug.collect_params config from the php.ini removed any valgrind errors. | ||||
Steps To Reproduce | The steps to reproduce are found in https://github.com/TysonAndre-ContinuousIntegration/xdebug_segfault , which was uploaded here. Php config optionsexport CFLAGS="-O3 -g" Xdebug config optionsexport CFLAGS="-O3 -g" php.ini[PHP] Test file: https://github.com/TysonAndre-ContinuousIntegration/xdebug_segfault/blob/master/tests/test5.php | ||||
Additional Information | See https://github.com/TysonAndre-ContinuousIntegration/xdebug_segfault/blob/master/run_testcase_inner_valgrind.sh . The first valgrind error: PHP Notice: Undefined property: client::$_url in /tests/test5.php on line 75 | ||||
Tags | No tags attached. | ||||
Attached Files | |||||
Operating System | Centos 6.5/6.6/(or all?) | ||||
PHP Version | 7.0.5-7.0.9 | ||||
|
I also see this error when xdebug.collect_params = 1 (along with other errors) ==1== |
|
I thought it might have been related to call_user_func*, but it happened even without the dynamic method name. A smaller version of the test case is test6.php |
|
I also tried test6.php with the latest commit on github, and still got errors ( https://github.com/xdebug/xdebug/commit/bcb45acb6c828ccf9e217a1f58db92658c6650cb ) |
|
I'm looking at this, and also seeing the crash. Albeit in a different way. If you could work on continuing making the test case smaller, that'd be a great help. |
|
Contents of test8.php after minimization between the quotes:
php.ini is the same as my other examples:
Valgrind output for me: https://github.com/TysonAndre-ContinuousIntegration/xdebug_segfault/blob/master/valgrind_test8-for-xdebug-bcb45ac.txt |
|
Also, did you want the ./configure script options to be "smaller" (And if so, what you call a standard config / compiler flags)? |
|
No, I'm fine. Thanks. The test cases I have now are good enough. |
|
I have an inkling that https://github.com/xdebug/xdebug/commit/90efb3aada7b0423a86462d10d6758ca3c384e75 might have fixed this - would you mind trying with the latest Git version? |
|
It seems like it's fixed. (Will reopen this if the code the examples were derived from encounters different bugs) I ran all 4 tests cases in https://github.com/TysonAndre-ContinuousIntegration/xdebug_segfault again with php 7.0.14. The crashes are fixed in the current xdebug master branch (bb535ed, which includes 90efb3aa) The issue description could be amended to include 7.0.5-7.0.14 and xdebug 2.4.0-2.5.0 (I was able to reproduce the crashes/allocator error with xdebug 2.5.0 and php 7.0.14. There were no errors with xdebug master(2.6-dev?) and php 7.0.14) |
|
Okay, let me close this as fixed then. Please create a new issue if you find further crashes etc. |
Date Modified | Username | Field | Change |
---|---|---|---|
2016-07-21 19:25 | tyson | New Issue | |
2016-07-21 19:25 | tyson | File Added: xdebug_segfault-master.zip | |
2016-07-21 20:04 | tyson | Note Added: 0003650 | |
2016-07-21 20:25 | tyson | Note Added: 0003651 | |
2016-07-21 20:25 | tyson | File Added: test6.php | |
2016-07-21 20:45 | tyson | Note Added: 0003652 | |
2016-07-21 20:49 | derick | Note Added: 0003653 | |
2016-07-21 21:09 | tyson | Note Added: 0003654 | |
2016-07-21 21:09 | tyson | Note Edited: 0003654 | |
2016-07-21 21:10 | tyson | File Added: test8.php | |
2016-07-21 21:13 | tyson | Note Added: 0003655 | |
2016-07-21 21:24 | derick | Note Added: 0003656 | |
2016-07-31 12:36 | derick | Category | Usage problems => Usage problems (Crashes) |
2016-07-31 12:38 | derick | Category | Usage problems (Crashes) => Usage problems (Wrong Results) |
2016-12-04 16:06 | derick | Assigned To | => derick |
2016-12-04 16:06 | derick | Status | new => acknowledged |
2016-12-04 17:40 | derick | Status | acknowledged => confirmed |
2016-12-17 17:12 | derick | Severity | major => crash |
2016-12-17 19:21 | derick | Note Added: 0004079 | |
2016-12-17 19:21 | derick | Status | confirmed => feedback |
2016-12-18 02:36 | tyson | Note Added: 0004080 | |
2016-12-18 02:36 | tyson | Status | feedback => assigned |
2016-12-18 02:38 | tyson | Note Edited: 0004080 | |
2016-12-18 02:39 | tyson | Note Edited: 0004080 | |
2016-12-19 12:49 | derick | Note Added: 0004091 | |
2016-12-19 12:49 | derick | Status | assigned => closed |
2016-12-19 12:49 | derick | Resolution | open => fixed |
2016-12-19 12:49 | derick | Fixed in Version | => 2.5.1 |
2020-03-12 16:35 | derick | Category | Usage problems (Wrong Results) => Variable Display |
2020-03-12 16:38 | derick | Category | Variable Display => Uncategorized |