apache / apache/brpc

CheckHealth()导致服务崩溃

Open
#2,606 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
17.6k
Forks
4.1k
Avg merge
2d 12h
Merged PRs (30d)
69

Description

压测时,服务出现crash,跟踪日志发现是CheckHealth()导致的,想问下什么情况下CheckHealth()会出现崩溃的风险。crash日志如下:
ERROR: 2024-04-16 23:14:37.221456 [1904:0]line=32||trace_back=bin/xxxx(logging::LogStream::FlushWithoutReset()+0xde) [0xdc862e]||
ERROR: 2024-04-16 23:14:37.221460 [1904:0]line=33||trace_back=bin/xxxx(logging::LogMessage::~LogMessage()+0x2b) [0xdc8a8b]||
ERROR: 2024-04-16 23:14:37.221463 [1904:0]line=34||trace_back=bin/xxxx(brpc::Socket::CheckHealth()+0x154) [0xd718b4]||
ERROR: 2024-04-16 23:14:37.221467 [1904:0]line=35||trace_back=bin/xxxx(brpc::HealthCheckTask::OnTriggeringTask(timespec*)+0x73) [0xe05913]||
ERROR: 2024-04-16 23:14:37.221470 [1904:0]line=36||trace_back=bin/xxxx() [0xe1c9bb]||
ERROR: 2024-04-16 23:14:37.221474 [1904:0]line=37||trace_back=bin/xxxx(bthread::TaskGroup::task_runner(long)+0xfa) [0xdfd3ca]||
ERROR: 2024-04-16 23:14:37.221478 [1904:0]line=38||trace_back=bin/xxxx(bthread_make_fcontext+0x21) [0xde7b51]||

Contributor guide

Open the contributing guide

Research direction

Start with the supplied stress-test crash log and trace the CheckHealth() call from HealthCheckTask::OnTriggeringTask. Determine which condition causes the crash and document the finding or fix the underlying issue; done means the triggering condition is understood and the crash is prevented or explained.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
backend, networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.