Edit report at https://bugs.php.net/bug.php?id=80726&edit=1
ID: 80726
User updated by: rfcastro at porto dot ucp dot pt
Reported by: rfcastro at porto dot ucp dot pt
Summary: With any PHP 8 version I get crash running more than
one CLI
-Status: Feedback
+Status: Assigned
Type: Bug
Package: JIT
Operating System: Windows Server 2012 R2
PHP Version: 8.0.2
Assigned To: cmb
Block user comment: N
Private report: N
New Comment:
Yes, using the two different caches works.
But is this possible automatically?
Previous Comments:
------------------------------------------------------------------------
[2021-02-09 20:25:32] cmb@php.net
Would it work if you used two different opcache.cache_id, e.g.
php -dopcache.cache_id=1 file1.php
php -dopcache.cache_id=2 file2.php
------------------------------------------------------------------------
[2021-02-09 17:14:21] rfcastro at porto dot ucp dot pt
Description:
------------
The error has occurred on these versions: 8.00, 8.01 and 8.02
I open two command line prompts (two windows) in both I run two php codes and I get a
php_opcache.dll error in the Event log. Sometimes an unknown and sometimes PHP8.dll but most of the
time it's php_opcache.dll
One php file only has a Hello World cicle, and the other php file opens has soap connection with a
foreach. When I remove the foreach (foreach ($ise_sapiOutput->resultado as $aluno)), it works, if
I put it in again PHP crashes.
If I run without JIT, it works. If I run two simple hello word files, also works.
My PHP.INI:
[opcache]
opcache.enable=1
opcache.enable_cli=1
opcache.jit_buffer_size=100M
opcache.jit=1255
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.max_wasted_percentage=5
Test script:
---------------
File1:
do {
echo 'Hello World';
sleep (5);
} while (1);
File 2, soap connection:
$ise_aParameters = array(
'Funcao' => 'GetAlunos',
'NivelComp' => 5,
'Certificado' => 1,
'FormatoOutput' => 2,
'PEntrada' => 'TpUtil=0; CdUtil=1; PwdUtil=sistema;
AnoLectivo='.$isa_iAnoLectivo.$ida_sSAPICdAluno2,
'PSaida' => 'Estado
DESC;NAluno;NomeCompleto;Email;CdCurso;DgCurso;CdFaculd;EmailInstitucional'
);
$ise_xmlString = false;
$ise_xmlString = $isc_sSoapClient->__soapCall('Execute', array($ise_aParameters),
array('soapaction' => 'http://tempuri.org/WebServiceSAPI/Service1/Execute','uri'
=> 'http://tempuri.org/WebServiceSAPI/Service1'));
$ise_xmlString = $ise_xmlString->ExecuteResult;
$ise_sapiOutput = new SimpleXMLElement($ise_xmlString);
if ($ise_sapiOutput->resultado->EstRes=='0') {
foreach ($ise_sapiOutput->resultado as $aluno) {
//the error ocorres here with the foreach cicle, if I remove it, no error
}
}
Expected result:
----------------
A PHP crash, usually php_opcache.dll
Actual result:
--------------
both scrips should run without errors. If I turn off JIT, it works.
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=80726&edit=1