Web lists-archives.com

Re: Windows php-cgi.exe - The FastCGI process exited unexpectedly




Hi,

On Wed, 2018-11-14 at 10:29 +0100, Jan Vávra wrote:
> Hi,
> 
> Dne 11.11.2018 v 21:39 Anatol Belski napsal(a):
> > Hi,
> > 
> > On Thu, 2018-11-08 at 14:21 +0100, Jan Vávra wrote:
> > > Hello,
> > >   at Windows 2016 I have a problem with http 500. The IIS trace
> > > log
> > > files says: php-cgi.exe - The FastCGI process exited
> > > unexpectedly.
> > > In the event log there are repeated many couples of events:
> > > 
> > > <Event xmlns="
> > > http://schemas.microsoft.com/win/2004/08/events/event";>;
> > > ;
> > >    <System>
> > >      <Provider Name="Zend OPcache" />
> > >      <EventID Qualifiers="0">2</EventID>
> > >      <Level>2</Level>
> > >      <Task>0</Task>
> > >      <Keywords>0x80000000000000</Keywords>
> > >      <TimeCreated SystemTime="2018-11-07T15:44:37.343553900Z" />
> > >      <EventRecordID>667551</EventRecordID>
> > >      <Channel>Application</Channel>
> > >      <Computer>COMP1</Computer>
> > >      <Security />
> > >    </System>
> > >    <EventData>
> > >      <Data>Unable to open base address file</Data>
> > >      <Data>The system cannot find the file specified.</Data>
> > >    </EventData>
> > > </Event>
> > > 
> > > and
> > > 
> > > <Event xmlns="
> > > http://schemas.microsoft.com/win/2004/08/events/event";>;
> > > ;
> > >    <System>
> > >      <Provider Name="Zend OPcache" />
> > >      <EventID Qualifiers="0">2</EventID>
> > >      <Level>2</Level>
> > >      <Task>0</Task>
> > >      <Keywords>0x80000000000000</Keywords>
> > >      <TimeCreated SystemTime="2018-11-07T15:44:37.343553900Z" />
> > >      <EventRecordID>667550</EventRecordID>
> > >      <Channel>Application</Channel>
> > >      <Computer>COMP1</Computer>
> > >      <Security />
> > >    </System>
> > >    <EventData>
> > >      <Data>C:\Windows\TEMP\ZendOPcache.MemoryBase@xappuser@dfb1f2
> > > 4e1dd
> > > 21d34e9485ad7bfa87baf</Data>
> > >      <Data>The system cannot find the file specified.</Data>
> > >    </EventData>
> > > </Event>
> > > 
> > > The file C:\Windows\TEMP\ZendOPcache.MemoryBase@xappuser@dfb1f24e
> > > 1dd2
> > > 1d34e9485ad7bfa87baf exists and contains: 0000100000000000.
> > > Version of php is 7.1.15 x64 nts.
> > > The identity of application pool is an Active Directory
> > > authenticated
> > > user.
> > > And the problem begins after hours of running.
> > > 
> > > Should I configure something in the php.ini ?
> > > 
> > 
> > The description sounds very much like this issue
> > https://bugs.php.net/bug.php?id=76832 . Please check some recent
> > PHP
> > version.
> > Thanks
> > 
> > Anatol
> > 
> 
> thank for a reply.
> I do not think the commit referenced at the bug will solve anything.
> The commit 
> 
http://git.php.net/?p=php-src.git;a=commitdiff;h=f26172f9343cf49d62bbefff355bb76d6adf7ebe;hp=7fde2243a712bb1cdc0b07cef2ba5ce13ec5259b
> added only some warning
> 
> if (0 > win32_utime(mmap_base_file, NULL)) {
>          err = GetLastError();
>          zend_win_error_message(ACCEL_LOG_WARNING, mmap_base_file,
> err);
>      }
> 
> but the operation fails earlier ( two condition before)
> if (!fp) {
>          err = GetLastError();
>          zend_win_error_message(ACCEL_LOG_WARNING, mmap_base_file,
> err);
>          zend_win_error_message(ACCEL_LOG_FATAL, "Unable to open
> base 
> address file", err);
>          *error_in="fopen";
>          return ALLOC_FAILURE;
>      }
> 
> I made a test. I've set up php.ini
> opcache.mmap_base=0000100000000000
> but the opcache still wants to open a mmap_base_file and the problem 
> occurs again.
> Why does it want to read the file, if the address is configured ?
> 
> I can simply reproduce the problem by these steps:
> 1. At inetmgr, FastCGI settings I've lowered MaxRequests instance to
> 10 
> and Max instance count set to 4 and restarted IIS.
> 2. I've made plenty of browser request to url to our php application
> by 
> holding F5 key (refresh).
> 3. I've manually removed file 
> C:\Windows\Temp\ZendOPcache.MemoryBase@FormFlow@609c39c1d8567a2390e96
> 7266d45a615
> 4. I've made plenty of browser requests to url of our php application
> by 
> holding F5 key (refresh).
> And the problem occurred and was recorded at the Windows Event log
> as 
> I've written at the top of this mail.
> 
Thanks for the further info. That is the issue which is solved by
touching the base address file. If there is no file, there is nothing
to touch. If something on your system does too frequent cleanups of the
temp directory, that is what needs to be fixed. It would probably work
as alternative to override the temp dir, as c:\windows is anyway not a
good place to write anything. External tools deleting files they didn't
create would be an issue for any system.

Also if FCGI processes never die, that means the base address file is
not touched for long. Setting something like max requests might help
here, too. Not sure it's applicable to your configuration.

Regards

Anatol