apache / brpc

brpc is an Industrial-grade RPC framework using C++ Language, which is often used in high performance system such as Search, Storage, Machine learning, Advertisement, Recommendation etc. "brpc" means "better RPC".
https://brpc.apache.org
Apache License 2.0
16.04k stars 3.92k forks source link

brpcDummyServer成功启动但无法工作问题 #2649

Closed Georgexzp closed 1 month ago

Georgexzp commented 1 month ago

我启动了一个带有brpcDummyServer的进程并希望他能够正常工作,启动过程没有异常,brpc也打印了服务已在指定端口号启动,但是通过curl 命令却一直卡住没有回复。 我对比了一个示例程序和我的程序的pstack,两者都包含如下线程的堆栈

0 0x00007fd1ee58d9fd in nanosleep () from /lib64/libc.so.6

1 0x00007fd1ee5be2d4 in usleep () from /lib64/libc.so.6

2 0x00007fd1ef2d0162 in bvar::detail::SamplerCollector::run() () from /lib64/libbrpc.so

3 0x00007fd1ef2d0ca0 in bvar::detail::SamplerCollector::sampling_thread(void*) () from /lib64/libbrpc.so

4 0x00007fd1edba8ea5 in start_thread () from /lib64/libpthread.so.0

5 0x00007fd1ee5c6b0d in clone () from /lib64/libc.so.6

但是能够运行工作的示例程序包含bthread的堆栈,这个我在自己的程序中没有。

我想问下这种情况一般是怎么造成的,我猜测和我cmakelists链接brpc的方式有关但不知道如何定位,本身我自己的程序也没有在dummyserver启动时报错