PHP crashes with a segmentation fault (segfault) when Blackfire is installed or while profiling an application
What is a segfault?
In computing, a segmentation fault (often shortened to segfault) or access violation is a fault, or failure condition, raised by hardware with memory protection, notifying an operating system (OS) the software has attempted to access a restricted area of memory (a memory access violation). See wikipedia.
In PHP, the result is that the process simply stopped and could not be recovered.
It is very rare that Blackfire would be the root cause of a segfault, but we encourage you to do the following.
Check for conflicting extensions
One common cause of PHP segmentation faults is when two extensions conflict.
Blackfire's Probe may conflict with other PHP extensions including Pinba
, Xdebug
, Suhosin
.
If you have any of these extensions listed installed, disable them completely. If your application runs correctly, you will have uncovered your conflict. You'll need to disable the conflicting extension in order to use Blackfire.
Send a reproducer to the Blackfire team
Other times, it can be more complicated to track down the cause of a segmentation fault. The Blackfire team needs a way to reproduce the exact conditions of your environment.
Please note we cannot guarantee a fix for your scenario, as it might involve third party code.
You will need to create a portable reproduction of your segmentation fault. The team needs to see your segmentation fault from a host they have full control over.
Please provide the team with a Vagrant box or a Docker configuration.