Skip to content

segment fault when use server_options.http_master_service #2947

@gulu-goolu

Description

@gulu-goolu

Describe the bug (描述bug)

(lldb) bt
* thread #5, name = 'brpc_wkr:0-1', stop reason = signal SIGSEGV: address not mapped to object (fault address: 0x0)
    frame #0: 0x00005555563c6bcc sidecar`brpc::policy::HttpResponseSenderAsDone::Run(this=0x00007fffe0020e50) at http_rpc_protocol.cpp:750:32
    frame #1: 0x000055555602f4ae sidecar`brpc::ClosureGuard::~ClosureGuard(this=0x00007fffd4170180) at closure_guard.h:39:20
    frame #2: 0x0000555556020bc4 sidecar`sidecar::(anonymous namespace)::MetaHttpServiceImpl::default_method(this=0x00005555581c4c80, controller=0x00007fffe002e060, request=0x0000000000000000, response=0x0000000000000000, done=0x00007fffe0020e50) at p2p_meta_service.cc:168:3
    frame #3: 0x0000555556056b55 sidecar`sidecar::pb::HttpService::CallMethod(this=0x00005555581c4c80, method=0x000055555820a220, controller=0x00007fffe002e060, request=0x0000000000000000, response=0x0000000000000000, done=0x00007fffe0020e50) at http_service.pb.cc:359:13
  * frame #4: 0x00005555563c1e6f sidecar`brpc::policy::ProcessHttpRequest(msg=0x00007fffe002aaa0) at http_rpc_protocol.cpp:1457:21
    frame #5: 0x000055555639dfc2 sidecar`brpc::ProcessInputMessage(void_arg=0x00007fffe002aaa0) at input_messenger.cpp:184:5
    frame #6: 0x000055555639dffa sidecar`brpc::InputMessenger::InputMessageClosure::~InputMessageClosure(this=0x00007fffd4170e58) at input_messenger.cpp:220:9
    frame #7: 0x000055555639f382 sidecar`brpc::InputMessenger::OnNewMessages(m=0x00007fffe401d2c0) at input_messenger.cpp:407:1
    frame #8: 0x0000555556554c63 sidecar`brpc::Socket::ProcessEvent(arg=0x00007fffe401d2c0) at socket.cpp:1196:5
    frame #9: 0x000055555661f404 sidecar`bthread::TaskGroup::task_runner(skip_remained=0) at task_group.cpp:305:29
    frame #10: 0x000055555662e2b1 sidecar`bthread_make_fcontext + 33

To Reproduce (复现方法)

    brpc::ServerOptions server_options;
    server_options.http_master_service = new MetaHttpServiceImpl();
    if (server_.Start(port, &server_options) != 0) {
      return absl::UnknownError(absl::StrFormat("start failed, err_msg: %s", strerror(errno)));
    }

Expected behavior (期望行为)

Versions (各种版本)
OS: 20.04
Compiler: clang-18
brpc: 1.12.1
protobuf: 29.4

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions