lilothar opened a new issue, #2277:
URL: https://github.com/apache/brpc/issues/2277

   **Describe the bug (描述bug)**
   用braft的example atomic做测试,将atomic的 
Atomic类单独实现,编译成一个.so,再讲so链接到server上,启动server会发生死锁,一直cpu 
100%将分开的类Atomic的cpp文件与server文件一起编译,可以正常启动,gdb查看了一下调用栈,在bthread中死锁了,使用的版本brpc1.5,brpc1.0左右,用brpc
 + braft做过一些应用,无论一起编译还是分开编译,都可以正常运行,记忆里1.0之后对协程锁有过升级,是否是升级引入的新问题?
   #0  0x000055e84718fc20 in pthread_once@plt ()
   #1  0x000055e8472c158f in bthread::first_sys_pthread_mutex_lock 
(mutex=0x55e8497432c8) at /src/bthread/mutex.cpp:431
   #2  0x00007f9d4c2ea999 in google::protobuf::internal::OnShutdownRun(void 
(*)(void const*), void const*) () from 
/home/ubuntu/miniconda3/envs/ea-dev/lib/libprotobuf.so.31
   #3  0x00007f9d4c2e2eef in 
google::protobuf::internal::InitProtobufDefaultsSlow() () from 
/lib/libprotobuf.so.31
   #4  0x00007f9d4c382de6 in google::protobuf::(anonymous 
namespace)::AddDescriptorsImpl(google::protobuf::internal::DescriptorTable 
const*) [clone .constprop.0] () from 
/home/ubuntu/miniconda3/envs/ea-dev/lib/libprotobuf.so.31
   #5  0x00007f9d4c91447e in call_init (l=<optimized out>, argc=argc@entry=7, 
argv=argv@entry=0x7ffca51ad418, env=env@entry=0x7ffca51ad458) at 
./elf/dl-init.c:70
   #6  0x00007f9d4c914568 in call_init (env=0x7ffca51ad458, 
argv=0x7ffca51ad418, argc=7, l=<optimized out>) at ./elf/dl-init.c:33
   #7  _dl_init (main_map=0x7f9d4c9492e0, argc=7, argv=0x7ffca51ad418, 
env=0x7ffca51ad458) at ./elf/dl-init.c:117
   #8  0x00007f9d4c92e2ea in _dl_start_user () from /lib64/ld-linux-x86-64.so.2
   #9  0x0000000000000007 in ?? ()
   #10 0x00007ffca51af018 in ?? ()
   #11 0x00007ffca51af021 in ?? ()
   #12 0x00007ffca51af039 in ?? ()
   #13 0x00007ffca51af052 in ?? ()
   #14 0x00007ffca51af071 in ?? ()
   #15 0x00007ffca51af081 in ?? ()
   
   
   **To Reproduce (复现方法)**
   必现
   
   **Expected behavior (期望行为)**
   正常运行
   
   **Versions (各种版本)**
   OS: ubuntu
   Compiler: gcc
   brpc:1.5
   protobuf:master
   
   **Additional context/screenshots (更多上下文/截图)**
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to