Commit Graph

62 Commits

Author SHA1 Message Date
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
Dmitry Vyukov
d394531e95 dashboard/app, syz-ci: upload target OS/arch to dashboard 2017-09-19 17:00:26 +02:00
Dmitry Vyukov
06091e7473 dashboard/app: fix a bug with bugs with seq>0
See the added test.
2017-09-13 12:05:56 +02:00
Dmitry Vyukov
172189e955 dashboard/app: heavylifting of email reporting
- save Message-ID and use In-Reply-To in subsequent messages
- remember additional CC entries added manually
- don't mail to maintainers if maintainers list is empty
- improve mail formatting and add a footer
- implement upstream/fix/dup/invalid commands over email
- add tests
2017-08-17 19:42:11 +02:00
Dmitry Vyukov
c34b3819ce dashboard/app: various improvements/fixes for email reporting
Detect when we send first/non-first email for a bug.
Detect when we send moderation/non-moderation email for a bug.
Fix setting repro level in email reports.
Add end-to-end email reporting tests.
2017-08-11 18:33:31 +02:00
Dmitry Vyukov
125de3e4eb dashboard/app: fix build again 2017-08-10 19:34:38 +02:00
Dmitry Vyukov
0327584e99 dashboard/app: tell managers when dashboard needs a repro
Managers can't decide when a repro is required.
First, there can be bugs with seq>0.
Second, a repro can be already obtained on another manager.
2017-08-10 19:29:42 +02:00
Dmitry Vyukov
89e74d8ccb dashboard/app: don't print resource for log records
The resource is not informative in this case.
2017-08-10 19:28:37 +02:00
Dmitry Vyukov
32e992a642 dashboard/app: show syzkaller commit for crashes 2017-08-10 13:23:42 +02:00
Dmitry Vyukov
1db36864e9 dashboard/app: fix build 2017-08-08 17:40:52 +02:00
Dmitry Vyukov
3aabbf13cf dashboard/app: output more info about crashes 2017-08-08 14:31:39 +02:00
Dmitry Vyukov
d23bf3250e dashboard/app: fix report_failed_repro api call
We are seeing the following errors in this handler:
cross-group transaction need to be explicitly specified, see TransactionOptions.Builder.withXG
2017-08-04 19:19:43 +02:00