-
Notifications
You must be signed in to change notification settings - Fork 7.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Segmentation fault caused by updating to 8.1 #7982
Comments
Can you generate and post a backtrace of the crash? |
As soon as I had those logs recorded I reverted to 8.0 as we were losing so many requests. So I've lost the VMs that had the issue. I'll push an 8.1 VM to staging and see if I can get the error to occur without production traffic. |
After spending all of today researching, I am wondering if this could be OPCache related, do you know if 8.1 uses more OPCache memory space than 8.0? Looking at my settings with php-i, currently opcache.memory_consumption is only set to 128M I also utilize preloading. |
Hard to say. To start investigating down that path, you could disable opcache and see what happens. |
I have gotten the backtraces, there seems to be multiple different backtraces being generated by the segfaults, I have found three unique backtrace patterns, with the three line one consisting of 90% of the crashes. This is all new to me, I've never run into a segfault issue before, but for whatever reason the backtrace only has double question marks. So is this useful, or do I need to do something else to get further details for the backtrace to be useful? |
You're right that the question marks don't make it very useful. When you started gdb with the core dump, did you see messages about it trying to load symbols from files, some of which didn't exist? If so then that's probably what's getting in the way, so if you can, use gdb on the machine that generated the core dump (and thus has the files). |
Appears to be related to the pear protobuf package, which I have installed with pecl:
Version is 3.19.3 |
In that case I'd recommend reporting the bug against https://github.com/protocolbuffers/protobuf/issues directly, we cannot do much here. |
For anybody following along bug report has been issued here: protocolbuffers/protobuf#9446 |
Indeed, it does look to be pretty squarely an issue within the protobuf extension. |
Description
All PHP tests on local using Unit testing etc. function correctly.
However, once put into production our server started throwing thousands of the following segfault errors, and only returns null responses from our MySQL database connection, resulting in approximately 50% of our requests failing.
php8.1-fpm.log
is throwing thousands of these errors:WARNING: [pool www] child 2971 exited on signal 11 (SIGSEGV - core dumped) after 469.405694 seconds from start
Similarly nginx's error log is throwing thousands of:
"GET /forums/thread/5458 HTTP/2.0", upstream: "fastcgi://unix:/run/php/php8.1-fpm.sock:", host: "www.example.com", referrer: "https://www.example.com/machine/10"
Neither of these errors are occurring on PHP8.0. We had to downgrade for obvious reasons.
PHP Version
8.1.1
Operating System
Ubuntu 18.04
The text was updated successfully, but these errors were encountered: