diff options
| author | Aleksandr Nogikh <nogikh@google.com> | 2025-06-20 12:37:09 +0200 |
|---|---|---|
| committer | Aleksandr Nogikh <nogikh@google.com> | 2025-06-20 11:46:46 +0000 |
| commit | 9bb62db1bfe90fc5d95070ce230207680c17c485 (patch) | |
| tree | 7b8e8af19a1f43bba05516d6fffa89d7020d7b2b /pkg/report/linux.go | |
| parent | ed3e87f71e79614f39e963e510c1e594d35a2ea2 (diff) | |
pkg/report: improve Rust report parsing
We need to look for the error type after the "rust_kernel: panicked"
line.
Ignore some common irrelevant frames.
Diffstat (limited to 'pkg/report/linux.go')
| -rw-r--r-- | pkg/report/linux.go | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/pkg/report/linux.go b/pkg/report/linux.go index 32b2fba0b..724445b36 100644 --- a/pkg/report/linux.go +++ b/pkg/report/linux.go @@ -2314,6 +2314,27 @@ var linuxOopses = append([]*oops{ crash.UnknownType, }, { + []byte("rust_kernel: panicked"), + []oopsFormat{ + { + title: compile("rust_kernel: panicked"), + report: compile("rust_kernel: panicked at [^\n]*?\n(.+?)\n"), + fmt: "%[1]v in %[2]v", + stack: &stackFmt{ + parts: []*regexp.Regexp{ + linuxCallTrace, + parseStackTrace, + }, + skip: []string{ + regexp.QuoteMeta(`__rustc::rust_begin_unwind`), + }, + }, + }, + }, + []*regexp.Regexp{}, + crash.UnknownType, + }, + { []byte("kernel BUG"), []oopsFormat{ { |
