Commit Graph

73 Commits

Author SHA1 Message Date
Dmitry Vyukov
73aba437a7 dashboard/app: bump max repros per bug to 10
We badly need repros. Developers complain.
2017-12-22 19:59:56 +01:00
Dmitry Vyukov
2d836b1d35 dashboard/app: add default maintainers to email config
Crashes without maintainers are nasty. There is no way to do
anything with them without altering the datastore (they are not mailed).

Add DefaultMaintainers to email config.
These addresses are added to all reported bugs as maintainers (e.g. LKML).
One the report is mailed it's possible to CC more people on it.
2017-12-19 15:03:33 +01:00
Dmitry Vyukov
f2909d097e dashboard/app: add API for polling for closed bugs
External reporting may need to know when dashboard
is not interested in bugs anymore.
Add API that returns list of bugs dashboard considers closed.
2017-12-19 11:05:42 +01:00
Dmitry Vyukov
9d46048cb9 dashboard/app: allow fragment links to namespaces
Now "#foo" link will point to namespace "foo".
2017-12-12 14:55:43 +01:00
Dmitry Vyukov
5ad0ce9589 dashboard/app: fix test
Fix test after the previous commit.
2017-12-08 19:06:08 +01:00
Dmitry Vyukov
2f6fb92368 dashboard/app: improve working in bug email
As per discussion in:
https://groups.google.com/d/msg/syzkaller-bugs/atbKWcFqE9s/w88o2OvsAwAJ
2017-12-08 18:46:20 +01:00
Dmitry Vyukov
08c5c8bfdd dashboard/app: fix manager failed build reset
Only reset manager failed build if it uploaded _new_
successful build. On manager restart it uploads its
_old_ working build, and it should not reset a later
failed build.
2017-12-07 10:28:40 +01:00
Dmitry Vyukov
5d643f8e70 dashboard/app: fix typo in template 2017-12-06 13:12:38 +01:00
Dmitry Vyukov
a65439d5fd dashboard/app: add "pass through" reporting status
ReportingPassThrough is mostly the same as ReportingDisabled,
but dalays "special" bugs (no report, corrupted report, build error, etc).
2017-12-06 13:12:38 +01:00
Dmitry Vyukov
b1d1979cc6 dashboard/app: improve error message
For some reason people sometimes drop syzbot from CC.
Then we receive the message from mailing list and can't
find the corresponding bug.
Log email subject in such cases so that it's easier to find
the corresponding email thread.
2017-12-06 13:12:38 +01:00
Dmitry Vyukov
e8062ae15f dashboard/app: show more crashes on bug page
We have maxCrashes crashes without reproducers + arbitrary number
of crashes with reproducers. Crashes with reproducers can be stale.
Show more crashes.
2017-12-05 20:08:06 +01:00
Dmitry Vyukov
de212f1a05 dashboard/app: show manager addresses 2017-12-04 12:13:10 +01:00
Dmitry Vyukov
09582d5306 syz-manager: send public web addr to dashboard 2017-12-04 11:58:55 +01:00
Dmitry Vyukov
f5e771b200 dashboard/app: add drop namespace functionality
dropNamespace drops all entities related to a single namespace.
Use with care. There is no undo.
This functionality is intentionally not connected to any handler.
To use it, first make a backup of the datastore. Then, specify the target
namespace in the ns variable, connect the function to a handler, invoke it
and double check the output. Finally, set dryRun to false and invoke again.
2017-12-04 09:00:36 +01:00
Dmitry Vyukov
96ca35f4c7 dashboard/app: show info about duplicates and similar bugs
Show info about duplicates and similar bugs in other kernels
on the bug page.
2017-12-04 09:00:28 +01:00
Dmitry Vyukov
48359b9777 dashboard/app: improve needRepro
Don't reproduce corrupted reports.
Don't reproduce if canonical bug already has repro.
2017-12-01 17:27:08 +01:00
Dmitry Vyukov
948edf8055 dashboard/app: cosmetic changes to manager stats 2017-12-01 17:13:23 +01:00
Dmitry Vyukov
a6f9669d26 dashboard/app: fix misspelled field in template
Also change code to catch such bugs in tests in future.
The problem was that template.Execute already wrote something
into w before returning error, so though the function
returned an error we served 200 instead of 500.
2017-12-01 14:20:03 +01:00
Dmitry Vyukov
2fa91450df dashboard/app: add manager monitoring
Make it possible to monitor health and operation
of all managers from dashboard.
1. Notify dashboard about internal syz-ci errors
   (currently we don't know when/if they happen).
2. Send statistics from managers to dashboard.
2017-12-01 13:58:11 +01:00
Dmitry Vyukov
5153aeaffd syz-ci: test images before using them
Boot and minimally test images before declaring them as good
and switching to using them.

If image build/boot/test fails, upload report about this to dashboard.
2017-11-30 14:50:50 +01:00
Dmitry Vyukov
e338ada43c dashboard/app: fix purging of old crashes
We sorted by Report (which is a random int ID) instead of ReportLen.
Sort by ReportLen (order is opposite of what of queryCrashesForBug uses).
2017-11-28 17:52:24 +01:00
Dmitry Vyukov
a7bbe24b6f dashboard/app: strip quotes from commit titles
There is probably no way to stop people doing this.
Though, we never mention that this is allowed syntax...
2017-11-22 17:56:37 +01:00
Dmitry Vyukov
fc5dca0a4a dashboard/app: reduce database contention
We frequently get "too much contention" errors when saving crashes.
Reduce contention by:
 - finding/creating bug before the transaction
 - saving crash outside of transaction
 - not saving crashes when we have too many of them already
2017-11-22 17:55:07 +01:00
Dmitry Vyukov
8c7cd9275d dashboard/app: support corrupted reports 2017-11-22 12:49:11 +01:00
Dmitry Vyukov
9a6b4d18ba dashboard/app: show bugs by reporting ID
External reporting does not know real bug ID,
but it knows reporting ID. Allow it to genereate links to bugs.
2017-11-22 12:04:03 +01:00
Dmitry Vyukov
6440d6940f syz-manager: send corrupted flag to dashboard 2017-11-21 19:11:54 +01:00
Dmitry Vyukov
84dd36bae9 dashboard/app: fix error trimming 2017-11-20 11:59:16 +01:00
Dmitry Vyukov
2994ea0981 dashboard/app: gracefully handle large error text in emails
Build error output and failing VM boot log can be way too long to inline.
Inline a part of it and attach full text instead.
2017-11-19 12:12:10 +01:00
Dmitry Vyukov
e93131fcce dashboard/app: remember job links
Remember link for jobs.
Check that mailing list is in CC when we accept commands.
2017-11-19 11:58:17 +01:00
Dmitry Vyukov
bf82068946 dashboard/app: assorted improvements/fixes for patch testing
Fix a bunch of bugs after testing.
Also update docs for patch testing.
2017-11-17 21:04:40 +01:00
Dmitry Vyukov
a28ef3fdb6 dashboard/app: reduce email polling interval
Email latency is important for job results,
reduce it from 10 to 1 minute.
2017-11-17 18:00:15 +01:00
Dmitry Vyukov
348d8f13f0 dashboard/app: fix build 2017-11-16 12:51:52 +01:00
Dmitry Vyukov
c4d43f4773 pkg/osutil: don't leace runaway processes
When manager is stopped there are sometimes runaway qemu
processes still running. Set PDEATHSIG for all subprocesses.
We never need child processes outliving parents.
2017-11-16 12:48:02 +01:00
Dmitry Vyukov
e928bb6b8a dashboard/app: test fix patches by request
Add initial support for testing fix patches.
A user on mailing list can request patch testing with:

and attach a patch.
2017-11-16 13:09:50 +03:00
Dmitry Vyukov
4f3b40072c dashboard/app: poll email at test end
We currently check that there are no pending emails left on test end.
But since we don't poll, there still can be non-delivered emails.
Poll email at test end.
2017-11-16 10:10:12 +01:00
Dmitry Vyukov
72989ce05a dashboard/app: make emailReport more general
Don't assume that emailReport sends reports about bugs only.
2017-11-16 10:10:09 +01:00
Dmitry Vyukov
3ed60d0989 dashboard/app: make findCrashForBug return crash key 2017-11-16 09:58:02 +01:00
Dmitry Vyukov
89572feb6f dashboard/app: provide bugReportingByName helper 2017-11-16 09:53:41 +01:00
Dmitry Vyukov
45b4f336f2 dashboard/app: improve formatTime
We never want to print 1970 date.
2017-11-16 09:48:55 +01:00
Dmitry Vyukov
ed39afd6e8 dashboard/app: factor out uploadBuild from apiUploadBuild
Make it possible to upload builds from functions other than apiUploadBuild.
2017-11-16 09:47:38 +01:00
Dmitry Vyukov
9547ae3a85 dashboard/app: clarify that email commands must be in email body
We've got a reply in subject.
2017-11-08 14:16:36 +01:00
Dmitry Vyukov
bc4a24220e dashboard/app: explicitly say that we don't have a reproducer 2017-11-08 14:16:36 +01:00
Dmitry Vyukov
7b05d23e43 dashboard/app: show fixing commit title as hint 2017-11-07 10:39:39 +01:00
Dmitry Vyukov
6db82ca081 dashboard/app: show when bugs are fixed and where 2017-11-06 15:01:28 +01:00
Dmitry Vyukov
a2961665fd dashboard/app: pass namespace in bug reports
Namespace can be used for some customization
in external reporter.
2017-11-06 15:01:28 +01:00
Dmitry Vyukov
2de9b5257d dashboard/app: preserve template in Reported-by tag 2017-10-31 12:14:07 +01:00
Dmitry Vyukov
9d867540c8 dashboard/app: don't spam about updates to closed bugs
Updates about closed bugs are confusing and non-actionable for users.
E.g. fixing commit update after we've already closed the bug with
the previous fixing commmit (closure is irreversible anyway).
2017-10-31 10:36:37 +01:00
Dmitry Vyukov
dfe2b5c40e dashboard/app: update email bug template 2017-10-31 10:16:53 +01:00
Dmitry Vyukov
6ddaf205ad dashboard/app: email fixes
1. Allows sending emails upstream.
2. Filter out duplicate emails coming from our mailing lists.
3. Increase retry attempts for email commands
   (don't want them to fail due to concurrent crash reports from managers).
2017-10-31 10:06:02 +01:00
Dmitry Vyukov
632b86c938 dashboard/app: better errors from bug update command
Provide better errors from bug update command.
In particular, distinguish between bad updates and internal errors.
Also better messages.
Allow duping onto closed bugs.
Don't allow unduping from closed bugs.
2017-10-23 09:59:39 +02:00