Bug #81006 [Com]: Segmentation fault 11 on OSX 11
Edit report at https://bugs.php.net/bug.php?id=81006&edit=1
ID: 81006
Comment by: mark dot roeling at cordeo dot com
Reported by: sulcmil at gmail dot com
Summary: Segmentation fault 11 on OSX 11
Status: Open
Type: Bug
Package: *General Issues
Operating System: OSX 11.3
PHP Version: 8.0.5
Block user comment: N
Private report: N
New Comment:
Yes, postgres and Doctrine here as well.
Links point to probably related issue: https://bugs.php.net/bug.php?id=81002
Seems that the change in pdo_pgsql will be reverted in upcoming 8.0.6 version.
Previous Comments:
------------------------------------------------------------------------
[2021-05-03 10:57:55] nikic@php.net
Specifically, the strol in the backtrace makes me think that this may be caused by https://github.com/php/php-src/pull/6801. The
involvement of Doctrine also points to something database related.
Due to the referenced change, binding a null value with PDO::PARAM_INT using PDO PgSql can lead to a
segfault.
------------------------------------------------------------------------
[2021-05-03 10:56:42] sulcmil at gmail dot com
Yes, I use Postgres.
------------------------------------------------------------------------
[2021-05-03 10:52:38] nikic@php.net
Do you use postgres?
------------------------------------------------------------------------
[2021-05-03 10:51:29] mark dot roeling at cordeo dot com
(since the voting seems to have a bug as well)
Yes, encountering same/similar issue since upgrade to php8.0.5 this morning, on Ubuntu 18.04.5 using
ppa:ondrej/php for php and nginx.
I tried to use apport-retrace to retrieve additional information:
Reading symbols from /usr/sbin/php-fpm8.0...(no debugging symbols found)...done.
[New LWP 17091]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `php-fpm: pool www
'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 __GI_____strtol_l_internal (nptr=0x18 <error: Cannot access memory at address 0x18>,
endptr=0x0, base=10, group=<optimized out>, loc=0x7f975972a560 <_nl_global_locale>) at
../stdlib/strtol_l.c:292
292 ../stdlib/strtol_l.c: Bestand of map bestaat niet.
(last line translates to: File or folder doesn't exist)
Similar errors occur on MacOS and Ubuntu server (18.04.5) as well.
[03-May-2021 12:07:55] WARNING: [pool **EDITED-appname**] child 99 exited on signal 11 (SIGSEGV)
after 671.400078 seconds from start
------------------------------------------------------------------------
[2021-05-02 16:14:56] sulcmil at gmail dot com
Description:
------------
Hi. After upgrading to PHP 8.0.5, me and my colleagues are hitting Segmentation fault 11 on OSX 11.
We're using homebrew and default php formula.
- install brew
- brew update
- brew install php@8.0
I have homebrew default PHP configuration with APCu extension.
```
â php --ini
Configuration File (php.ini) Path: /usr/local/etc/php/8.0
Loaded Configuration File: /usr/local/etc/php/8.0/php.ini
Scan for additional .ini files in: /usr/local/etc/php/8.0/conf.d
Additional .ini files parsed: /usr/local/etc/php/8.0/conf.d/ext-apcu.ini
```
There is Symfony Console + Doctrine library in our project.
- bin/console doctrine:fixtures:load --append --no-interaction --fixtures=app/fixtures
This command is working well on PHP 8.0.3, but on PHP 8.0.5 it ends with segmentation fault 11.
From my observation, same error occurs also using PHP development server.
Here is output from lldb.
```
⯠lldb php bin/console doctrine:fixtures:load -- --append --no-interaction
--fixtures=app/fixtures/Plan/Dev
(lldb) target create "php"
Current executable set to 'php' (x86_64).
(lldb) settings set -- target.run-args "bin/console" "doctrine:fixtures:load"
"--append" "--no-interaction" "--fixtures=app/fixtures"
(lldb) run
Process 11978 launched: '/usr/local/bin/php' (x86_64)
> loading [1] App\Fixtures\UserFixture
Process 11978 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1,
address=0x1a)
frame #0: 0x00007fff205cadc6 libsystem_c.dylib`strtoll_l + 77
libsystem_c.dylib`strtoll_l:
-> 0x7fff205cadc6 <+77>: movb (%rbx), %sil
0x7fff205cadc9 <+80>: movzbl %sil, %eax
0x7fff205cadcd <+84>: testb %al, %al
0x7fff205cadcf <+86>: js 0x7fff205cadd8 ; <+95>
Target 0: (php) stopped.
(lldb) exit
```
Thank you for your help.
Test script:
---------------
â php bin/console doctrine:fixtures:load --append --no-interaction --fixtures=app/fixture
> loading [1] App\Fixtures\UserFixture
Expected result:
----------------
It should works without segmentation fault.
Actual result:
--------------
Segmentation fault: 11
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=81006&edit=1
Thread (9 messages)