Bug #71135 [Com]: Random memory corruption with strings

From: Date: Tue, 16 Aug 2016 10:19:50 +0000
Subject: Bug #71135 [Com]: Random memory corruption with strings
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-203306@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=71135&edit=1

 ID:                 71135
 Comment by:         teohhanhui at gmail dot com
 Reported by:        iquito at gmx dot net
 Summary:            Random memory corruption with strings
 Status:             Closed
 Type:               Bug
 Package:            opcache
 Operating System:   Debian Jessie
 PHP Version:        7.0.0
 Assigned To:        laruence
 Block user comment: N
 Private report:     N

 New Comment:

We're still running into this problem in production on PHP 7.0.8

It happens every few days or so.

Examples of corruption:

Symfony -> Sylfony
Bundle -> Bumdle

(both cases happen to FQCN stored in variables)


Previous Comments:
------------------------------------------------------------------------
[2016-03-09 15:11:33] iquito at gmx dot net

I have also been running 7.0.4 in production for 48 hours with a lot of opcache_reset's and
opcache_invalidate's, and there do not seem to be any issues anymore - everything seems to be
working great. Therefore I am closing this issue.

------------------------------------------------------------------------
[2016-03-05 12:06:31] vojtech dot kurka at gmail dot com

We have 7.0.4 in production for 48 hours and it is running without any problems with json_encode() -
seems fixed for us.

Thank you, Dmitri!

------------------------------------------------------------------------
[2016-02-24 21:29:56] vojtech dot kurka at gmail dot com

Dmitry, are all these fixes included in 7.0.4? Thank you

------------------------------------------------------------------------
[2016-02-24 21:03:36] dmitry@php.net

The problem was caused by incorrect synchronization of processes during opcache reload. Some
processes might crash or might not crash because of race-conditions. The commit mentioned above and
a couple of following fixes, should solve the problem.

------------------------------------------------------------------------
[2016-02-22 22:36:15] iquito at gmx dot net

Would be great if this problem was fixed, but the linked changes do not seem related to the bug here
(as far as I can tell) - in my configuration it sometimes occured after a opcache_reset(), but those
were not the majority cases, usually it just happened at seemingly random times when the opcache was
warmed up and in full swing for many hours.

I do use opcache_invalidate quite regularly on some files, but the error occured so infrequently
that I do not know if that is linked to this bug - the errors occured once a day, but within that
timeframe I used opcache_reset and opcache_invalidate many times without problems. I also never had
a crash, only one "flipped" character in a string, which seems an odd and hard-to-pinpoint
bug anyway - almost all strings were still correct, only 1-2 strings were one character off. This
makes this bug so intimidating - if strings can change a bit seemingly random, than that can be a
real problem for an application and can also stay unnoticed for some time.

------------------------------------------------------------------------


The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

    https://bugs.php.net/bug.php?id=71135


--
Edit this bug report at https://bugs.php.net/bug.php?id=71135&edit=1


Thread (52 messages)

« previous php.bugs (#203306) next »