-
Notifications
You must be signed in to change notification settings - Fork 16
[crashtracking] Make siginfo an optional field for CrashPing #1326
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Codex Review
Here are some automated review suggestions for this pull request.
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| pub fn build(self) -> anyhow::Result<CrashPing> { | ||
| let crash_uuid = self.crash_uuid; | ||
| let sig_info = self.sig_info.context("sig_info is required")?; | ||
| let sig_info = self.sig_info; | ||
| let metadata = self.metadata.context("metadata is required")?; | ||
|
|
||
| let message = self.custom_message.unwrap_or_else(|| { | ||
| format!( | ||
| "Crashtracker crash ping: crash processing started - Process terminated with {:?} ({:?})", | ||
| sig_info.si_code_human_readable, sig_info.si_signo_human_readable | ||
| ) | ||
| if let Some(ref sig_info) = sig_info { | ||
| format!( | ||
| "Crashtracker crash ping: crash processing started - Process terminated with {:?} ({:?})", | ||
| sig_info.si_code_human_readable, sig_info.si_signo_human_readable | ||
| ) | ||
| } else { | ||
| "Crashtracker crash ping: crash processing started - Process terminated".to_string() | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Include "unknown signal" in crash ping default message
When sig_info is absent the builder falls back to "Crashtracker crash ping: crash processing started - Process terminated" and never mentions that the signal is unknown. However, test_crash_ping_builder_validation now asserts crash_ping.message().contains("unknown signal"), so the new test will always fail and Windows crash pings will be logged without an explicit indication that no signal data was available. The else branch should produce a message that contains "unknown signal" (or the test expectation should be adjusted).
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Confused because your comment is for how the code was in the first commit, but the code snippet you show is the latest, correct version. Also I only asked you for a review after the latest version was pushed...
Bad AI!
BenchmarksComparisonBenchmark execution time: 2025-11-10 11:11:21 Comparing candidate commit 75337b1 in PR branch Found 0 performance improvements and 0 performance regressions! Performance is the same for 55 metrics, 2 unstable metrics. CandidateCandidate benchmark detailsGroup 1
Group 2
Group 3
Group 4
Group 5
Group 6
Group 7
Group 8
Group 9
Group 10
Group 11
Group 12
Group 13
Group 14
Group 15
Group 16
Group 17
BaselineOmitted due to size. |
|
2f66e14 to
75337b1
Compare
|
Summary
Testing
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1326 +/- ##
==========================================
- Coverage 71.42% 71.40% -0.03%
==========================================
Files 375 375
Lines 59469 59484 +15
==========================================
- Hits 42475 42472 -3
- Misses 16994 17012 +18
🚀 New features to boost your workflow:
|
Artifact Size Benchmark Reportaarch64-alpine-linux-musl
aarch64-unknown-linux-gnu
libdatadog-x64-windows
libdatadog-x86-windows
x86_64-alpine-linux-musl
x86_64-unknown-linux-gnu
|
gleocadie
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
|
/merge |
|
View all feedbacks in Devflow UI.
The expected merge time in
|

What does this PR do?
Platforms like Windows cannot send siginfo because Windows does not have POSIX style signals. We should not hard gate on siginfo being received to create and emit a Crash Ping.
Motivation
What inspired you to submit this pull request?
Additional Notes
Anything else we should know when reviewing?
How to test the change?
examples/ffi/crashinfo.cppupdated and ran:Pings:
Reports: