Skip to content

Commit 6debfa2

Browse files
authored
chore(base): rollback to kernel signal handler after dump backtrace (#16828)
* chore(base): rollback to kernel signal handler after dump backrace * chore(base): avoid use heap memory in signal handler * chore(base): avoid use heap memory in signal handler
1 parent 872627c commit 6debfa2

File tree

5 files changed

+191
-151
lines changed

5 files changed

+191
-151
lines changed

โ€ŽCargo.lock

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

โ€Žsrc/common/exception/src/exception_backtrace.rs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,23 @@ impl StackTrace {
157157
StackTrace { frames: vec![] }
158158
}
159159

160+
#[cfg(target_os = "linux")]
161+
pub fn from_ips(frames: &[u64]) -> StackTrace {
162+
let mut stack_frames = Vec::with_capacity(frames.len());
163+
for frame in frames {
164+
stack_frames.push(StackFrame::Ip(*frame as usize));
165+
}
166+
167+
StackTrace {
168+
frames: stack_frames,
169+
}
170+
}
171+
172+
#[cfg(not(target_os = "linux"))]
173+
pub fn from_ips(_: &[u64]) -> StackTrace {
174+
StackTrace::no_capture()
175+
}
176+
160177
#[cfg(not(target_os = "linux"))]
161178
fn capture_frames(frames: &mut Vec<StackFrame>) {
162179
unsafe {

โ€Žsrc/common/tracing/Cargo.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ test = true
1212

1313
[dependencies]
1414
backtrace = { workspace = true, features = ["std", "serialize-serde"] }
15-
bincode = { workspace = true }
1615
chrono = { workspace = true }
1716
databend-common-base = { workspace = true }
1817
databend-common-exception = { workspace = true }

0 commit comments

Comments
ย (0)