-
Notifications
You must be signed in to change notification settings - Fork 3.2k
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
自定义进程wait futex queue异常 #5659
Comments
补充一下strace日志 |
gdb -p bt 看调用栈 |
/opt/www # gdb -p 35 For help, type "help". |
没有调试符号,你需要换成有调试符号的环境去重现看一下 |
这个是线上偶现的,异步队列里面的逻辑是请求第三方接口获取数据,设置guzzleHttp超时时间5s,从1月6号开始,大概经过1天后会突然出现这样子的情况 |
这个问题暂时没办法在测试环境复现,没有相关的debug日志;
|
@crystal9002 你需要查看阻塞时的调用栈才能知道问题出现在哪里。 |
Please answer these questions before submitting your issue.
使用hyperf3.1的redis异步队列从redis消费数据,消费进程卡死,看起来是等待futex信号回调, 麻烦帮忙看下怎么解决
异常进程堆栈信息如下:
/proc/35 # cat /proc/35/task/*/stack
[<0>] futex_wait_queue+0x60/0x90
[<0>] futex_wait+0x163/0x260
[<0>] do_futex+0x12d/0x1d0
[<0>] __x64_sys_futex+0x73/0x1d0
[<0>] do_syscall_64+0x35/0x80
[<0>] entry_SYSCALL_64_after_hwframe+0x6e/0xd8
[<0>] futex_wait_queue+0x60/0x90
[<0>] futex_wait+0x163/0x260
[<0>] do_futex+0x12d/0x1d0
[<0>] __x64_sys_futex+0x73/0x1d0
[<0>] do_syscall_64+0x35/0x80
[<0>] entry_SYSCALL_64_after_hwframe+0x6e/0xd8
[<0>] futex_wait_queue+0x60/0x90
[<0>] futex_wait+0x163/0x260
[<0>] do_futex+0x12d/0x1d0
[<0>] __x64_sys_futex+0x73/0x1d0
[<0>] do_syscall_64+0x35/0x80
[<0>] entry_SYSCALL_64_after_hwframe+0x6e/0xd8
[<0>] futex_wait_queue+0x60/0x90
[<0>] futex_wait+0x163/0x260
[<0>] do_futex+0x12d/0x1d0
[<0>] __x64_sys_futex+0x73/0x1d0
[<0>] do_syscall_64+0x35/0x80
[<0>] entry_SYSCALL_64_after_hwframe+0x6e/0xd8
[<0>] __skb_wait_for_more_packets+0x13c/0x180
[<0>] __skb_recv_udp+0x202/0x330
[<0>] udpv6_recvmsg+0x181/0x790
[<0>] inet6_recvmsg+0x116/0x130
[<0>] ____sys_recvmsg+0x87/0x180
[<0>] ___sys_recvmsg+0x7c/0xd0
[<0>] __sys_recvmsg+0x56/0xa0
[<0>] do_syscall_64+0x35/0x80
[<0>] entry_SYSCALL_64_after_hwframe+0x6e/0xd8
[<0>] futex_wait_queue+0x60/0x90
[<0>] futex_wait+0x163/0x260
[<0>] do_futex+0x12d/0x1d0
[<0>] __x64_sys_futex+0x73/0x1d0
[<0>] do_syscall_64+0x35/0x80
[<0>] entry_SYSCALL_64_after_hwframe+0x6e/0xd8
/proc/35 # cat wchan
futex_wait_queue
php --ri swoole
)?swoole
Swoole => enabled
Author => Swoole Team team@swoole.com
Version => 5.1.3
Built => Jul 25 2024 02:11:01
coroutine => enabled with boost asm context
epoll => enabled
eventfd => enabled
signalfd => enabled
spinlock => enabled
rwlock => enabled
openssl => OpenSSL 3.1.6 4 Jun 2024
dtls => enabled
http2 => enabled
json => enabled
curl-native => enabled
pcre => enabled
c-ares => 1.19.1
zlib => 1.2.13
brotli => E16777225/D16777225
mutex_timedlock => enabled
pthread_barrier => enabled
async_redis => enabled
coroutine_pgsql => enabled
coroutine_odbc => enabled
coroutine_sqlite => enabled
Directive => Local Value => Master Value
swoole.enable_coroutine => On => On
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 => Off => Off
swoole.unixsock_buffer_size => 8388608 => 8388608
uname -a
&php -v
&gcc -v
) ?/opt/www # uname -a
Linux playlet_api01 6.1.92-99.174.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Jun 4 15:43:46 UTC 2024 x86_64 Linux
/opt/www # php -v
PHP 8.1.27 (cli) (built: Feb 21 2024 14:48:59) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.27, Copyright (c) Zend Technologies
with Zend OPcache v8.1.27, Copyright (c), by Zend Technologies
The text was updated successfully, but these errors were encountered: