| {{/* |
| Copyright 2017 syzkaller project authors. All rights reserved. |
| Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. |
| |
| Page with details about a single bug. |
| */}} |
| |
| <!doctype html> |
| <html> |
| <head> |
| {{template "head" .Header}} |
| <title>{{.Bug.Title}}</title> |
| </head> |
| <body> |
| {{template "header" .Header}} |
| |
| <b>{{.Bug.Title}}</b><br> |
| Status: {{if .Bug.ExternalLink}}<a href="{{.Bug.ExternalLink}}">{{.Bug.Status}}</a>{{else}}{{.Bug.Status}}{{end}}<br> |
| Reported-by: {{.Bug.CreditEmail}}<br> |
| {{if .Bug.Commits}} |
| Fix commit: {{template "fix_commits" .Bug.Commits}}<br> |
| {{if .Bug.ClosedTime.IsZero}} |
| Patched on: {{.Bug.PatchedOn}}, missing on: {{.Bug.MissingOn}}<br> |
| {{end}} |
| {{end}} |
| First crash: {{formatLateness $.Now $.Bug.FirstTime}}, last: {{formatLateness $.Now $.Bug.LastTime}}<br> |
| |
| {{with $bisect := .BisectCause}}<br> |
| {{if $bisect.ErrorLink}} |
| <b>Bisection: {{link $bisect.ErrorLink "error"}} |
| ({{link $bisect.LogLink "bisect log"}})</b><br> |
| {{else if $bisect.Commit}}{{with $com := $bisect.Commit}} |
| <b>Bisection: introduced by |
| ({{link $bisect.LogLink "bisect log"}}):</b><br> |
| <br><span class="mono"> |
| commit {{$com.Hash}}<br> |
| Author: {{$com.Author}}<br> |
| Date: {{formatKernelTime $com.Date}}<br> |
| <br> |
| {{$com.Title}}<br> |
| </span><br> |
| {{end}}{{else if $bisect.Commits}}{{with $bisect.Commits}} |
| <b>Bisection: the first bad commit could be any of |
| ({{link $bisect.LogLink "bisect log"}}):</b><br> |
| <br><span class="mono"> |
| {{range $com := $bisect.Commits}} |
| {{formatTagHash $com.Hash}} {{$com.Title}}<br> |
| {{end}} |
| </span><br> |
| {{end}}{{else}} |
| <b>Bisection: the bug happens on the oldest tested release |
| ({{link $bisect.LogLink "bisect log"}})</b><br> |
| {{end}} |
| Tree: <span title="{{$bisect.Manager}}">{{$bisect.KernelAlias}}</span><br> |
| {{if $bisect.CrashLogLink}} |
| Crash: {{link $bisect.CrashReportLink $bisect.CrashTitle}} ({{link $bisect.CrashLogLink "log"}})<br> |
| {{end}} |
| Repro: {{optlink $bisect.Crash.ReproCLink "C"}} |
| {{optlink $bisect.Crash.ReproSyzLink "syz"}} |
| {{optlink $bisect.Crash.KernelConfigLink ".config"}}<br> |
| {{end}} |
| |
| {{template "bug_list" .DupOf}} |
| {{template "bug_list" .Dups}} |
| {{template "bug_list" .Similar}} |
| |
| {{if .SampleReport}} |
| <br><b>Sample crash report:</b><br> |
| <textarea id="log_textarea" readonly rows="25" wrap=off>{{printf "%s" .SampleReport}}</textarea><br> |
| {{end}} |
| |
| <table class="list_table"> |
| <caption>All crashes ({{.Bug.NumCrashes}}):</caption> |
| <thead> |
| <tr> |
| <th><a onclick="return sortTable(this, 'Manager', textSort)" href="#">Manager</a></th> |
| <th><a onclick="return sortTable(this, 'Time', textSort, true)" href="#">Time</a></th> |
| <th><a onclick="return sortTable(this, 'Kernel', textSort)" href="#">Kernel</a></th> |
| <th><a onclick="return sortTable(this, 'Commit', textSort)" href="#">Commit</a></th> |
| <th><a onclick="return sortTable(this, 'Syzkaller', textSort)" href="#">Syzkaller</a></th> |
| <th><a onclick="return sortTable(this, 'Config', textSort)" href="#">Config</a></th> |
| <th><a onclick="return sortTable(this, 'Log', textSort)" href="#">Log</a></th> |
| <th><a onclick="return sortTable(this, 'Report', reproSort)" href="#">Report</a></th> |
| <th><a onclick="return sortTable(this, 'Syz repro', reproSort)" href="#">Syz repro</a></th> |
| <th><a onclick="return sortTable(this, 'C repro', textSort)" href="#">C repro</a></th> |
| {{if $.HasMaintainers}} |
| <th><a onclick="return sortTable(this, 'Maintainers', textSort)" href="#">Maintainers</a></th> |
| {{end}} |
| </tr> |
| </thead> |
| <tbody> |
| {{range $c := $.Crashes}} |
| <tr> |
| <td class="manager">{{$c.Manager}}</td> |
| <td class="time">{{formatTime $c.Time}}</td> |
| <td class="kernel" title="{{$c.KernelAlias}}">{{$c.KernelAlias}}</td> |
| <td class="tag" title="{{$c.KernelCommit}} |
| {{formatTime $c.KernelCommitDate}}">{{link $c.KernelCommitLink (formatShortHash $c.KernelCommit)}}</td> |
| <td class="tag">{{link $c.SyzkallerCommitLink (formatShortHash $c.SyzkallerCommit)}}</td> |
| <td class="config">{{if $c.KernelConfigLink}}<a href="{{$c.KernelConfigLink}}">.config</a>{{end}}</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> |
| <td class="repro">{{if $c.ReproCLink}}<a href="{{$c.ReproCLink}}">C</a>{{end}}</td> |
| {{if $.HasMaintainers}} |
| <td class="maintainers" title="{{$c.Maintainers}}">{{$c.Maintainers}}</td> |
| {{end}} |
| </tr> |
| {{end}} |
| </tbody> |
| </table> |
| </body> |
| </html> |