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.51k stars 3.97k forks source link

访问vars信息core #1197

Closed yanglimingcn closed 1 year ago

yanglimingcn commented 4 years ago

Describe the bug (描述bug)

======= Backtrace: ========= /lib64/libc.so.6(+0x75e5e)[0x7f41f7f4be5e] /lib64/libc.so.6(+0x78cad)[0x7f41f7f4ecad] /usr/lib64/libjansson.so.4(json_delete+0x59)[0x7f41a00ea7f9] /lib64/libnss_http.so.2(+0x2c10)[0x7f41b01eec10] /lib64/libnss_http.so.2(_nss_http_getpwuid_r_locked+0xa0)[0x7f41b01ef1d7] /lib64/libnss_http.so.2(_nss_http_getpwuid_r+0x48)[0x7f41b01ef26b] /lib64/libc.so.6(getpwuid_r+0xdd)[0x7f41f7f8203d] /lib64/libc.so.6(+0xae374)[0x7f41f7f84374] /lib64/libc.so.6(getlogin_r+0x19)[0x7f41f7f844d9] /bin/chunkserver[0x11e878f] /bin/chunkserver(_ZNK4bvar13PassiveStatusISsE8describeERSob+0x3f)[0x11c715f] /bin/chunkserver(_ZN4bvar8Variable16describe_exposedERKSsRSobNS_13DisplayFilterE+0xa5)[0x11e0e45] /bin/chunkserver(_ZN4bvar8Variable12dump_exposedEPNS_6DumperEPKNS_11DumpOptionsE+0x146d)[0x11e3ded] /bin/chunkserver(_ZN4brpc11VarsService14default_methodEPN6google8protobuf13RpcControllerEPKNS_11VarsRequestEPNS_12VarsResponseEPNS2_7ClosureE+0x6cb)[0x125a32b] /bin/chunkserver(_ZN4brpc4vars10CallMethodEPKN6google8protobuf16MethodDescriptorEPNS2_13RpcControllerEPKNS2_7MessageEPS8_PNS2_7ClosureE+0x13e)[0x12f25ee] /bin/chunkserver(_ZN4brpc6policy18ProcessHttpRequestEPNS_16InputMessageBaseE+0xe58)[0x1284608] /bin/chunkserver(_ZN4brpc19ProcessInputMessageEPv+0xa)[0x1248fea] /bin/chunkserver(_ZN4brpc14InputMessenger13OnNewMessagesEPNS_6SocketE+0x5e3)[0x1249d03] /bin/chunkserver(_ZN4brpc6Socket12ProcessEventEPv+0xd)[0x120f6dd] /bin/chunkserver(_ZN7bthread9TaskGroup11task_runnerEl+0xfa)[0x11f920a] /bin/chunkserver(bthread_make_fcontext+0x21)[0x1366a31] ======= Memory map: ========

To Reproduce (复现方法)

curl http://127.0.0.1:38888/vars

Expected behavior (期望行为)

不会core

Versions (各种版本) OS:centos6 Compiler: devtoolset-6 (https://www.softwarecollections.org/en/scls/rhscl/devtoolset-6/) brpc: incubator-brpc-0.9.7 protobuf:protobuf-3.11.2

Additional context/screenshots (更多上下文/截图)

image

UncleWangNearBy commented 2 years ago

这个解决了吗 我也会出现core 但是堆栈不太一样

0 0x000000303ec8973e in memcpy () from /lib64/libc.so.6

1 0x0000003040004bf3 in ?? () from /lib64/libz.so.1

2 0x0000003040005d7c in deflate () from /lib64/libz.so.1

3 0x000000000165a65b in google::protobuf::io::GzipOutputStream::Deflate (this=0x7fe6ee6fdff0, flush=4)

at google/protobuf/io/gzip_stream.cc:268

4 0x000000000165a744 in google::protobuf::io::GzipOutputStream::Close (this=this@entry=0x7fe6ee6fdff0)

at google/protobuf/io/gzip_stream.cc:323

5 0x00000000011e4cf8 in brpc::policy::GzipCompress (msg=..., buf=buf@entry=0x7fe6ee6fe190, options_in=options_in@entry=0x0)

at src/brpc/policy/gzip_compress.cpp:102

6 0x00000000011f6b0a in brpc::policy::HttpResponseSender::~HttpResponseSender (this=0x7fe766481108, __in_chrg=)

at src/brpc/policy/http_rpc_protocol.cpp:838

7 0x00000000011f9924 in ~HttpResponseSenderAsDone (this=0x7fe766481100, __in_chrg=)

at src/brpc/policy/http_rpc_protocol.cpp:688

8 brpc::policy::HttpResponseSenderAsDone::~HttpResponseSenderAsDone (this=0x7fe766481100, __in_chrg=)

at src/brpc/policy/http_rpc_protocol.cpp:688

9 0x00000000011bbebb in ~ClosureGuard (this=, __in_chrg=) at ./src/brpc/closure_guard.h:39

10 brpc::StatusService::default_method (this=, cntl_base=0x7fe766453280, done=0x7fe766481100)

at src/brpc/builtin/status_service.cpp:234

11 0x00000000011a8dd3 in brpc::IndexService::default_method (this=, controller=0x7fe766453280,

done=0x7fe766481100) at src/brpc/builtin/index_service.cpp:63

12 0x00000000012a2d95 in brpc::index::CallMethod (this=, method=, controller=,

request=<optimized out>, response=<optimized out>, done=<optimized out>) at src/brpc/builtin_service.pb.cc:7468

13 0x00000000011f7f2a in brpc::policy::ProcessHttpRequest (msg=) at src/brpc/policy/http_rpc_protocol.cpp:1484

14 0x000000000112f8aa in brpc::ProcessInputMessage (void_arg=void_arg@entry=0x7fe766478010) at src/brpc/input_messenger.cpp:135

15 0x00000000011307a8 in operator() (this=, last_msg=0x7fe766478010) at src/brpc/input_messenger.cpp:141

16 brpc::InputMessenger::OnNewMessages (m=0x7fe766a61b40) at /usr/local/gcc4.9.2/include/c++/4.9.2/bits/unique_ptr.h:236

17 0x00000000011592cd in brpc::Socket::ProcessEvent (arg=0x7fe766a61b40) at src/brpc/socket.cpp:1017

18 0x000000000110f451 in bthread::TaskGroup::task_runner (skip_remained=) at src/bthread/task_group.cpp:296

19 0x0000000001265251 in bthread_make_fcontext ()

Backtrace stopped: Cannot access memory at address 0x7fe6ee6ff000

wwbmmm commented 1 year ago

We close this issue because it is irreproducible and inactive for a long time. If you can reproduce this issue with the latest version of bRPC, please reopen this issue and tell us how to reproduce.