Skip to content

php-fpm - segfault - grpc extension? #18544

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
Grummfy opened this issue May 13, 2025 · 1 comment
Open

php-fpm - segfault - grpc extension? #18544

Grummfy opened this issue May 13, 2025 · 1 comment

Comments

@Grummfy
Copy link

Grummfy commented May 13, 2025

Description

The following code: not a specific code
Resulted in this output: -
But I expected this output instead: -

I got some random segfault in php-fpm. It occurs time to time. In the logs of php-fpm I see "child XXX exited on signal 11 (SIGSEGV - core dumped) after ...".

The code is running inside a kubernetes cluster, running some container.

The php extension : php -r 'foreach (get_loaded_extensions() as $extension) echo "$extension: " . phpversion($extension) . "\n";'

Core: 8.3.21
date: 8.3.21
libxml: 8.3.21
openssl: 8.3.21
pcre: 8.3.21
sqlite3: 8.3.21
zlib: 8.3.21
ctype: 8.3.21
curl: 8.3.21
dom: 20031129
fileinfo: 8.3.21
filter: 8.3.21
hash: 8.3.21
iconv: 8.3.21
json: 8.3.21
mbstring: 8.3.21
SPL: 8.3.21
session: 8.3.21
PDO: 8.3.21
pdo_sqlite: 8.3.21
standard: 8.3.21
posix: 8.3.21
random: 8.3.21
readline: 8.3.21
Reflection: 8.3.21
Phar: 8.3.21
SimpleXML: 8.3.21
tokenizer: 8.3.21
xml: 8.3.21
xmlreader: 8.3.21
xmlwriter: 8.3.21
mysqlnd: mysqlnd 8.3.21
apcu: 5.1.24
bcmath: 8.3.21
ds: 1.6.0
sockets: 8.3.21
exif: 8.3.21
gd: 8.3.21
grpc: 1.72.0
intl: 8.3.21
opentelemetry: 1.1.2
pcntl: 8.3.21
pdo_dblib: 8.3.21
pdo_mysql: 8.3.21
protobuf: 4.30.2
redis: 6.2.0
soap: 8.3.21
ev: 1.2.0
sodium: 8.3.21
zip: 1.22.3
Zend OPcache: 8.3.21

I got a trace of the segfault (open it using gdb, bt full)

e4045a668378:/srv/app# gdb /usr/local/sbin/php-fpm /toto/core.php-fpm.82.257cdc11538f4aabb7801c14049cacc9.3137728.1747058258000000/core.php-fpm.82.257cdc11538f4aabb7801c14049cacc9.3137728.1747058258000000
GNU gdb (GDB) 15.2
Copyright (C) 2024 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-alpine-linux-musl".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/local/sbin/php-fpm...
(No debugging symbols found in /usr/local/sbin/php-fpm)

