Skip to content

Why CHECK in regular logic? #1112

@acelyc111

Description

@acelyc111

Describe the bug (描述bug)
I found a coredump with backtrace:

(gdb) bt
#0  0x00007f5aa1e5e1d7 in raise () from /lib64/libc.so.6
#1  0x00007f5aa1e5f8c8 in abort () from /lib64/libc.so.6
#2  0x0000000001a707a6 in google::DumpStackTraceAndExit () at src/utilities.cc:147
#3  0x0000000001a67aad in google::LogMessage::Fail () at src/logging.cc:1599
#4  0x0000000001a69934 in google::LogMessage::SendToLog (this=0x7f5a0d0cc2e0) at src/logging.cc:1553
#5  0x0000000001a675d4 in google::LogMessage::Flush (this=0x7f5a0d0cc2e0) at src/logging.cc:1422
#6  0x0000000001a6a369 in google::LogMessageFatal::~LogMessageFatal (this=<optimized out>, __in_chrg=<optimized out>) at src/logging.cc:2125
#7  0x0000000001d42dd5 in brpc::DisplayResult (cntl=cntl@entry=0xd56ec80, done=done@entry=0xc01f8c0, prof_name=prof_name@entry=0x7f5a0d0cc860 "./rpc_data/profiling/eb598baf59d1fd3155c1d979479024f6/20200511.124545.cpu", result_prefix=...)
    at /root/doris/doris-dev/thirdparty/src/incubator-brpc-0.9.5/src/brpc/builtin/hotspots_service.cpp:504
#8  0x0000000001d44d0f in brpc::DoProfiling (type=brpc::PROFILING_CPU, cntl_base=0xd56ec80, done=0xc01f8c0) at /root/doris/doris-dev/thirdparty/src/incubator-brpc-0.9.5/src/brpc/builtin/hotspots_service.cpp:740
#9  0x0000000001c88ed8 in brpc::hotspots::CallMethod (this=0x9ce1a80, method=<optimized out>, controller=0xd56ec80, request=0xd603fe0, response=0xd878760, done=0xc01f8c0) at /root/doris/doris-dev/thirdparty/src/incubator-brpc-0.9.5/build/brpc/builtin_service.pb.cc:10451
#10 0x0000000001bdefb4 in brpc::policy::ProcessHttpRequest (msg=<optimized out>) at /root/doris/doris-dev/thirdparty/src/incubator-brpc-0.9.5/src/brpc/policy/http_rpc_protocol.cpp:1467
#11 0x0000000001bac227 in brpc::ProcessInputMessage (void_arg=void_arg@entry=0xc46e2d0) at /root/doris/doris-dev/thirdparty/src/incubator-brpc-0.9.5/src/brpc/input_messenger.cpp:133
#12 0x0000000001bad0a1 in operator() (this=<optimized out>, last_msg=0xc46e2d0) at /root/doris/doris-dev/thirdparty/src/incubator-brpc-0.9.5/src/brpc/input_messenger.cpp:139
#13 brpc::InputMessenger::OnNewMessages (m=0xc4b9800) at /usr/include/c++/7.3.0/bits/unique_ptr.h:268
#14 0x0000000001c55f6d in brpc::Socket::ProcessEvent (arg=0xc4b9800) at /root/doris/doris-dev/thirdparty/src/incubator-brpc-0.9.5/src/brpc/socket.cpp:1077
#15 0x0000000001d08167 in bthread::TaskGroup::task_runner (skip_remained=<optimized out>) at /root/doris/doris-dev/thirdparty/src/incubator-brpc-0.9.5/src/bthread/task_group.cpp:293
#16 0x0000000001cf4531 in bthread_make_fcontext ()
#17 0x0000000000000000 in ?? ()

https://github.com/apache/incubator-brpc/blob/master/src/brpc/builtin/hotspots_service.cpp#L592

好奇这里为什么有一个CHECK(!use_html);,其他地方对于use_htmltruefalse都有正常的处理逻辑,为什么这里不能为true呢?

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