View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0002097||Xdebug||Uncategorized||public||2022-06-08 17:13||2022-06-27 09:50|
|Platform||64-bit||OS||Windows 10 Pro||OS Version||19043.1706|
|Summary||0002097: Xdebug crashes with exit code -1073740940 (0xC0000374) on Windows 10 Pro & PHP 7.3.x when Develop Mode is active|
Since version 3.1.2 and onward Xdebug crashes with "Process finished with exit code -1073741819 (0xC0000005)" on Windows 10 Pro using PHP 7.3.33 (also 7.3.5) in Develop mode is active when running a PHPUnit test suite on some of our CakePHP 3.x based applications.
Going back to Xdebug 3.1.1 solved the issue.
We tested these variations:
zend_extension="php_xdebug-3.0.3-7.3-vc15-x86_64.dll" -> OK
zend_extension="php_xdebug-3.1.1-7.3-vc15-x86_64.dll" -> OK
zend_extension="php_xdebug-3.1.2-7.3-vc15-x86_64.dll" -> FAIL
zend_extension="php_xdebug-3.1.3-7.3-vc15-x86_64.dll" -> FAIL
zend_extension="php_xdebug-3.1.4-7.3-vc15-x86_64.dll" -> FAIL
zend_extension="php_xdebug-3.1.5-7.3-vc15-x86_64.dll" -> FAIL
|Steps To Reproduce|
Haven't found a way to reproduce this without our private code base.
I remember CakePHP Chronos, which we also use, used to have issues with Xdebug. But this was a few years ago.
|Tags||crash, develop, phpunit|
I have had a look at the differences between 3.1.1 and 3.1.2 in the source code, but nothing specific jumped out that could hint at an extra cause for a segfault. I'm afraid I am going to need some more information.
You might also want to check whether opcache is enabled, and whether removing that changes anything.
Sorry it took me some time to come back to this. I don't have the faintest what this could be, but I am making a reasonable guess that some sequence does make this happen. It does seem to happen when an exception is thrown, which fetches a backtrace :
But this crash does not occur in Xdebug at all, but rather just in PHP.
Often when crashes happen at seemingly random locations, I would run my scripts with Zend's Memory Manager disabled, as it sometimes hides real issues. You can do that by exporting the USE_ZEND_ALLOC=0 environment variable. I believe on Windows that is done with
|2022-06-08 17:13||ravage||New Issue|
|2022-06-08 17:13||ravage||Tag Attached: crash|
|2022-06-08 17:13||ravage||Tag Attached: develop|
|2022-06-08 17:13||ravage||Tag Attached: phpunit|
|2022-06-09 09:02||derick||Assigned To||=> derick|
|2022-06-09 09:02||derick||Status||new => feedback|
|2022-06-09 09:02||derick||Note Added: 0006329|
|2022-06-09 09:27||derick||Note Edited: 0006329|
|2022-06-09 13:30||ravage||Status||feedback => assigned|
|2022-06-27 09:50||derick||Status||assigned => feedback|
|2022-06-27 09:50||derick||Note Added: 0006335|
|2022-06-27 09:50||derick||Note View State: 0006335: private|
|2022-06-27 09:51||derick||Note View State: 0006335: public|