Edit report at https://bugs.php.net/bug.php?id=79034&edit=1
ID: 79034
Comment by: bugreports at gmail dot com
Reported by: bugreports at gmail dot com
Summary: PHP Fatal error: CPU doesn't support SSE2 in
Unknown on line 0
Status: Feedback
Type: Bug
Package: opcache
Operating System: Linux
PHP Version: master-Git-2019-12-26 (Git)
Block user comment: N
Private report: N
New Comment:
tried current MASTER, still random issues, differnt runs, different errors without any change and
"Trying to access array offset on value of type array" is something not possible normally
i guess
one time even the whole test-suite passed and in the middle of the PGO-profiling spider a
demo-website segfault
-----------------------------------
removing that two lines from "php.ini" and everything is fine
opcache.jit_buffer_size = 50000000
opcache.jit = 1235
-----------------------------------
PHP Fatal error: CPU doesn't support SSE2 in Unknown on line
Trying to access array offset on value of type array
profile.sh: line 267: 322863 Segmentation fault
Previous Comments:
------------------------------------------------------------------------
[2019-12-30 12:35:26] nikic@php.net
I've fixed one JIT issue in https://github.com/php/php-src/commit/6c6d36bb94ffeefdbfacaa3fb75e1af64fbf7fe4,
but that one was introduced after the referenced commit.
------------------------------------------------------------------------
[2019-12-26 15:39:18] bugreports at gmail dot com
here we go (besdies that someone could review the compiler warnings on Fedora 30 with GCC9 which
increased with 7.4 and 8.0: https://pastebin.com/Zjt48kKi)
BROKEN: 2 days ago Dmitry Stogov Build call graph before type inference
OK: 2 days ago Xinchen Hui Implemented FR #78638 (__PHP_Incomplete_Class should...
the results are all sorts of weird behavior with enabled opcache-jit and "CPU doesn't
support SSE2 in Unknown" is only one, it goes from random "1885613 Segmentation
fault" over strange behavior in acpu where after apcu_delete() a call of apcu_fetch() still
receives the record to "TypeError: substr() expects parameter 1 to be string, int given"
when foreach() over a apcu stored array which for sure contains only strings and sometimes all of
them mixed
side note:
2 days ago i added '-fno-semantic-interposition' because of https://fedoraproject.org/wiki/Changes/PythonNoSemanticInterpositionSpeedup
and that causes problems too, in fact "Implemented FR #78638 (__PHP_Incomplete_Class
should..." had the same behavior and switch to "-fsemantic-interposition" *ssemd* to
fix all the troubles - but it didn't really
------------------------------------------------------------------------
[2019-12-26 14:03:04] bugreports at gmail dot com
i'm about to dig it out, what i can say for now is that it breaks JIT
comment that two out and all including apcu works fine
;opcache.jit_buffer_size = 50000000
;opcache.jit = 1235
i first thought the big cleanup commit from today is likely but it's broken before and
"substr() expects parameter 1 to be string, int given" in apcu-related code iterating
through a array which for sure has string keys as well as that after apcu_delete() values still
exists smells like memory corruption
------------------------------------------------------------------------
[2019-12-26 13:16:41] nikic@php.net
There haven't been any recent changes to the CPU detection code. Can you please bisect which
commit introduced the issue? There were only a handful of commits since Dec 22 and none really look
relevant.
------------------------------------------------------------------------
[2019-12-26 12:35:19] bugreports at gmail dot com
Description:
------------
some of the last recent changes in MASTER broke CPU detection at runtime
PHP Fatal error: CPU doesn't support SSE2 in Unknown on line 0
i doubt that on a IvyBrdige machine :-)
this one was pretty fine and the binaries pass everything
PHP 8.0.0-dev (cli) (built: Dec 22 2019 12:57:58)
also APCu (built within PHP itself by unpack it to the extensions directory) started to behave
randomly wrong in some autotest running at build time here in the profile stage of a PGO build and
so it's stopped
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=79034&edit=1