Bug #79040 [Opn]: Warning Opcode handlers are unusable due to ASLR (fall-back to file cache)

From: Date: Fri, 27 Dec 2019 22:24:35 +0000
Subject: Bug #79040 [Opn]: Warning Opcode handlers are unusable due to ASLR (fall-back to file cache)
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-224570@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=79040&edit=1 ID: 79040 Updated by: cmb@php.net Reported by: ASchmidt at Anamera dot net Summary: Warning Opcode handlers are unusable due to ASLR (fall-back to file cache) Status: Open Type: Bug Package: opcache Operating System: Win x64 IIS PHP Version: 7.3.13 Block user comment: N Private report: N New Comment: Well, the file cache fallback due to ASLR *can* happen without that fix (I've rarely, if ever, seen it on x64, though, but several times on x86). Otherwise we would not recommend to enable file_cache_fallback. And while that "fix" (actually, it's more a mitigation) increases the likelyhood of the fallback happening, it it supposed to prevent worse issues. So, did you experience segfaults or strange application behavior occassionally before the update to 7.3.13? And would it help to reboot the machine, or running fewer instances of php-cgi.exe? And if you can reproduce that fallback occuring somewhat reliably, how many php-cgi.exe instances would be affected? At least one (but possibly several) may use the shared memory cache, and only some may fall back to the file cache. Also please look for the file whose name starts with ZendOPcache.MemoryBase (and is followed by two MD5 hashes separated by @ signs) in %TEMP%; there may be several, since each OPcache instance creates such a file. The first line of the file contains the base address of the shared memory, the second line (only there as of PHP 7.3.13) the address of the execute_ex() function. Could be interesting to compare the values of more or less successful OPcache caching after server restarts (and maybe reboots). Previous Comments: ------------------------------------------------------------------------ [2019-12-27 21:42:29] requinix@php.net Ah. What you're seeing is the result of a fix for 7.4.0 that was backported to 7.3.13: https://www.php.net/ChangeLog-7.php#7.3.13 > Fixed potential ASLR related invalid opline handler issues ------------------------------------------------------------------------ [2019-12-27 21:29:19] ASchmidt at Anamera dot net I don't understand - there was NO problem with 7.3.12 and prior versions - no warning, and the OpCache GUI never complained about memory stats not existing etc.? ------------------------------------------------------------------------ [2019-12-27 21:24:45] requinix@php.net Right. What are you asking for here? To disable the warning on Windows because it'll never work anyways? Unless ASLR is disabled, but people shouldn't do that. ------------------------------------------------------------------------ [2019-12-27 20:53:17] ASchmidt at Anamera dot net >> And what if you set file_cache_only=1? << As expected, if memory caching is disabled from the onset, then there are no error messages about it being disabled dynamically due to ASLR !? ------------------------------------------------------------------------ [2019-12-27 19:54:12] requinix@php.net And what if you set file_cache_only=1? ------------------------------------------------------------------------ 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=79040 -- Edit this bug report at https://bugs.php.net/bug.php?id=79040&edit=1

« previous php.bugs (#224570) next »