|Anonymous | Login | Signup for a new account||2018-07-17 18:44 BST|
|My View | View Issues | Change Log | Roadmap|
|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0001526||Xdebug||Code Coverage||public||2018-02-14 08:19||2018-03-08 07:33|
|Target Version||2.6.1||Fixed in Version|
|Summary||0001526: Segfaults occur when generating code coverage with PHP-FPM in Docker on Travis|
|Description||Occasionally generating code coverage fails with a segfault 'core dumped' but only when running on Travis. |
|Steps To Reproduce||I have not not yet been able to isolate the issue.|
|Additional Information||I'm not sure if it's related yet but we also often experience 'core dumped' when running node-sass in Docker Alpine on Travis and debugging this led to:|
Which led to:
There seems to be a workaround:
I also noticed an interesting remark which explains why the problem (in our case) only occurs on Travis:
"It only occurs if the docker host itself has a hardened linux kernel (alpine in my case)."
Note that 'Thread stack size' is beyond my knowledge so in case I wrote anything that doesn't make sense I apologize for that in advance
|Tags||No tags attached.|
|Operating System||Alpine 3.4|
How often does it do this? One out of every 3 runs? One out of every 100?
Code coverage hardly runs with PHP-FPM, and usually, through PHP Code Coverage and the PHP CLI. Are you sure PHP-FPM is involved?
As you get a "core dumped", it would be interesting to see what is in the core file. For the MongoDB driver, we use the following to dump the output of core files to see why something would crash:
Perhaps you can try that to find some more information.
Regarding FPM vs CLI, we're using the FPM version of the offical Docker image (which also includes CLI) also we're generating code coverage with both unit tests in CLI and end to end tests via FPM.
However we found more reproducable case in a different project. Below the most simple version I could reduce it to:
public static function baz()
return new static();
function foo(Bar $argumentThatGetsReAssigned)
$argumentThatGetsReAssigned = Bar::baz();
This ran in PHP version:
PHP 7.0.27 (cli) (built: Jan 10 2018 03:57:49) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
with Zend OPcache v7.0.27, Copyright (c) 1999-2017, by Zend Technologies
with Xdebug v2.6.0, Copyright (c) 2002-2018, by Derick Rethans
with the following modules:
Unfortunately there's no debugging support in the container this code ran in so I can't provide a core file.
Please let me know if I can provide other info.
|I can reproduce the segfault from the last script, but I can't see why and how this happens yet!|
|Thanks for looking at it!, I'm curious if we ever find out why this happens :)|
|2018-02-14 08:19||lucasvanlierop||New Issue|
|2018-02-18 15:42||derick||Note Added: 0004595|
|2018-02-18 15:42||derick||Assigned To||=> derick|
|2018-02-18 15:42||derick||Status||new => feedback|
|2018-02-19 13:30||lucasvanlierop||Note Added: 0004596|
|2018-02-19 13:30||lucasvanlierop||Status||feedback => assigned|
|2018-03-03 13:13||derick||Note Added: 0004608|
|2018-03-03 13:13||derick||Status||assigned => acknowledged|
|2018-03-03 13:14||derick||Status||acknowledged => confirmed|
|2018-03-03 13:14||derick||Target Version||=> 2.6.1|
|2018-03-08 07:33||lucasvanlierop||Note Added: 0004612|
|Copyright © 2000 - 2018 MantisBT Team|