php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #78754 Opcache PHP Crash
Submitted: 2019-10-27 13:52 UTC Modified: 2019-11-21 09:40 UTC
Votes:1
Avg. Score:2.0 ± 0.0
Reproduced:0 of 1 (0.0%)
From: deivid dot garcia dot garcia at gmail dot com Assigned: cmb (profile)
Status: Duplicate Package: opcache
PHP Version: 7.2.24 OS: Windows Server 2016 Standard
Private report: No CVE-ID: None
 [2019-10-27 13:52 UTC] deivid dot garcia dot garcia at gmail dot com
Description:
------------
I am experiencing a PHP crash related to Opcache.

Faulting application name: php-cgi.exe, version: 7.2.22.0, time stamp: 0x5d664a16
Faulting module name: ntdll.dll, version: 10.0.14393.447, time stamp: 0x5819bc32
Exception code: 0xc0000409
Fault offset: 0x000000000009520f
Faulting process id: 0xa18
Faulting application start time: 0x01d58ccb45755151
Faulting application path: d:\chef\_apps\chf_magento2_jvgo\runtime\php\php-cgi.exe
Faulting module path: C:\Windows\SYSTEM32\ntdll.dll
Report Id: e561a003-7e6b-4ae9-882c-1066267c168a
Faulting package full name: 
Faulting package-relative application ID: 

The error goes away if:

[A] Disable opcache extension with: opcache.enable=0
[B] Delete the contents of the opcache.file_cache (works for a while, and the error shows up again when PHP tries to read from the file cache).

This totally points to some sort of condition in the cached files:

* They might be corrupted in some way?
* The issue might be related to LongPaths on Windows?



Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2019-10-27 14:33 UTC] deivid dot garcia dot garcia at gmail dot com
Link to download crash dumps genertaed by WER:

https://drive.google.com/file/d/1nWWx9lhKuwhFugW-EOy8uejFKBtSUkmd/view?usp=sharing
 [2019-10-27 15:47 UTC] deivid dot garcia dot garcia at gmail dot com
-Summary: PHP Crash with long path names +Summary: Opcache PHP Crash
 [2019-10-27 15:47 UTC] deivid dot garcia dot garcia at gmail dot com
Tried to build a repro script without success. Seems not to be related to long paths at all.

0xc0000409 means STATUS_STACK_BUFFER_OVERRUN
 [2019-10-27 15:47 UTC] deivid dot garcia dot garcia at gmail dot com
Tried to build a repro script without success. Seems not to be related to long paths at all.

0xc0000409 means STATUS_STACK_BUFFER_OVERRUN
 [2019-10-28 11:08 UTC] cmb@php.net
Some questions:

* Which build are you using exactly?
* Do you use opcache.file_cache_fallback, or opcache.file_cache_only?
* Do you have opcache.file_cache_consistency_checks enabled?
* What's your opcache.log_verbosity_level value?
* Are there any relevant messages in opcache.error_log?
* Could you provide a backtrace[1] (there might be one contained
  in the WER report, but I'm reluctant to download 20GB)
* Could you try with PHP 7.2.24 or even 7.3.11?

[1] <https://bugs.php.net/bugs-generating-backtrace-win32.php>
 [2019-10-29 18:33 UTC] deivid dot garcia dot garcia at gmail dot com
* Which build are you using exactly?

I tried with 7.3.9 NTS X64, even with 7.2.x I use NTS X64

* Do you use opcache.file_cache_fallback, or opcache.file_cache_only?

opcache.file_cache_fallback = 1
opcache.file_cache_only = 0

* Do you have opcache.file_cache_consistency_checks enabled?

file_cache_consistency_checks = 1

* What's your opcache.log_verbosity_level value?

opcache.log_verbosity_level = 1

* Are there any relevant messages in opcache.error_log?

No.

* Could you provide a backtrace[1] (there might be one contained
  in the WER report, but I'm reluctant to download 20GB)

This is a 200MB file, I included several WER dumps related to the same error to see if they where helpful.

* Could you try with PHP 7.2.24 or even 7.3.11?

7.3.9, I will try with 7.3.11....
 [2019-10-30 18:09 UTC] cmb@php.net
-Assigned To: +Assigned To: cmb
 [2019-10-30 18:09 UTC] cmb@php.net
Thanks!  The configuration looks reasonable, and 200 MB aren't
that much, so I'll have a look.
 [2019-11-04 17:07 UTC] cmb@php.net
Do you have Xdebug enabled?  Or did you have?
 [2019-11-04 17:26 UTC] cmb@php.net
Reproducer:

* enable Xdebug
* request script
* disable Xdebug
* request script
 [2019-11-13 19:26 UTC] henry dot paradiz at gmail dot com
I've definitely noticed that too. The packages bump heads causing this error. Starting fresh, disabling, rebooting, re-enabling will fix this issue. I have also had this crash. Clearing all cache also is helpful.
 [2019-11-14 11:48 UTC] derick@php.net
Are you sure this is Xdebug or is it the difference with the extended into opcodes that PHP generates when Xdebug is enabled?
 [2019-11-14 11:54 UTC] cmb@php.net
The problem are user opcode handlers, see
<https://externals.io/message/107773>.
 [2019-11-21 09:40 UTC] cmb@php.net
-Status: Assigned +Status: Duplicate
 [2019-11-21 09:40 UTC] cmb@php.net
I just learned that this issue has already been reported as bug #75886.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Mon Nov 25 06:01:32 2024 UTC