From 3aabbf13cf93487165bb435899cd02a320d77bb0 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Tue, 8 Aug 2017 14:31:39 +0200 Subject: dashboard/app: output more info about crashes --- dashboard/app/bug.html | 6 ++++++ dashboard/app/config_stub.go | 1 + dashboard/app/main.go | 47 +++++++++++++++++++++++++++++------------- dashboard/app/static/style.css | 2 +- 4 files changed, 41 insertions(+), 15 deletions(-) diff --git a/dashboard/app/bug.html b/dashboard/app/bug.html index 94e59a90c..9b4d7425c 100644 --- a/dashboard/app/bug.html +++ b/dashboard/app/bug.html @@ -20,6 +20,9 @@ Manager Time + Kernel + Commit + Config Log Report Syz repro @@ -30,6 +33,9 @@ {{$c.Manager}} {{formatTime $c.Time}} + {{$c.KernelRepo}}/{{$c.KernelBranch}} + {{$c.KernelCommit}} + .config {{if $c.LogLink}}log{{end}} {{if $c.ReportLink}}report{{end}} {{if $c.ReproSyzLink}}syz{{end}} diff --git a/dashboard/app/config_stub.go b/dashboard/app/config_stub.go index 0c68453a8..932ebf324 100644 --- a/dashboard/app/config_stub.go +++ b/dashboard/app/config_stub.go @@ -2,6 +2,7 @@ // Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. // +build !aetest +// +build package dash diff --git a/dashboard/app/main.go b/dashboard/app/main.go index b56706f03..f61a780e2 100644 --- a/dashboard/app/main.go +++ b/dashboard/app/main.go @@ -58,13 +58,18 @@ type uiBug struct { } type uiCrash struct { - Manager string - Time time.Time - Maintainers string - LogLink string - ReportLink string - ReproSyzLink string - ReproCLink string + Manager string + Time time.Time + Maintainers string + LogLink string + ReportLink string + ReproSyzLink string + ReproCLink string + SyzkallerCommit string + KernelRepo string + KernelBranch string + KernelCommit string + KernelConfigLink string } // handleMain serves main page. @@ -192,16 +197,30 @@ func loadCrashesForBug(c context.Context, bug *Bug) ([]*uiCrash, error) { if err != nil { return nil, err } + builds := make(map[string]*Build) var results []*uiCrash for _, crash := range crashes { + build := builds[crash.BuildID] + if build == nil { + build, err = loadBuild(c, bug.Namespace, crash.BuildID) + if err != nil { + return nil, err + } + builds[crash.BuildID] = build + } ui := &uiCrash{ - Manager: crash.Manager, - Time: crash.Time, - Maintainers: fmt.Sprintf("%q", crash.Maintainers), - LogLink: textLink("CrashLog", crash.Log), - ReportLink: textLink("CrashReport", crash.Report), - ReproSyzLink: textLink("ReproSyz", crash.ReproSyz), - ReproCLink: textLink("ReproC", crash.ReproC), + Manager: crash.Manager, + Time: crash.Time, + Maintainers: fmt.Sprintf("%q", crash.Maintainers), + LogLink: textLink("CrashLog", crash.Log), + ReportLink: textLink("CrashReport", crash.Report), + ReproSyzLink: textLink("ReproSyz", crash.ReproSyz), + ReproCLink: textLink("ReproC", crash.ReproC), + SyzkallerCommit: build.SyzkallerCommit, + KernelRepo: build.KernelRepo, + KernelBranch: build.KernelBranch, + KernelCommit: build.KernelCommit, + KernelConfigLink: textLink("KernelConfig", build.KernelConfig), } results = append(results, ui) } diff --git a/dashboard/app/static/style.css b/dashboard/app/static/style.css index 07f742485..a23ff5fd7 100644 --- a/dashboard/app/static/style.css +++ b/dashboard/app/static/style.css @@ -98,7 +98,7 @@ table td, table th { max-width: 300pt; } -.list_table .commits { +.list_table .kernel { width: 200pt; max-width: 200pt; } -- cgit mrf-deployment