| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
This format is much better suitable for our API since we're including a
potentially very big binary blob into every request.
No changes have to be made on the server side -- it already supports
both formats.
Hopefully it will help remediate #4495.
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
In some cases, we derail during bug reproduction and end up finding and
reporting a reproducer for another issue. It causes no problems since
it's bucketed using the new title, but it's difficult to trace such
situations - on the original bug page, there are no failed reproduction
logs and on the new bug page it looks as if we intended to find a
reproducer for the bug with the new title.
Let's record bug reproduction logs in this case, so that we'd also see
a failed bug reproduction attempt on the original bug page.
|
| |
|
|
|
|
|
|
|
|
|
| |
There are cases when syz-manager is killed before it could finish bug
reproduction. If the bug is frequent, it's not a problem - we might have
more luck next time. However, if the bug happened only once, we risk
never finding a repro.
Let syz-managers periodically query dashboard for crash logs to
reproducer. Later we can reuse the same API to move repro sharing
functionality out from syz-hub.
|
| |
|
|
|
| |
This statistics allows us to better estimate the amount of coverage that
is lost after every syzbot instance is restarted.
|
| |
|
|
| |
Define a pkg-only view of the required dashapi methods.
|
| |
|
|
|
| |
It will help users better focus on the problems they have identified as
important themselves.
|
| |
|
|
|
|
| |
Make the tool more flexible by supporting two modes of operation:
1) The already existing mode -- upload the results to dashboard.
2) The local mode -- save parsed LKML discussions as JSON files.
|
| |
|
|
|
|
|
| |
This will help analyze reasons for bug reproduction failures.
This commit does not include visual display of the results, it will
follow later.
|
| |
|
|
|
| |
Add a new CrossTree field to dashapi.BisectResult in order to
distinguish fix candidate results from normal fix bisections.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
If tree origin assessment code has identified that the bug is not
reproducible in a tree from which we merge/cherry-pick commits, use fix
bisection to identify that commit. This can e.g. be used to find fixing
commits that were not backported from Linux kernel mainline into LTS
branches.
In case of bisection errors, re-do such jobs every 30 days.
Remember in the Bug structure whether there's a fix candidate and return
the details in the full bug info API query.
|
| |
|
|
|
|
|
| |
For bisections, only return it if it's successful. We don't seem to be
interested in specific values for jobs anyway.
Do the same for KernelCommitDate.
|
| |
|
|
|
| |
This will let us use the same code for sampling-based generation of
bisection jobs as well.
|
| | |
|
| |
|
|
|
| |
De-facto BugReport anyway refers to a specified crash and not just to
the bug in general. Let's also include the Manager field there.
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
Changes to our rootfs, compilers or bisection logic regularly cause
regressions in our bisection accuracy. Retrying them currently entails
fiddling with the GCP datastore directly or mass deleting all failed
bisections.
This change will allow us to retry specific bisections with a single
click.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
|
| |
Display them as a collapsible block on the bug info page. Use colors to
distinguish results.
|
| |
|
|
|
|
|
| |
This is a quite generic information that can be useful not just for
templating, but also for API calls.
Reuse the already existing dashapi.Commit structure.
|
| |
|
|
|
| |
If the bisection failed due to infrastructure problems, let's retry it
in 7 days.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
If merge base repo & branch are specified, syz-ci will first calculate
the merge base between KernelRepo + KernelBranch and MergeBaseRepo +
MergeBaseBranch and then it will execute patch testing on the latest
commit reachable from both.
If there's no such commit or several ones are equally good, abort the
job with an error.
Also, support a TreeOrigin job flag that will be needed later.
|
| |
|
|
|
| |
To make reports better distinguishable, include the month and the year
when the report was generated. E.g. "Monthly ext4 report (Jan 2000)".
|
| |
|
|
|
|
| |
DiscussionReport are the discussions started by syzbot.
All other discussions that Cc syzbot or mention its bugs are
DiscussionMention.
|
| |
|
|
|
|
|
|
| |
Bugs are also mentioned in mass reminders, treat it as a separate
discussion type.
Later we'll want to limit the number of DiscussionReminder discussions
we show on a bug page, so this information will be very useful.
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
| |
This will make FullBugInfo's contents much more useful.
|
| |
|
|
|
|
| |
If the `#syz regenerate` command is sent in response to a bug list,
dashboard will schedule its regeneration the next time the corresponding
cron job is run.
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
Only include the question mark sign for automatically inferred
subsystems. For user-set subsystems, just put tags in the brackets:
[net] [fs].
|
| | |
|
| |
|
|
| |
Include the link to the subsystem page on the dashboard.
|
| |
|
|
|
| |
The update_report API can be used to re-fill the missing report details
after a crash has already been sent to syzbot.
|
| |
|
|
|
| |
This will help optimize the detection and addition of missing fields to
the existing reports.
|
| |
|
|
|
|
|
| |
Modify job_poll never to return already started jobs.
Introduce a special job_reset API call to clear the "started" flag for
the specified list of managers.
|
| |
|
|
|
| |
If the original email thread is lost, it can be hard to get to the
original bug.
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
They will be used properly at some later time, for now we'll just keep
shortened guilty paths there.
Once we have the full subsystem support, all these values will just get
overridden by normal names.
Return subsystems in BugReports.
|
| |
|
|
|
| |
Bisection jobs can refer to other crashes/builds, so for the full bug
info we need complete BugReport objects.
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
Accept patch testing requests not only via email, but also by a direct
dashboard API request.
Introduce a new /add_test_job API call.
Add tests that verify the expected flow and some side cases.
|
| |
|
|
|
|
|
|
|
|
| |
They are stored and handled in a similar way to build assets.
1) syz-manager uploads assets to the storage and reports download URLs
in the /report_crash request.
2) syz-ci manages crash assets deprecation.
3) dashboard includes crash assets in bug reports.
For now the only type is MountInRepro.
|
| |
|
|
|
| |
To simplify the extraction code, let's make segments non-overlapping
even before execution.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|