aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2017-08-08 14:31:39 +0200
committerDmitry Vyukov <dvyukov@google.com>2017-08-08 14:31:39 +0200
commit3aabbf13cf93487165bb435899cd02a320d77bb0 (patch)
tree4b8ff493d0de6b1e3545c4ad3b956e4f9e18563f
parenta3c5751de3df4c49b3025ccf5971602b7badb2d3 (diff)
dashboard/app: output more info about crashes
-rw-r--r--dashboard/app/bug.html6
-rw-r--r--dashboard/app/config_stub.go1
-rw-r--r--dashboard/app/main.go47
-rw-r--r--dashboard/app/static/style.css2
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 @@
<tr>
<th>Manager</th>
<th>Time</th>
+ <th>Kernel</th>
+ <th>Commit</th>
+ <th>Config</th>
<th>Log</th>
<th>Report</th>
<th>Syz repro</th>
@@ -30,6 +33,9 @@
<tr>
<td class="manager">{{$c.Manager}}</td>
<td class="time">{{formatTime $c.Time}}</td>
+ <td class="kernel" title="{{$c.KernelRepo}}/{{$c.KernelBranch}}">{{$c.KernelRepo}}/{{$c.KernelBranch}}</td>
+ <td class="tag">{{$c.KernelCommit}}</td>
+ <td class="config"><a href="{{$c.KernelConfigLink}}">.config</a></td>
<td class="repro">{{if $c.LogLink}}<a href="{{$c.LogLink}}">log</a>{{end}}</td>
<td class="repro">{{if $c.ReportLink}}<a href="{{$c.ReportLink}}">report</a>{{end}}</td>
<td class="repro">{{if $c.ReproSyzLink}}<a href="{{$c.ReproSyzLink}}">syz</a>{{end}}</td>
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;
}