Steps to reproduce:
- In PhpStorm, set a break point in a phpunit test like TitleTest.php. Doesn't matter where, setUp() will do.
- Execute the test case in a Docker container (per MediaWiki's docker-compose file), with Xdebug enabled. You can use PhpStorm integration run it from the command line, it doesn't matter.
- Observe the php process crashing with a segmentation fault.
Observations:
- Any test class based on MediaWikiUnitTestCase or MediaWikiIntegrationTestCase will trigger the error.
- Test classes based directly on phpunit's TestCase do not, even when adding the MediaWikiCoversValidator and MediaWikiTestCaseTrait traits.
- Setting a breakpoint in the code executed from the test case works most of the time.
- Attempts to examine the stack frame for a method in the test class will cause the segmentation fault.
- Disabling the __toString object view in the debugger settings does not help.
Environment:
OS | Linux 5.15.90.1-microsoft-standard-WSL2 (WSL-Version: 1.2.5.0) |
PhpStorm | 2022.2.3, Build #PS-222.4345.15 |
Docker Desktop | v4.17.0 |
Image | docker-registry.wikimedia.org/dev/buster-php81-fpm 1.0.0 (549543a10e3d) |
PHP | 8.1.13 (cli) (built: Nov 26 2022 14:29:42) (NTS) |
Zend Engine | v4.1.13 |
Zend OPcache | v8.1.13 |
Xdebug | v3.0.4 |
PHPUnit | 9.5.28 |
Core dump at /home/daniel/core-xdebug-T338208 on mwdebug1001.eqiad.wmnet