php-rdkafka
php-rdkafka copied to clipboard
Segmentation fault after upgrading to php8.2.29
Description
Hello, after upgrading to php:8.2.29 I've started seeing lots of SIGSEGV, Segmentation fault crashes. I'm connecting to MSK (managed kafka) using SASL_SSL protocol and SCRAM-SHA-512 mechanism All the details below. Will be glad to hear any piece of advice how to fix it. Thanks!
PHP 8.2.29 (cli) (built: Aug 4 2025 20:55:20) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.29, Copyright (c) Zend Technologies
with Zend OPcache v8.2.29, Copyright (c), by Zend Technologies
php -i | sed -n '/^rdkafka/,+6p'
rdkafka
rdkafka support => enabled
version => 6.0.5
build date => Aug 21 2025 11:48:48
librdkafka version (runtime) => 2.6.1
librdkafka version (build) => 2.6.1.255
Thread 61 "rdk:broker3" received signal SIGSEGV, Segmentation fault.
[Switching to LWP 1359]
get_meta (p=p@entry=0x7faab374ebd0 "\037\001") at src/malloc/mallocng/meta.h:141
warning: 141 src/malloc/mallocng/meta.h: No such file or directory
(gdb) thread apply all bt full
Thread 61 (LWP 1359 "rdk:broker3"):
#0 get_meta (p=p@entry=0x7faab374ebd0 "\037\001") at src/malloc/mallocng/meta.h:141
offset = 0
index = 31
base = 0x7faab374ebc0
meta = 0x548
area = <optimized out>
#1 0x00007faab4f4db9f in __libc_free (p=p@entry=0x7faab374ebd0) 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>
#2 0x00007faab4f4d658 in free (p=p@entry=0x7faab374ebd0) at src/malloc/free.c:5
No locals.
#3 0x00007faab4f48f8d in closedir (dir=0x7faab374ebd0) at src/dirent/closedir.c:9
ret = 0
#4 0x00007faab4925885 in OPENSSL_DIR_end () from /usr/lib/libcrypto.so.3
No symbol table info available.
#5 0x00007faab4aaff79 in ?? () from /usr/lib/libcrypto.so.3
No symbol table info available.
#6 0x00007faab4a3ed68 in ?? () from /usr/lib/libcrypto.so.3
No symbol table info available.
#7 0x00007faab4a3fa18 in OSSL_STORE_close () from /usr/lib/libcrypto.so.3
No symbol table info available.
#8 0x00007faab4a4c711 in ?? () from /usr/lib/libcrypto.so.3
No symbol table info available.
#9 0x00007faab4a4c9d8 in ?? () from /usr/lib/libcrypto.so.3
No symbol table info available.
#10 0x00007faab4a63862 in ?? () from /usr/lib/libcrypto.so.3
No symbol table info available.
#11 0x00007faab4a6404b in X509_STORE_CTX_get1_issuer () from /usr/lib/libcrypto.so.3
No symbol table info available.
#12 0x00007faab4a6769f in ?? () from /usr/lib/libcrypto.so.3
No symbol table info available.
#13 0x00007faab4a68ab1 in ?? () from /usr/lib/libcrypto.so.3
No symbol table info available.
#14 0x00007faab4a696ec in ?? () from /usr/lib/libcrypto.so.3
No symbol table info available.
#15 0x00007faab4c0d12d in ?? () from /usr/lib/libssl.so.3
No symbol table info available.
#16 0x00007faab4c67312 in ?? () from /usr/lib/libssl.so.3
No symbol table info available.
#17 0x00007faab4c63a4b in ?? () from /usr/lib/libssl.so.3
No symbol table info available.
#18 0x00007faab3c19de1 in rd_kafka_transport_ssl_handshake () from /usr/lib/librdkafka.so.1
No symbol table info available.
#19 0x00007faab3c2a4ce in ?? () from /usr/lib/librdkafka.so.1
No symbol table info available.
#20 0x00007faab3b4cac4 in rd_kafka_transport_io_serve () from /usr/lib/librdkafka.so.1
No symbol table info available.
#21 0x00007faab3a9d6e1 in ?? () from /usr/lib/librdkafka.so.1
No symbol table info available.
#22 0x00007faab3a9e887 in ?? () from /usr/lib/librdkafka.so.1
No symbol table info available.
#23 0x00007faab3a9edad in ?? () from /usr/lib/librdkafka.so.1
No symbol table info available.
#24 0x00007faab4f6e9e7 in start_c11 (p=<optimized out>) at src/thread/pthread_create.c:215
args = <optimized out>
start = <optimized out>
#25 0x00007faab4f70314 in __clone () at src/thread/x86_64/clone.s:22
No locals.
Backtrace stopped: frame did not save the PC
Thread 60 (LWP 1358 "rdk:broker1"):
#0 __cp_end () at src/thread/x86_64/syscall_cp.s:29
No locals.
#1 0x00007faab4f6dcb5 in __syscall_cp_c (nr=7, u=<optimized out>, v=<optimized out>, w=<optimized out>, x=<optimized out>, y=<optimized out>, z=0) at src/thread/pthread_cancel.c:33
self = 0x7faab3559b30
r = <optimized out>
st = <optimized out>
#2 0x00007faab4f65ab5 in poll (fds=<optimized out>, n=<optimized out>, timeout=<optimized out>) at src/select/poll.c:9
No locals.
#3 0x00007faab3b4c390 in ?? () from /usr/lib/librdkafka.so.1
No symbol table info available.
#4 0x00007faab3b4ca3f in rd_kafka_transport_io_serve () from /usr/lib/librdkafka.so.1
No symbol table info available.
#5 0x00007faab3a9d6e1 in ?? () from /usr/lib/librdkafka.so.1
No symbol table info available.
#6 0x00007faab3a9e887 in ?? () from /usr/lib/librdkafka.so.1
No symbol table info available.
#7 0x00007faab3a9edad in ?? () from /usr/lib/librdkafka.so.1
No symbol table info available.
#8 0x00007faab4f6e9e7 in start_c11 (p=<optimized out>) at src/thread/pthread_create.c:215
args = <optimized out>
start = <optimized out>
#9 0x00007faab4f70314 in __clone () at src/thread/x86_64/clone.s:22
No locals.
Backtrace stopped: frame did not save the PC
Thread 59 (LWP 1357 "rdk:broker2"):
#0 __cp_end () at src/thread/x86_64/syscall_cp.s:29
No locals.
#1 0x00007faab4f6dcb5 in __syscall_cp_c (nr=7, u=<optimized out>, v=<optimized out>, w=<optimized out>, x=<optimized out>, y=<optimized out>, z=0) at src/thread/pthread_cancel.c:33
self = 0x7faab359fb30
r = <optimized out>
st = <optimized out>
#2 0x00007faab4f65ab5 in poll (fds=<optimized out>, n=<optimized out>, timeout=<optimized out>) at src/select/poll.c:9
No locals.
#3 0x00007faab3b4c390 in ?? () from /usr/lib/librdkafka.so.1
No symbol table info available.
#4 0x00007faab3b4ca3f in rd_kafka_transport_io_serve () from /usr/lib/librdkafka.so.1
No symbol table info available.
#5 0x00007faab3a9d6e1 in ?? () from /usr/lib/librdkafka.so.1
No symbol table info available.
#6 0x00007faab3a9e887 in ?? () from /usr/lib/librdkafka.so.1
No symbol table info available.
#7 0x00007faab3a9efa5 in ?? () from /usr/lib/librdkafka.so.1
No symbol table info available.
#8 0x00007faab4f6e9e7 in start_c11 (p=<optimized out>) at src/thread/pthread_create.c:215
args = <optimized out>
start = <optimized out>
#9 0x00007faab4f70314 in __clone () at src/thread/x86_64/clone.s:22
No locals.
Backtrace stopped: frame did not save the PC
Thread 58 (LWP 1356 "rdk:broker-1"):
#0 __cp_end () at src/thread/x86_64/syscall_cp.s:29
No locals.
#1 0x00007faab4f6dcb5 in __syscall_cp_c (nr=202, u=<optimized out>, v=<optimized out>, w=<optimized out>, x=<optimized out>, y=<optimized out>, z=0) at src/thread/pthread_cancel.c:33
self = 0x7faab35d9b30
r = <optimized out>
st = <optimized out>
#2 0x00007faab4f6d283 in __futex4_cp (addr=0x7faab35d5804, op=128, val=2, to=<optimized out>) at src/thread/__timedwait.c:24
r = <optimized out>
r = <optimized out>
#3 __timedwait_cp (addr=addr@entry=0x7faab35d5804, val=val@entry=2, clk=clk@entry=0, at=at@entry=0x7faab35d5870, priv=128, priv@entry=1) at src/thread/__timedwait.c:52
r = <optimized out>
to = {tv_sec = 0, tv_nsec = 999999760}
top = <optimized out>
#4 0x00007faab4f6e052 in __pthread_cond_timedwait (c=0x7faab329d878, m=0x7faab329d850, ts=0x7faab35d5870) at src/thread/pthread_cond_timedwait.c:100
node = {prev = 0x0, next = 0x0, state = 0, barrier = 2, notify = 0x0}
e = <optimized out>
seq = 2
clock = <optimized out>
cs = 0
shared = 0
oldstate = <optimized out>
tmp = <optimized out>
fut = 0x7faab35d5804
#5 0x00007faab4f6d43e in cnd_timedwait (c=<optimized out>, m=<optimized out>, ts=<optimized out>) at src/thread/cnd_timedwait.c:7
ret = <optimized out>
#6 0x00007faab3b05112 in rd_kafka_q_pop_serve () from /usr/lib/librdkafka.so.1
No symbol table info available.
#7 0x00007faab3a9d751 in ?? () from /usr/lib/librdkafka.so.1
No symbol table info available.
#8 0x00007faab3a9ea41 in ?? () from /usr/lib/librdkafka.so.1
No symbol table info available.
#9 0x00007faab3a9f1c6 in ?? () from /usr/lib/librdkafka.so.1
No symbol table info available.
#10 0x00007faab4f6e9e7 in start_c11 (p=<optimized out>) at src/thread/pthread_create.c:215
args = <optimized out>
start = <optimized out>
#11 0x00007faab4f70314 in __clone () at src/thread/x86_64/clone.s:22
No locals.
Backtrace stopped: frame did not save the PC
Thread 57 (LWP 1355 "rdk:main"):
#0 __cp_end () at src/thread/x86_64/syscall_cp.s:29
No locals.
#1 0x00007faab4f6dcb5 in __syscall_cp_c (nr=202, u=<optimized out>, v=<optimized out>, w=<optimized out>, x=<optimized out>, y=<optimized out>, z=0) at src/thread/pthread_cancel.c:33
self = 0x7faab35ffb30
r = <optimized out>
st = <optimized out>
#2 0x00007faab4f6d283 in __futex4_cp (addr=0x7faab35fbec4, op=128, val=2, to=<optimized out>) at src/thread/__timedwait.c:24
r = <optimized out>
r = <optimized out>
#3 __timedwait_cp (addr=addr@entry=0x7faab35fbec4, val=val@entry=2, clk=clk@entry=0, at=at@entry=0x7faab35fbf40, priv=128, priv@entry=1) at src/thread/__timedwait.c:52
r = <optimized out>
to = {tv_sec = 0, tv_nsec = 963999880}
top = <optimized out>
#4 0x00007faab4f6e052 in __pthread_cond_timedwait (c=0x7faab36831b8, m=0x7faab3683190, ts=0x7faab35fbf40) at src/thread/pthread_cond_timedwait.c:100
node = {prev = 0x0, next = 0x0, state = 0, barrier = 2, notify = 0x0}
e = <optimized out>
seq = 2
clock = <optimized out>
cs = 0
shared = 0
oldstate = <optimized out>
tmp = <optimized out>
fut = 0x7faab35fbec4
#5 0x00007faab4f6d43e in cnd_timedwait (c=<optimized out>, m=<optimized out>, ts=<optimized out>) at src/thread/cnd_timedwait.c:7
ret = <optimized out>
#6 0x00007faab3b0551a in rd_kafka_q_serve () from /usr/lib/librdkafka.so.1
No symbol table info available.
#7 0x00007faab3a81c17 in ?? () from /usr/lib/librdkafka.so.1
No symbol table info available.
#8 0x00007faab4f6e9e7 in start_c11 (p=<optimized out>) at src/thread/pthread_create.c:215
args = <optimized out>
start = <optimized out>
#9 0x00007faab4f70314 in __clone () at src/thread/x86_64/clone.s:22
No locals.
Backtrace stopped: frame did not save the PC
Thread 1 (LWP 7 "php-fpm"):
#0 __cp_end () at src/thread/x86_64/syscall_cp.s:29
No locals.
#1 0x00007faab4f6dcb5 in __syscall_cp_c (nr=202, u=<optimized out>, v=<optimized out>, w=<optimized out>, x=<optimized out>, y=<optimized out>, z=0) at src/thread/pthread_cancel.c:33
self = 0x7faab4facb28 <builtin_tls+136>
r = <optimized out>
st = <optimized out>
#2 0x00007faab4f6d283 in __futex4_cp (addr=0x7ffdc128f004, op=128, val=2, to=<optimized out>) at src/thread/__timedwait.c:24
r = <optimized out>
r = <optimized out>
#3 __timedwait_cp (addr=addr@entry=0x7ffdc128f004, val=val@entry=2, clk=clk@entry=0, at=at@entry=0x7ffdc128f080, priv=128, priv@entry=1) at src/thread/__timedwait.c:52
r = <optimized out>
to = {tv_sec = 4, tv_nsec = 999999780}
top = <optimized out>
#4 0x00007faab4f6e052 in __pthread_cond_timedwait (c=0x7faab36830f8, m=0x7faab36830d0, ts=0x7ffdc128f080) at src/thread/pthread_cond_timedwait.c:100
node = {prev = 0x0, next = 0x0, state = 0, barrier = 2, notify = 0x0}
e = <optimized out>
seq = 2
clock = <optimized out>
cs = 0
shared = 0
oldstate = <optimized out>
tmp = <optimized out>
fut = 0x7ffdc128f004
#5 0x00007faab4f6d43e in cnd_timedwait (c=<optimized out>, m=<optimized out>, ts=<optimized out>) at src/thread/cnd_timedwait.c:7
ret = <optimized out>
#6 0x00007faab3b0551a in rd_kafka_q_serve () from /usr/lib/librdkafka.so.1
No symbol table info available.
#7 0x00007faab3ce3c95 in zim_RdKafka_poll (execute_data=0x7faab3e13820, return_value=0x7ffdc128f200) at /tmp/pear/temp/rdkafka/rdkafka.c:693
__z = 0x7ffdc128f200
intern = <optimized out>
timeout = 5000
#8 0x0000561f413d3c23 in execute_ex ()
No symbol table info available.
#9 0x0000561f413d4e53 in zend_execute ()
No symbol table info available.
#10 0x0000561f413639b0 in zend_execute_scripts ()
No symbol table info available.
#11 0x0000561f412fd00e in php_execute_script ()
No symbol table info available.
#12 0x0000561f4104d5e6 in ?? ()
No symbol table info available.
#13 0x00007faab4f49496 in libc_start_main_stage2 (main=0x561f4104c860, argc=1, argv=0x7ffdc1291ba8) at src/env/__libc_start_main.c:95
envp = 0x7ffdc1291bb8
#14 0x0000561f4104e3bf in _start ()
No symbol table info available.
(gdb) info sharedlibrary
From To Syms Read Shared Object Library
0x00007faab4ed6010 0x00007faab4ef46f8 Yes (*) /usr/lib/libreadline.so.8
0x00007faab4dbe010 0x00007faab4dd1039 Yes (*) /usr/lib/libiconv.so.2
0x00007faab4cd5010 0x00007faab4d711a4 Yes (*) /usr/lib/libxml2.so.2
0x00007faab4c04010 0x00007faab4c769a9 Yes (*) /usr/lib/libssl.so.3
0x00007faab47f1000 0x00007faab4ab5ed9 Yes (*) /usr/lib/libcrypto.so.3
0x00007faab462a040 0x00007faab475edc0 Yes (*) /usr/lib/libsqlite3.so.0
0x00007faab4608040 0x00007faab461644f Yes (*) /usr/lib/libz.so.1
0x00007faab4570010 0x00007faab45d83dc Yes (*) /usr/lib/libcurl.so.4
0x00007faab44e9010 0x00007faab4508dcf Yes (*) /usr/lib/libonig.so.5
0x00007faab44d7020 0x00007faab44dcf6e Yes (*) /usr/lib/libargon2.so.1
0x00007faab4f1c080 0x00007faab4f72e01 Yes /lib/ld-musl-x86_64.so.1
0x00007faab4490010 0x00007faab44b86eb Yes (*) /usr/lib/libncursesw.so.6
0x00007faab444d040 0x00007faab4472ce3 Yes (*) /usr/lib/liblzma.so.5
0x00007faab4417040 0x00007faab443d832 Yes (*) /usr/lib/libcares.so.2
0x00007faab43ef010 0x00007faab43fe5be Yes (*) /usr/lib/libnghttp2.so.14
0x00007faab43bc010 0x00007faab43c2366 Yes (*) /usr/lib/libidn2.so.0
0x00007faab43a8010 0x00007faab43a9511 Yes (*) /usr/lib/libpsl.so.5
0x00007faab42fa040 0x00007faab4391232 Yes (*) /usr/lib/libzstd.so.1
0x00007faab42e8040 0x00007faab42f02a6 Yes (*) /usr/lib/libbrotlidec.so.1
0x00007faab4151010 0x00007faab417cacf Yes (*) /usr/lib/libunistring.so.5
0x00007faab4120020 0x00007faab412076b Yes (*) /usr/lib/libbrotlicommon.so.1
0x00007faab3d11bc0 0x00007faab3dca6a4 Yes (*) /usr/local/lib/php/extensions/no-debug-non-zts-20220829/opcache.so
0x00007faab402b040 0x00007faab404cd4d Yes (*) /usr/lib/libgcc_s.so.1
0x00007faab401e400 0x00007faab40230e1 Yes (*) /usr/local/lib/php/extensions/no-debug-non-zts-20220829/bcmath.so
0x00007faab3ce1d60 0x00007faab3ced262 Yes /usr/local/lib/php/extensions/no-debug-non-zts-20220829/rdkafka.so
0x00007faab3a73040 0x00007faab3c38706 Yes (*) /usr/lib/librdkafka.so.1
0x00007faab3a38010 0x00007faab3a45fab Yes (*) /usr/lib/libsasl2.so.3
0x00007faab3a11040 0x00007faab3a2e90b Yes (*) /usr/lib/liblz4.so.1
0x00007faab39f88f0 0x00007faab3a03314 Yes (*) /usr/local/lib/php/extensions/no-debug-non-zts-20220829/sodium.so
0x00007faab39aa020 0x00007faab39dc85a Yes (*) /usr/lib/libsodium.so.26
0x00007faab3717010 0x00007faab3718770 Yes (*) /usr/lib/sasl2/libanonymous.so
0x00007faab3711010 0x00007faab37129ab Yes (*) /usr/lib/sasl2/libplain.so
0x00007faab370a010 0x00007faab370c63a Yes (*) /usr/lib/sasl2/libsasldb.so
0x00007faab36fc010 0x00007faab3702fba Yes (*) /usr/lib/libgdbm.so.6
(*): Shared library is missing debugging information.
php-rdkafka Version
6.0.5
librdkafka Version
2.6.1
PHP Version
8.2.29
Operating System
Alpine
Kafka Version
MSK 2.8.0