| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
| |
The function returned incorrect result when the reporting stage of
interest was completely skipped and never reported.
|
| |
|
|
|
|
|
|
|
|
| |
This helper function can be used in the reporting filtering rules to
skip certain reporting stages depending on whether the previous stage(s)
have been manually upstreamed.
Add tests that it does have the intended effect.
Cc #6554.
|
| |
|
|
|
|
|
|
| |
Support for:
- polling for AI jobs
- handling completion of AI jobs
- submitting job trajectory logs
- basic visualization for AI jobs
|
| |
|
|
|
|
| |
Don't specify the subsystem revision in the dashboard config and instead
let it be nested in the registered subsystems. This reduces the amount
of the manual work needed to switch syzbot to a newer subsystem list.
|
| |
|
|
| |
We periodically send coverage reports for the regressions detection.
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
In some situations, it could be useful to share access to the dashboard
to multiple authentication domains. The current GlobalConfig format
doesn't really allow it so this deprecates the existing field and add a
new slice of allowed authentication domains.
|
| |
|
|
|
|
|
|
|
|
|
| |
The test has recently become broken, but we didn't notice it in our
presubmit testing.
Fix the problem (ReproLog being set to 0).
Run TestAccess also in -short mode, but limit it to ensuring that
non-public URLs are not accessible publicly. The short test now takes 60
seconds compared to 104 seconds without -short.
|
| |
|
|
|
| |
Fix checking of Logf, it has string in 0-th arg.
Add checking of t.Errorf/Fatalf.
|
| |
|
|
|
|
|
|
| |
Poll missing backport commits and, once a missing backport is found to
be present in the fuzzed trees, don't display it on the web dashboard
and send an email with the suggestion to close the bug.
Closes #4425.
|
| |
|
|
|
| |
A recent failure (#4412) could have been more constrained if our
reproducer emails were included in our daily limits. Let's change that.
|
| |
|
|
|
|
|
|
|
|
| |
Fix a bug in the reporting of bugs with revoked reproducers. Add a test
that reproduces the problematic situation.
Also, ensure that we don't include the revoked reproducer into the
report we send to the next reporting stage.
Cc #4412.
|
| |
|
|
|
|
|
|
| |
Currently we count all publicly visible bugs, which can get confusing
now that we keep KCSAN bugs in public moderation. Only consider the
reporting stage at which we generate the report.
This is tested in TestPeriodicSubsystemReminders().
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For upstream Linux namespace, it sometimes takes up to 5-10 seconds to
load the main page. That is too much and the reason for this is
datastore not being intended for frequent querying of thousands of
entities from the database.
Let's take a step forward and at least cache the bugs we display on the
main page. Once in a minute, query them for all access levels, compress
and save to the memcached.
Only do it for non-filtered bugs, because otherwise it works fast
enough.
As the next step we could also take care of terminal pages.
|
| |
|
|
|
| |
Marshal the config at the installing and during getConfig() to ensure
that it's not accidentally changed during code execution.
|
| |
|
|
|
|
|
|
|
|
| |
If a higher-priority crash has become available, re-run bug origin
tests.
Currently, since fix candidate testing runs on tree origin testing
results, we remain bound to the manager used back then. And it can be
that the manager does not support bisections (e.g. qemu) or is quite
problematic (arm64).
|
| |
|
|
|
|
|
| |
Add a per-namespace page that contains:
1) The list of commits to backport from the trees fuzzed in that
namespace.
2) The list of commits to backport into the namespace.
|
| |
|
|
|
|
|
|
| |
There are cases when subsystem names change over time.
As we share /namespace/s/name links in our reminder emails, we have to
make sure they remain valid.
Introduce an old => new name map into the dashboard configuration.
|
| |
|
|
|
| |
Accept only normal fix bisections as a reason to auto-close a bug if
FixBisectionAutoClose is set to true.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
If the label is not user-set and the config specifies a message for it,
send a bug notification.
If the label is related to bug origin testing, attach the list of tested
trees.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Run reproducers on other trees in order to determine
1) Trees where a bug originates (i.e. the reproducer can trigger a bug
in none of the further trees, from which commits flow).
2) Trees, to which the bug has already spread (i.e. the reproducer works
on none of the trees that receive commits from the current one).
3) The abscence of a backport (= the reproducer used to work on some
upstream tree and then stopped).
For (1) the bot assigns the LabelIntroduced from KernelRepo.
For (2) -- the value of LabelReached.
For better understanding see sample configs in tree_test.go.
|
| |
|
|
| |
This will be important for futher changes.
|
| |
|
|
|
|
| |
In further commits KernelRepo will also be used for repro retesting
purposes, so Obsolete is no longer a good name for opting out of
polling.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Refactor patch testing functionality.
Instead of creating patch testing jobs per cron, create them on demand
during pollJob(). This allows to only create jobs for managers that do
support jobs and also simplifies further changes that are related to
patch testing.
As there are too many bugs and poll period is quite small, don't query
all the database each time. Consider a random subset of bugs each time,
this should be enough given high poll rate.
|
| |
|
|
|
|
| |
For some subsystems (e.g. `kernel`) such reports just don't make much
sense, since there are too many incorrectly classified bugs in there.
Make it possible to exclude such subsystems from periodic reminders.
|
| |
|
|
|
|
|
|
|
| |
Collect the information about the discussions under bug reports and
patches that target the reported bugs.
For now only Lore discussions are supported.
Display the discussion list on the bug info page.
|
| |
|
|
|
|
|
|
|
| |
Once in a month, collect for each subsystem the list of bugs that are
still open on the syzbot dashboard and send an email to the
corresponding mailing list.
Support manual moderation of such reminders, we'll need that at least
for the time being.
|
| |
|
|
|
|
| |
There are cases when a previously fuzzed tree was obsoleted and can no
longer be polled for commits. At the same time, we still want to display
short repo aliases in bug reportings and on the dashboard.
|
| |
|
|
| |
Support the #syz set subsystems: A, B, C command.
|
| |
|
|
|
|
| |
After each saved crash, invoke the new pkg/subsystem machinery to infer
the subsystem list. Use 5 crashes with biggest priority to base the
inference on.
|
| |
|
|
| |
It will help gradually switch to the new code, once it's fully ready.
|
| |
|
|
|
|
|
|
| |
These tests require a change in the global configuration during the test
execution, so they at least need their own namespaces in order not to
interfere with other tests.
Fixes #3641
|
| |
|
|
|
| |
As we can easily do the subsystem <-> path mapping, let's also use it
for determining the actual involved filesystem.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
This test is skipped during short testing, but during the full testing
it takes most of the time. At the same time, for testing purposes it's
actually irrelevant whether we keep 40 or 20 crashes, so we're just
wasting time.
Make maxCrashes() mockable and set it to 20 during testing. This makes
full testing 1.5x faster and also gives a small speed improvement for
-short testing.
|
| |
|
|
|
|
|
|
|
|
| |
Previously we could only report a single crash ID for each reporting
stage. That is enough for email reporting, but it unnecessarily
restricts the interface available to external reporting methods.
Instead of relying just on the Reported field of the Crash entity,
introduce the list of other entities that reference the Crash. It lets
us track the moment when the crash has been released by everyone else.
|
| |
|
|
|
|
|
| |
Introduce the /load_full_bug call that, for a given bug ID, returns
1) Bisection results
2) Similar crashes in other namespaces
3) A subset of most noteworthy crashes.
|
| |
|
|
|
| |
After the previous commit, our existing patch testing jobs began to
fail. Fix this by switching them to another test namespace.
|
| |
|
|
| |
Arm32 reports have ")" after the file:line part.
|
| |
|
|
|
|
|
| |
Explicitly tell users about the situations when the incoming request
could be related to several different syzbot bugs.
Test this behavior.
|
| |
|
|
|
|
|
|
| |
The test config changes needed for the recent changes in incoming email
handling testing accidentally broke the AccessTest.
Fix this by introducing a separate test namespace for public email
testing.
|
| |
|
|
| |
It will help us gradually deploy the feature.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently we only determine the bug by looking at the hash encoded after
'+' in syzbot's email address. Users tend to forget to Cc the right
email address while interacting with the bot. Also, it turns out that if
the bug was only sent to Google Groups, any reply to the email thread
does not include the topic starter email address.
Instead of only relying on the right address, try to infer the bug that
was meant by looking more closely at the incoming email.
Parse the mail subject to extract thee title and the sequence number of
the bug.
Extract the mailing list through which the bug was routed to syzbot.
Fetch and filter matching bugs.
If only one matches, handle the command as if it the bug were explicitly
specified.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
Reuse the existing patch testing mechanism to periodically re-check
existing reproducers. If a repro no longer works, mark it as such and
don't consider during bug obsoletion testing.
For obsoleted bugs, pass also a string argument specifying the reason
for the obsoletion. This will make email messages more user-friendly and
also let us later estimate the amount of no longer relevant bugs that we
had on the dashboard.
|
| |
|
|
|
|
|
| |
In some cases Linux build system generates source file names
that contain dots, e.g.:
arch/x86/kvm/../../../virt/kvm/kvm_main.c
Support this in the regexp.
|
| |
|
|
| |
Fixes #652
|