Skip to content

brpc客户端多并发下卡在callmethod函数 #3164

@woailunhua

Description

@woailunhua

Describe the bug
brpc客户端多并发下卡在callmethod函数,不会报错也不返回结果(一直卡死)我这里设置的是同步接口,服务端也收不到这十个请求,下面是gdb 堆栈信息:
#0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1 0x00007f1baf0261fe in bthread::futex_wait_private (timeout=0x0, expected=0, addr1=0x7f1b50ff2140) at ./src/bthread/sys_futex.h:40
#2 bthread::wait_pthread (pw=..., ptimeout=ptimeout@entry=0x0) at src/bthread/butex.cpp:142
#3 0x00007f1baf026950 in bthread::butex_wait_from_pthread (abstime=0x0, expected_value=1, b=0x7f1b24054210, g=) at src/bthread/butex.cpp:615
#4 bthread::butex_wait (arg=arg@entry=0x7f1b24054210, expected_value=expected_value@entry=1, abstime=abstime@entry=0x0) at src/bthread/butex.cpp:648
#5 0x00007f1baf02fb19 in bthread_id_join (id=...) at src/bthread/id.cpp:529
#6 0x00007f1baf0d82e9 in brpc::Channel::CallMethod (this=0x7f1b680d9b20, method=0x0, controller_base=0x7f1b50ff22f0, request=0x0, response=0x0, done=0x0) at src/brpc/channel.cpp:581

To Reproduce

Expected behavior
希望不要一直卡住,要么返回错误日志,要么返回结果。

Versions
OS:linux Ubuntu 22.04.4 LTS
Compiler: c++17
brpc: 项目经过多人,不清楚是哪个版本的brpc
protobuf:基于http协议,没有用到

Additional context/screenshots

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions