Skip to content

PHP 8.5/aarch64: coroutine VM stack use-after-free under high coroutine churnΒ #6094

Description

@smathersDT

Hi there,

Im seeing some instability in the postgres driver, its doing some seg faults under load, i think its because the postgres driver is old
i see there was a change to include thirdparty/php85/pdo_pgsql/php_pdo_pgsql_int.h in #5940
Instead of wrapping php's version looks like swoole is using its own copy with a patch

its likely the culprit, unfortunately this is hard to reproduce

some logs:

Jul 2 13:15:53 ivr01 php[685]: [2026-07-02 13:15:53 $685.0]#011WARNING#011Worker::report_error(): worker(pid=3279, id=41) abnormal exit, status=0, signal=11
Jul 2 13:15:53 ivr01 php[685]: A process crash occurred in Swoole-v6.2.1. Please report this issue.
Jul 2 13:15:53 ivr01 php[685]: You can refer to the documentation below, submit an issue to us on GitHub.
Jul 2 13:15:53 ivr01 php[685]: >> https://github.com/swoole/swoole-src/blob/master/docs/ISSUE.md
Jul 2 13:15:53 ivr01 php[685]: OS: Linux 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:31:58 UTC 2024 aarch64
Jul 2 13:15:53 ivr01 php[685]: GCC_VERSION: 11.4.0
Jul 2 13:15:53 ivr01 php[685]: OPENSSL_VERSION: OpenSSL 3.0.2 15 Mar 2022
Jul 2 13:15:53 ivr01 php[685]: PHP_VERSION : 8.5.7

Jul 2 19:06:20 ivr04 php[3873860]: [2026-07-02 19:06:20 $3873860.0]#011WARNING#011Worker::report_error(): worker(pid=1232177, id=31) abnormal exit, status=0, signal=11
Jul 2 19:06:20 ivr04 php[3873860]: A process crash occurred in Swoole-v6.2.1. Please report this issue.
Jul 2 19:06:20 ivr04 php[3873860]: You can refer to the documentation below, submit an issue to us on GitHub.
Jul 2 19:06:20 ivr04 php[3873860]: >> https://github.com/swoole/swoole-src/blob/master/docs/ISSUE.md
Jul 2 19:06:20 ivr04 php[3873860]: OS: Linux 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:31:58 UTC 2024 aarch64
Jul 2 19:06:20 ivr04 php[3873860]: GCC_VERSION: 11.4.0
Jul 2 19:06:20 ivr04 php[3873860]: OPENSSL_VERSION: OpenSSL 3.0.2 15 Mar 2022
Jul 2 19:06:20 ivr04 php[3873860]: PHP_VERSION : 8.5.7

Machine details:
root@ivr04:/var/log# php --ri swoole

swoole

Swoole => enabled
Author => Swoole Team team@swoole.com
Version => 6.2.1
Built => Jun 12 2026 03:07:54
host byte order => little endian
coroutine => enabled with boost asm context
epoll => enabled
eventfd => enabled
signalfd => enabled
cpu_affinity => enabled
spinlock => enabled
rwlock => enabled
sockets => enabled
openssl => OpenSSL 3.0.2 15 Mar 2022
dtls => enabled
http2 => enabled
json => enabled
curl-native => enabled
curl-version => 7.81.0
zlib => 1.2.11
brotli => E16777225/D16777225
mutex_timedlock => enabled
pthread_barrier => enabled
futex => enabled
postgresql(libpq) version => 14.23
coroutine_pgsql => enabled
execinfo => enabled

Directive => Local Value => Master Value
swoole.enable_library => On => On
swoole.enable_fiber_mock => Off => Off
swoole.enable_preemptive_scheduler => Off => Off
swoole.display_errors => On => On
swoole.use_shortname => On => On
swoole.socket_buffer_size => 8388608 => 8388608
swoole.blocking_detection => Off => Off
swoole.blocking_threshold => 100000 => 100000
swoole.profile => Off => Off
swoole.leak_detection => Off => Off
root@ivr04:/var/log# php -v
PHP 8.5.7 (cli) (built: Jun 11 2026 03:32:06) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.5.7, Copyright (c) Zend Technologies
with Zend OPcache v8.5.7, Copyright (c), by Zend Technologies

Ill see if i can reproduce on my Dev machines with a thread dump...

thanks

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions