aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/manager/diff.go
diff options
context:
space:
mode:
authorAleksandr Nogikh <nogikh@google.com>2025-07-29 12:23:28 +0200
committerAleksandr Nogikh <nogikh@google.com>2025-07-29 13:34:28 +0000
commitf8f2b4da0e6eaaf0aeed6f6d613d86d599aafcd3 (patch)
tree850f6cb307eac11f415ec978592dfb4343d64519 /pkg/manager/diff.go
parentba28e0a86a1747112e1216d1f602ca4254bdf1f7 (diff)
pkg/manager: improve patched crash skip rules
The rules were too generic - there are plenty of functions that have "stall" as substring, yet they do not relate to rcu stall bugs. Improve the rules list and add a unit test.
Diffstat (limited to 'pkg/manager/diff.go')
-rw-r--r--pkg/manager/diff.go19
1 files changed, 13 insertions, 6 deletions
diff --git a/pkg/manager/diff.go b/pkg/manager/diff.go
index a81a2995f..6de92e340 100644
--- a/pkg/manager/diff.go
+++ b/pkg/manager/diff.go
@@ -323,16 +323,23 @@ func (dc *diffContext) monitorPatchedCoverage(ctx context.Context) error {
// TODO: instead of this limit, consider expotentially growing delays between reproduction attempts.
const maxReproAttempts = 6
+func skipDiffRepro(title string) bool {
+ if strings.Contains(title, "no output") ||
+ strings.Contains(title, "lost connection") ||
+ strings.Contains(title, "detected stall") ||
+ strings.Contains(title, "SYZ") {
+ // Don't waste time reproducing these.
+ return true
+ }
+ return false
+}
+
func (dc *diffContext) NeedRepro(crash *Crash) bool {
if crash.FullRepro {
return true
}
- if strings.Contains(crash.Title, "no output") ||
- strings.Contains(crash.Title, "lost connection") ||
- strings.Contains(crash.Title, "stall") ||
- strings.Contains(crash.Title, "SYZ") {
- // Don't waste time reproducing these.
- return false
+ if skipDiffRepro(crash.Title) {
+ return true
}
dc.mu.Lock()
defer dc.mu.Unlock()