Closed
Description
Description
I dont't have a minimal reproducer for this but an application which is based on sabre/dav running on Windows Server 2016 using IIS
Since upgrading from 8.1.2 to 8.1.3 I get frequent 500 errors.
In the event log I find
Log Name: Application
Source: Application Error
Date: 23.02.2022 11:26:34
Event ID: 1000
Task Category: (100)
Level: Error
Keywords: Classic
User: N/A
Computer: PSDEVMB.test.example.com
Description:
Faulting application name: php-cgi.exe, version: 8.1.3.0, time stamp: 0x62160b66
Faulting module name: php_opcache.dll, version: 8.1.3.0, time stamp: 0x62160b62
Exception code: 0xc0000005
Fault offset: 0x00000000000043a3
Faulting process id: 0xfd0
Faulting application start time: 0x01d8289fd314a2a7
Faulting application path: C:\Program Files\PHP\v8.1\php-cgi.exe
Faulting module path: C:\Program Files\PHP\v8.1\ext\php_opcache.dll
Report Id: f5dc9377-9cfc-46be-ad05-5ad40b0fafe7
Faulting package full name:
Faulting package-relative application ID:
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="Application Error" />
<EventID Qualifiers="0">1000</EventID>
<Level>2</Level>
<Task>100</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2022-02-23T10:26:34.226734200Z" />
<EventRecordID>44517</EventRecordID>
<Channel>Application</Channel>
<Computer>PSDEVMB.test.example.com</Computer>
<Security />
</System>
<EventData>
<Data>php-cgi.exe</Data>
<Data>8.1.3.0</Data>
<Data>62160b66</Data>
<Data>php_opcache.dll</Data>
<Data>8.1.3.0</Data>
<Data>62160b62</Data>
<Data>c0000005</Data>
<Data>00000000000043a3</Data>
<Data>fd0</Data>
<Data>01d8289fd314a2a7</Data>
<Data>C:\Program Files\PHP\v8.1\php-cgi.exe</Data>
<Data>C:\Program Files\PHP\v8.1\ext\php_opcache.dll</Data>
<Data>f5dc9377-9cfc-46be-ad05-5ad40b0fafe7</Data>
<Data>
</Data>
<Data>
</Data>
</EventData>
</Event>
The relevant opcache configuration from php.ini:
[opcache]
zend_extension=php_opcache.dll
opcache.enable_cli=1
opcache.enable=1
opcache.enable_file_override=1
opcache.file_cache="C:\Windows\temp\"
opcache.file_cache_fallback=1
I ran a git bisect since 8.1.2 was working fine.
The first faulty commit is 78fd573
Attaching a debugger to a running php-cgi.exe process, I see
Exception thrown at 0x00007FF992294F38 in php-cgi.exe: Microsoft C++ exception: std::out_of_range at memory location 0x00000013415FB250.
Exception thrown at 0x00007FF992294F38 in php-cgi.exe: Microsoft C++ exception: std::out_of_range at memory location 0x00000013415FB250.
Exception thrown at 0x00007FF992294F38 in php-cgi.exe: Microsoft C++ exception: std::out_of_range at memory location 0x00000013415FB250.
Exception thrown at 0x00007FF992294F38 in php-cgi.exe: Microsoft C++ exception: std::out_of_range at memory location 0x00000013415FB250.
Exception thrown at 0x00007FF956D743A3 (php_opcache.dll) in php-cgi.exe: 0xC0000005: Access violation reading location 0x0000015600000012.
PHP Version
PHP 8.1.3
Operating System
Windows Server 2016 / IIS