FindingsTasks that fuzz, or otherwise hunt for bugs, can report what they find to sai-server through their pool (see README-pool.md). sai-server groups the findings into bugs, tells admins about new ones, and gives the builders each bug's reproducer to replay, so CI keeps failing while a known bug is still there. Findings may be unfixed security bugs. Their details are only ever shown to admins in sai-web, and mail about them only says what and where, never the report. A task reporting findings this way should keep sanitizer reports out of its log, since task logs are public. Reporting a findingA finding is a pair of files the task leaves in
As with any finding file, write each under a name starting with Grouping into bugsWhen sai-server has both files of a finding, it works out which bug it is from the report:
Only function names count, not line numbers, so the same bug stays the same bug while unrelated code around it changes. Findings in the same sub with the same kind and functions are the same bug, a "group". Each group remembers how many times it was found, when, at which commits and on which platforms, and the smallest input that reproduced it. NewsA group is news when it's first found, and when a group that was marked fixed is found again (a regression). News is:
Further findings of an open group just count. Replaying known bugsEach group's smallest reproducer is published in the pool's known namespace, at
Groups marked fixed are still replayed, to catch them coming back. Groups marked "won't fix" aren't. In sai-webAdmins get a "findings" button under the login, which turns red with the count of unacknowledged groups. It opens a list of every pool's groups, with what and where each bug is, how often it was found and when, and when its reproducer last didn't crash. For each group, admins can:
Mail goes through the lws SMTP client of sai-server's vhost (lws needs to be
built with
and the vhost's A mail only counts as sent when the relay accepted it. Mail that couldn't be sent, eg, because the relay was down or sai-server restarted, is tried again every five minutes. Mail the relay refuses outright isn't tried again, but the group stays flagged in sai-web until it's acknowledged. |