From: (Jan Ehrhardt)
Date:  13 Apr 2017 18:10:30 Hong Kong Time

SHM issues PHP7 x64

NNTP-Posting-Host:  null

There is a reproducable SHM issue with php_apcu.dll in PHP 7 NTS x64:

I thought that could be due to the special method that apcu uses to
create a SHM block. It directly loads ntdll.dll:

I tried to reproduce this issue on AppVeyor, but failed:

My conclusion at that time was, that php_apcu.dll is broken on x64. In
PHP7 only, because it works perfectly in PHP 5.6.

But today I ran into an issue that seems related. On a Windows 2008 R2
(development) server I am running Apache/2.4.25 (Win64) PHP/7.1.4
OpenSSL/1.0.2k-fips mod_fcgid/2.3.9.

The server is really low traffic. There is a Drupal 7 site running on it
with me as the only user. Drupal 7 runs with PHP 7.1.4 NTS x64 under
mod_fcgid, without php_apcu.dll.

The site reproduced Internal server errors 500 today. Nothing in the
logs except that "the pipe had been ended", indicating that php-cgi.exe
did not return anything to mod_fcgid. Then I checked eventvrw.msc. Error
message in Zend OPcache:

|Base address marks unusable memory region. Please setup
|opcache.file_cache and opcache.file_cache_fallback directives for more
|convenient Opcache usage 
|   Attempt to access invalid address 

This error message is SHM related as well, according to Anatol:

I cannot easily reproduce the Error 500 on my Win2k8 server. They
disappeared after the php-cgi.exe instance had been killed by Apache:

[Thu Apr 13 10:17:55.795816 2017] [fcgid:warn] [pid 7264:tid 828]
mod_fcgid: process 5604 graceful kill fail, sending SIGKILL

But the problem with php_apcu.dll is reproducable on my Win7 Pro laptop
and on the Win2k8 server.

Ugly problem. Is there anything I can do to get it solved?