Edit report at https://bugs.php.net/bug.php?id=65338&edit=1
ID: 65338
Comment by: phpdev at ehrhardt dot nl
Reported by: ericsten@php.net
Summary: Enabling both php_opcache and php_wincache AVs on
shutdown
Status: Closed
Type: Bug
Package: Reproducible crash
Operating System: Windows
PHP Version: 5.5.1
Assigned To: dmitry
Block user comment: N
Private report: N
New Comment:
@dmitry: grabbed the snapshot from http://git.php.net/?p=php-src.git;a=summary
and compiled it. No crash anymore!
Nitpicking: typo OPcahce in the NEWS diff.
And curious: why did you decide to fix the problem by changing OPcache? Is not there a fundamental
problem in zend_string.c that it sometimes frees memory while interned_strings_start has been
changed? Or am I completely missing the point?
Previous Comments:
------------------------------------------------------------------------
[2013-07-30 13:39:08] dmitry@php.net
The fix for this bug has been committed.
Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
For Windows:
http://windows.php.net/snapshots/
Thank you for the report, and for helping us make PHP better.
------------------------------------------------------------------------
[2013-07-30 13:36:37] dmitry@php.net
Automatic comment on behalf of dmitry@zend.com
Revision: http://git.php.net/?p=php-src.git;a=commit;h=3550f3d0aad6e979e2a6fe3ee40d4fbff168c34b
Log: Fixed bug #65338 (Enabling both php_opcache and php_wincache AVs on shutdown).
------------------------------------------------------------------------
[2013-07-30 07:06:24] ab@php.net
@Eric, yes, one can only enable/disable it in whole. What i meant is making it
more
flexible, disabling opcache and string pool, but not affecting other features
like
user cache.
Like APCu, but there opcode cache was just cut out. Splitting the functionality
into
configurable pieces would require some effort of course. And that was actually
the
idea you reflected at the earlier post. As neither opcode cache nor interned
strings
aren't required for user cache.
------------------------------------------------------------------------
[2013-07-29 18:30:01] ericsten@php.net
@ab@php.net
Wincache.ocenabled is PHP_INI_ALL, meaning that the Wincache opcode cache can be enabled/disabled by
script or by user.ini. This is the same for Zend Opcache opcache.enabled and APC apc.enabled. To
support this, the interned strings have to be hooked at module load time. This is how all three
opcode caches implement the hooking of interned strings.
------------------------------------------------------------------------
[2013-07-27 16:56:28] phpdev at ehrhardt dot nl
@Anatol: which older versions? PHP 5.4.x users that run into this problem should upgrade to 5.4.18,
the moment that is released with this patch. Making special arrangements for older 5.4.x users would
be a waste of developer resources IMO.
And PHP 5.3 (or lower) users do not run into this, because interned_string was introduced in the
Zend engine for 5.4.
------------------------------------------------------------------------
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=65338--
Edit this bug report at https://bugs.php.net/bug.php?id=65338&edit=1