View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001755 | Xdebug | Step Debugging | public | 2020-03-05 10:44 | 2020-10-14 15:02 |
Reporter | barel | Assigned To | derick | ||
Priority | normal | Severity | major | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Product Version | 2.9.2 | ||||
Target Version | 3.0dev | Fixed in Version | 3.0.0beta1 | ||
Summary | 0001755: Overload pcntl_fork() to prevent performance degradation by calling xdebug_get_pid often | ||||
Description | In version 2.7 a change was introduced to restart the debugger if the process id changed. This was added to fix issue 938 which stopped you from correctly debugging forked processes after using pnctl_fork() . The problem is that now we are calling xdebug_get_pid in a lot of places and this slows down the debugger a lot. It is not actually necessary to be calling xdebug_get_pid continually as we can just do that when the process is forked and restart the debugger at that point if needed | ||||
Steps To Reproduce | Use xdebug and start a debugging session connected to a client. Performance will be degraded even if you do not fork the process | ||||
Tags | performance | ||||
Operating System | |||||
PHP Version | 7.4.0-7.4.4 | ||||
|
There is a pull request at https://github.com/xdebug/xdebug/pull/556 |
|
Are you sure pcntl_fork() is the only case where the original issue crept up? I am not so sure, and I wouldn't want to break this functionality. |
|
I checked the documentation for the PCNTL PHP extension and other sources of PHP information and this was the only case that I could find where a child process was created. I saw that the initial issue was developed with the support of brad@rhift.com so maybe you could try to contact him to confirm his view on the issue |
|
This is now merged into Git's master branch. |
Date Modified | Username | Field | Change |
---|---|---|---|
2020-03-05 10:44 | barel | New Issue | |
2020-03-05 10:44 | barel | Tag Attached: performance | |
2020-03-05 13:13 | derick | Note Added: 0005270 | |
2020-03-06 12:09 | derick | Assigned To | => derick |
2020-03-06 12:09 | derick | Status | new => feedback |
2020-03-06 12:09 | derick | Note Added: 0005276 | |
2020-03-06 12:14 | barel | Note Added: 0005277 | |
2020-03-06 12:14 | barel | Status | feedback => assigned |
2020-03-06 12:46 | derick | Summary | Performance is degraded by calling xdebug_get_pid too often => Overload pcntl_fork() to prevent performance degradation by calling xdebug_get_pid often |
2020-03-06 12:54 | derick | Status | assigned => confirmed |
2020-03-06 12:54 | derick | Target Version | => 3.0dev |
2020-03-12 16:27 | derick | Relationship added | has duplicate 0001681 |
2020-03-12 16:33 | derick | Category | Remote Debugging => Step Debugging |
2020-03-28 15:18 | derick | Status | confirmed => closed |
2020-03-28 15:18 | derick | Resolution | open => fixed |
2020-03-28 15:18 | derick | Fixed in Version | => 3.0dev |
2020-03-28 15:18 | derick | Note Added: 0005358 | |
2020-10-14 15:02 | derick | Fixed in Version | 3.0dev => 3.0.0beta1 |