Bug #80726 [Com]: With any PHP 8 version I get crash running more than one CLI

From: Date: Mon, 07 Jun 2021 18:19:26 +0000
Subject: Bug #80726 [Com]: With any PHP 8 version I get crash running more than one CLI
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-234248@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=80726&edit=1 ID: 80726 Comment by: simbiat at outlook dot com Reported by: rfcastro at porto dot ucp dot pt Summary: With any PHP 8 version I get crash running more than one CLI Status: Open Type: Bug Package: JIT Operating System: Windows Server 2012 R2 PHP Version: 8.0.2 Block user comment: N Private report: N New Comment: While investigating this error I've stumbled upon https://bugs.php.net/bug.php?id=79535 and tried different optimization levels suggested there - it did not matter, but disabling opcache for CLI did resolve the issue, meaning, that issue is somewhere in the opcache. I am not using Xdebug (at least not yet), though, so can't check whether enabling it will affect the issue somehow. Previous Comments: ------------------------------------------------------------------------ [2021-06-05 18:48:12] simbiat at outlook dot com Crashing like this can also happen, when there is a web server (Apache in my case) and CLI running (I have a scheduled job) at the same time. In my case CLI version of the process crashes periodically and WinDBG shows this when analyzing the dump: https://apaste.info/KEfY Using a separate opcache ID does not seem to help with this either. But, since below is about opcache, perhaps this is also related to this bug: https://bugs.php.net/bug.php?id=80881 since it also complains about access violation. ------------------------------------------------------------------------ [2021-02-15 08:54:07] rfcastro at porto dot ucp dot pt The multi-run php cli seemed to go away like you said I still get once a week perhaps this error with JIT: msodbcsql17.dll . I did think perhaps it's when the code runs a bit faster, it's an synchronizer and when it doesn't find any changes, sometimes I get this error. I was thinking perhaps it's triggering the same problem the multi cache. I have updated that DLL but it came back again. Perhaps some JIT buffer overflow? The code is working 24 hours none stop till I hit this error. Event log: Faulting application name: php.exe, version: 8.0.2.0, time stamp: 0x601adf99 Faulting module name: msodbcsql17.dll, version: 2017.177.1.1, time stamp: 0x6001e170 Exception code: 0xc0000005 Fault offset: 0x0000000000029a76 Faulting process id: 0xadc Faulting application start time: 0x01d701c93dd362e3 Faulting application path: C:\Program Files\PHP\v8.0.2\php.exe Faulting module path: C:\Windows\system32\msodbcsql17.dll Do you want me to open a new bug or perhaps this has something to do with the opcache? ------------------------------------------------------------------------ [2021-02-10 13:38:36] rfcastro at porto dot ucp dot pt So for Windows I should set in the PHP.INI opcache.cache_id=1 so any code will run always in opcache.cache_id=1 And manual if I have to run multi-codes at the same time, I should set each extra one with a opcache.cache_id=2 and opcache.cache_id=3, etc... Is this correct? And thank you for your time. ------------------------------------------------------------------------ [2021-02-10 13:34:55] cmb@php.net opcache.cache_id defaults to an empty string (the documentation is wrong about the "1" default). This default is different from any other ID. Note that ID is an arbitrary *string* (the documentation is correct about that). ------------------------------------------------------------------------ [2021-02-10 12:17:58] rfcastro at porto dot ucp dot pt Right now I have it working placing the opcache.cache_id=2 on runtime on the main running script and the rest I have no opcache.cache_id, so I was guessing it would use 1 by default. I see now in the PHP.ini there is an "opcache.cache_id=" commented. So should I place an opcache.cache_id=1 in the PHP.INI, or will it always used by default the opcache.cache_id=1 and since my main running code is on opcache.cache_id=2 it will work. ------------------------------------------------------------------------ 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=80726 -- Edit this bug report at https://bugs.php.net/bug.php?id=80726&edit=1

« previous php.bugs (#234248) next »