warning: Can't open file /dev/zero (deleted) during file-backed mapping note processing
[New LWP 11232]
[New LWP 11220]
Core was generated by `php-fpm:'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  a_crash () at ./arch/x86_64/atomic_arch.h:108

warning: 108    ./arch/x86_64/atomic_arch.h: No such file or directory
[Current thread is 1 (LWP 11232)]
(gdb) bt full
#0  a_crash () at ./arch/x86_64/atomic_arch.h:108
No locals.
#1  get_meta (p=p@entry=0x7f2ed840c0e0 "\300\0026\330.\177") at src/malloc/mallocng/meta.h:141
        offset = 0
        index = 31
        base = 0x7f2ed840c0d0
        meta = 0x7f2ed84d2800
        area = <optimized out>
#2  0x00007f2eddffbb9f in __libc_free (p=0x7f2ed840c0e0) at src/malloc/mallocng/free.c:105
        g = <optimized out>
        idx = <optimized out>
        stride = <optimized out>
        start = <optimized out>
        end = <optimized out>
        self = <optimized out>
        all = <optimized out>
        mi = <optimized out>
        base = <optimized out>
        len = <optimized out>
        e = <optimized out>
#3  0x00007f2edb820a20 in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20230831/grpc.so
No symbol table info available.
#4  0x00007f2edb830382 in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20230831/grpc.so
No symbol table info available.
#5  0x00007f2edb8337db in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20230831/grpc.so
No symbol table info available.
#6  0x00007f2edb5bb8ea in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release_last_use_cold() () from /usr/local/lib/php/extensions/no-debug-non-zts-20230831/grpc.so
No symbol table info available.
#7  0x00007f2edb827de0 in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20230831/grpc.so
No symbol table info available.
#8  0x00007f2edb82c8c3 in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20230831/grpc.so
No symbol table info available.
#9  0x00007f2edb82c95b in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20230831/grpc.so
No symbol table info available.
#10 0x00007f2edb82cc8d in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20230831/grpc.so
No symbol table info available.
#11 0x00007f2edb849de3 in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20230831/grpc.so
No symbol table info available.
#12 0x00007f2edb84b918 in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20230831/grpc.so
No symbol table info available.
#13 0x00007f2edb84ba8e in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20230831/grpc.so
No symbol table info available.
#14 0x00007f2edba22b70 in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20230831/grpc.so
No symbol table info available.
#15 0x00007f2ede01c9d2 in start (p=0x7f2ed8360750) at src/thread/pthread_create.c:207
        args = 0x7f2ed8360750
        state = <optimized out>
#16 0x00007f2ede01e314 in __clone () at src/thread/x86_64/clone.s:22
--Type <RET> for more, q to quit, c to continue without paging--
No locals.
Backtrace stopped: frame did not save the PC
(gdb) bt full
#0  a_crash () at ./arch/x86_64/atomic_arch.h:108
No locals.
#1  get_meta (p=p@entry=0x7f2ed840c0e0 "\300\0026\330.\177") at src/malloc/mallocng/meta.h:141
        offset = 0
        index = 31
        base = 0x7f2ed840c0d0
        meta = 0x7f2ed84d2800
        area = <optimized out>
#2  0x00007f2eddffbb9f in __libc_free (p=0x7f2ed840c0e0) at src/malloc/mallocng/free.c:105
        g = <optimized out>
        idx = <optimized out>
        stride = <optimized out>
        start = <optimized out>
        end = <optimized out>
        self = <optimized out>
        all = <optimized out>
        mi = <optimized out>
        base = <optimized out>
        len = <optimized out>
        e = <optimized out>
#3  0x00007f2edb820a20 in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20230831/grpc.so
No symbol table info available.
#4  0x00007f2edb830382 in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20230831/grpc.so
No symbol table info available.
#5  0x00007f2edb8337db in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20230831/grpc.so
No symbol table info available.
#6  0x00007f2edb5bb8ea in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release_last_use_cold() () from /usr/local/lib/php/extensions/no-debug-non-zts-20230831/grpc.so
No symbol table info available.
#7  0x00007f2edb827de0 in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20230831/grpc.so
No symbol table info available.
#8  0x00007f2edb82c8c3 in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20230831/grpc.so
No symbol table info available.
#9  0x00007f2edb82c95b in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20230831/grpc.so
No symbol table info available.
#10 0x00007f2edb82cc8d in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20230831/grpc.so
No symbol table info available.
#11 0x00007f2edb849de3 in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20230831/grpc.so
No symbol table info available.
#12 0x00007f2edb84b918 in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20230831/grpc.so
No symbol table info available.
#13 0x00007f2edb84ba8e in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20230831/grpc.so
No symbol table info available.
#14 0x00007f2edba22b70 in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20230831/grpc.so
No symbol table info available.
#15 0x00007f2ede01c9d2 in start (p=0x7f2ed8360750) at src/thread/pthread_create.c:207
        args = 0x7f2ed8360750
        state = <optimized out>
#16 0x00007f2ede01e314 in __clone () at src/thread/x86_64/clone.s:22
--Type <RET> for more, q to quit, c to continue without paging--
No locals.
Backtrace stopped: frame did not save the PC
(gdb) bt full
#0  a_crash () at ./arch/x86_64/atomic_arch.h:108
No locals.
#1  get_meta (p=p@entry=0x7f2ed840c0e0 "\300\0026\330.\177") at src/malloc/mallocng/meta.h:141
        offset = 0
        index = 31
        base = 0x7f2ed840c0d0
        meta = 0x7f2ed84d2800
        area = <optimized out>
#2  0x00007f2eddffbb9f in __libc_free (p=0x7f2ed840c0e0) at src/malloc/mallocng/free.c:105
        g = <optimized out>
        idx = <optimized out>
        stride = <optimized out>
        start = <optimized out>
        end = <optimized out>
        self = <optimized out>
        all = <optimized out>
        mi = <optimized out>
        base = <optimized out>
        len = <optimized out>
        e = <optimized out>
#3  0x00007f2edb820a20 in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20230831/grpc.so
No symbol table info available.
#4  0x00007f2edb830382 in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20230831/grpc.so
No symbol table info available.
#5  0x00007f2edb8337db in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20230831/grpc.so
No symbol table info available.
#6  0x00007f2edb5bb8ea in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release_last_use_cold() () from /usr/local/lib/php/extensions/no-debug-non-zts-20230831/grpc.so
No symbol table info available.
#7  0x00007f2edb827de0 in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20230831/grpc.so
No symbol table info available.
#8  0x00007f2edb82c8c3 in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20230831/grpc.so
No symbol table info available.
#9  0x00007f2edb82c95b in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20230831/grpc.so
No symbol table info available.
#10 0x00007f2edb82cc8d in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20230831/grpc.so
No symbol table info available.
#11 0x00007f2edb849de3 in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20230831/grpc.so
No symbol table info available.
#12 0x00007f2edb84b918 in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20230831/grpc.so
No symbol table info available.
#13 0x00007f2edb84ba8e in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20230831/grpc.so
No symbol table info available.
#14 0x00007f2edba22b70 in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20230831/grpc.so
No symbol table info available.
#15 0x00007f2ede01c9d2 in start (p=0x7f2ed8360750) at src/thread/pthread_create.c:207
        args = 0x7f2ed8360750
        state = <optimized out>
#16 0x00007f2ede01e314 in __clone () at src/thread/x86_64/clone.s:22

Docker was built using the alpine image from docker hub php:8.3.21-fpm-alpine. It running in non-root user and is using apache through the socket file.

thanks

PHP Version

PHP 8.3.21 (cli) (built: May  9 2025 17:25:07) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.21, Copyright (c) Zend Technologies
    with Zend OPcache v8.3.21, Copyright (c), by Zend Technologies

Operating System

alpine

@devnexen
Copy link
Member

Hi @Grummfy. Seems to indicate it. Did you try disabling grpc ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants