View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0002186 | Xdebug | Step Debugging | public | 2023-07-11 13:45 | 2023-07-14 09:14 |
| Reporter | rstark | Assigned To | |||
| Priority | normal | Severity | major | Reproducibility | always |
| Status | closed | Resolution | fixed | ||
| Platform | Linux | OS | RHEL | OS Version | 8 |
| Product Version | 3.2.1 | ||||
| Target Version | 3.2dev | Fixed in Version | 3.2.2 | ||
| Summary | 0002186: Segfault with trampoline functions and debugger activation | ||||
| Description | Segfault occurs with nested __call invocation with xdebug3 and PHP 8.1.21 (also tested under PHP 8.1.19 and 8.1.11) | ||||
| Steps To Reproduce | Run the following program | ||||
| Additional Information | The segfault occurs whether or not the class is anonymous. The segfault does not occur with USE_ZEND_ALLOC=0. The attached backtrace and valgrind / gdb traces are from an xdebug3 build of master at commit cb6882fd47c7591c7f4fb22567a7f2860919d086 It appears the code in debugger.c:121 is attempting to use memory (op_array) that has been freed (see attached gdb-free-trace.out) Thanks to my collegue Robert for creating the above test script from a more complex scenario. | ||||
| Tags | No tags attached. | ||||
| Operating System | |||||
| PHP Version | 8.1.10-8.1.19 | ||||
|
|
Your script fails with:
Can you attach the script, please? cheers, |
|
|
Never mind, I saw what was wrong. I can reproduce it and I have a fix, but still need to write a proper test. |
|
|
|
|
|
|