[php-src] Issue #8739: String corruption on deployments with php-fpm 8.1.6
| From: | nono-gdv | Date: | Thu, 09 Jun 2022 14:33:35 +0000 |
| Subject: | [php-src] Issue #8739: String corruption on deployments with php-fpm 8.1.6 | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-241697@lists.php.net to get a copy of this message | ||
Issue: https://github.com/php/php-src/issues/8739
Author: nono-gdv
### Description
Hello,
We experience seemingly random in-memory corruption of code when deploying new versions of our PHP
app on php-fpm 8.1.6 on Linux. Here is a sample error message:
```
include(/space/www/api2019/data/releases/20220607140425/vendor/la�R�F): Failed to open stream:
No such file or directory
```
This example happens in [the class loader from
composer](https://github.com/composer/composer/blob/main/src/Composer/Autoload/ClassLoader.php). The
beginning of the file name is correct, the end is obviously not.
Another example (another release on another server):
```
Call to undefined function Symfony\Component\HttpFoundation\implode()
```
This bug is not easily reproducible, it happens in random-looking places in the code, sometimes but
not always, on some servers but not others (we have 10 app servers, the bug appears on one server at
a time, very rarely two, not on every release but more than half of them).
When it happens, it looks like there is only one corrupted chunk of data; depending on the affected
data, it may only cause a few real errors or basically prevent the code from working on the server
at all. It generates errors for a few minutes. Restarting the fpm daemon fixes it; reloading it or
running
opcache_reset() does not.
We will try to reproduce it on a staging server; at the moment I can only say it appears under load
and not under light testing.
It may or may not be related to #8731 (same app, same servers, seemingly fixed by downgrading to
8.0.19).
I know this report is not really helpful, but I'm at a loss how to make it more useful.
Downgrading to PHP 8.0.19 seems to fix the issue.
### PHP Version
PHP 8.1.6 (cli) (built: May 17 2022 16:49:19) (NTS)
### Operating System
Debian 10