syzkaller/dashboard/app
Dmitry Vyukov 1efec8f5c7 dashboard/app: say "issue" instead of "crash"
We've got several complains re using of word "crash" in all syzbot reports, e.g.:
https://groups.google.com/d/msg/syzkaller-bugs/8rFLFgQR9fo/HBYUXIRyBAAJ
https://groups.google.com/d/msg/syzkaller-bugs/3nlcT8Wn7hg/8Th16X3DBAAJ
Another suggested that "crash" is too hard for e.g. a LOCKDEP splat:
https://groups.google.com/d/msg/syzkaller/YzHLAU0dXpI/WOqq1ggBBQAJ

Another terminology complaint was regarding the following fact.
When we test a patch, we only detect if it still triggers _any_ issue
(not necessary the original one). Currently we way "still triggers crash"
(without any article, which is probably wrong from English perspective
anyway). We did not say "the", but people assumed that and complained.
Explicitly say "a".

Also replace all uses of "bug" with "issue" for consistency.
And use "final oops" instead of "final crash", which seems
to be standard terminology at least for Linux:
https://en.wikipedia.org/wiki/Linux_kernel_oops
2020-07-14 23:21:01 +02:00
..
static dashboard/app: add navigation buttons 2020-07-09 19:40:12 +02:00
access_test.go .golangci.yml: enable funlen checker 2020-06-05 12:23:19 +02:00
access.go all: fix comments format 2020-07-12 08:22:44 +02:00
admin.go dashboard: update to go111 runtime 2020-01-29 16:01:06 +01:00
admin.html dashboard/app: add memcache to admin interface 2020-07-09 19:40:12 +02:00
api.go dashboard/app: collect BB coverage stats from managers 2020-05-08 14:09:35 +02:00
app_test.go dashboard/app: use DailyLimit=0 to mark disabled reportings 2020-06-23 16:42:46 +02:00
app.yaml all: add missing copyright statements 2020-05-18 11:34:42 +02:00
bisect_test.go dashboard/app: say "issue" instead of "crash" 2020-07-14 23:21:01 +02:00
bug.html dashboard/app: show patch testing requests on bug page 2020-05-08 15:48:07 +02:00
cache.go dashboard/app: cache per-namespace bug stats 2020-07-09 19:40:12 +02:00
commit_poll_test.go dashboard/app: fix testing for go1.11 runtime 2020-01-29 16:01:06 +01:00
config.go dashboard/app: use DailyLimit=0 to mark disabled reportings 2020-06-23 16:42:46 +02:00
cron.yaml all: add missing copyright statements 2020-05-18 11:34:42 +02:00
dashboard.go dashboard/app: fix testing for go1.11 runtime 2020-01-29 16:01:06 +01:00
email_test.go dashboard/app: say "issue" instead of "crash" 2020-07-14 23:21:01 +02:00
entities.go dashboard/app: prohibit dup cycles 2020-06-23 16:42:46 +02:00
error.html dashboard/app: add support for Google Analytics 2018-03-21 13:46:45 +01:00
fix_test.go dashboard/app: fix testing for go1.11 runtime 2020-01-29 16:01:06 +01:00
handler.go dashboard/app: cache per-namespace bug stats 2020-07-09 19:40:12 +02:00
index.yaml all: add missing copyright statements 2020-05-18 11:34:42 +02:00
jobs_test.go dashboard/app: say "issue" instead of "crash" 2020-07-14 23:21:01 +02:00
jobs.go all: fix comments format 2020-07-12 08:22:44 +02:00
mail_bisect_result.txt dashboard/app: say "issue" instead of "crash" 2020-07-14 23:21:01 +02:00
mail_bug.txt dashboard/app: say "issue" instead of "crash" 2020-07-14 23:21:01 +02:00
mail_test_result.txt dashboard/app: say "issue" instead of "crash" 2020-07-14 23:21:01 +02:00
main.go dashboard/app: cache per-namespace bug stats 2020-07-09 19:40:12 +02:00
main.html dashboard/app: add navigation buttons 2020-07-09 19:40:12 +02:00
notifications_test.go dashboard/app: fix testing for go1.11 runtime 2020-01-29 16:01:06 +01:00
README.md dashboard/app: add instructions on how to update the scheme 2020-04-03 10:49:59 +02:00
reporting_email.go all: fix log/error text starting with capital letter 2020-07-05 10:55:16 +02:00
reporting_external.go dashboard/app: fix testing for go1.11 runtime 2020-01-29 16:01:06 +01:00
reporting_test.go dashboard/app: prohibit dup cycles 2020-06-23 16:42:46 +02:00
reporting.go dashboard/app: cache per-namespace bug stats 2020-07-09 19:40:12 +02:00
repro_test.go dashboard/app: fix testing for go1.11 runtime 2020-01-29 16:01:06 +01:00
templates.html dashboard/app: cache per-namespace bug stats 2020-07-09 19:40:12 +02:00
terminal.html dashboard/app: add invalid bugs page 2019-05-27 11:28:02 +02:00
util_test.go tools: add syz-big-env 2020-06-02 13:39:30 +02:00

Dashboard

dashboard is an App Engine app that powers syzbot. The main deployment is at syzkaller.appspot.com.

It is so-called Standard environment Go app.
To deploy and manage the app you need to install Google Cloud SDK.
For more details about App Engine refer to the docs.

Note: The app is not stable and is not officially supported. It's here only to power the main deployment.

Here is "big" picture of a possible setup: Overall picture of syzbot setup

Note: the vector source is here; to update: make a copy of the source, edit, download a png, update the png and include a link to your vector copy into the PR.

To deploy the app you need to add a .go file with production config. The config specifies kernel namespaces, bug reporting details, API keys, etc. Tests contain a config example, but it's not ready for production use.

The app also needs one or more syz-ci instances running elsewhere. The syz-ci instances do the actual fuzzing, bisection, patch testing, etc.

The app can be deployed with gcloud app deploy/update, refer to the docs for more details.

The app tests can be run with:

go test github.com/google/syzkaller/dashboard/app

During development it's handy to use -short flag to not run the longest tests.

If any of the tests fail, use -v flag to see log of what happens and -run flag to run a single test, e.g.:

go test -short -v -run=TestEmailReport github.com/google/syzkaller/dashboard/app