1{{/* 2Copyright 2017 syzkaller project authors. All rights reserved. 3Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. 4 5Main page. 6*/}} 7 8<!doctype html> 9<html> 10<head> 11 {{template "head" .Header}} 12 <title>syzbot</title> 13</head> 14<body> 15 {{template "header" .Header}} 16 17 {{if .Log}} 18 <b>Error log:</b><br> 19 <textarea id="log_textarea" readonly rows="20" wrap=off>{{printf "%s" .Log}}</textarea> 20 <script> 21 var textarea = document.getElementById("log_textarea"); 22 textarea.scrollTop = textarea.scrollHeight; 23 </script> 24 <br><br> 25 {{end}} 26 27 {{if $.Managers}} 28 <table class="list_table" id="managers"> 29 <caption>Managers:</caption> 30 <tr> 31 <th>Name</th> 32 <th>Last Active</th> 33 <th>Current Build</th> 34 <th>Current Uptime</th> 35 <th>Today: Fuzzing Time</th> 36 <th>Corpus</th> 37 <th>Coverage</th> 38 <th>Crashes</th> 39 <th>Execs</th> 40 <th>Failed Build</th> 41 </tr> 42 {{range $mgr := $.Managers}} 43 <tr> 44 <td><a href="{{$mgr.Link}}">{{$mgr.Namespace}}/{{$mgr.Name}}</a></td> 45 <td class="stat {{if $mgr.LastActiveBad}}bad{{end}}">{{formatLateness $.Now $mgr.LastActive}}</td> 46 {{if $mgr.CurrentBuild}} 47 <td class="stat" title="{{$mgr.CurrentBuild.KernelAlias}}/{{$mgr.CurrentBuild.KernelCommit}} (syzkaller {{$mgr.CurrentBuild.SyzkallerCommit}})">{{formatLateness $.Now $mgr.CurrentBuild.Time}}</td> 48 {{else}} 49 <td></td> 50 {{end}} 51 <td class="stat">{{formatDuration $mgr.CurrentUpTime}}</td> 52 <td class="stat">{{formatDuration $mgr.TotalFuzzingTime}}</td> 53 <td class="stat">{{formatStat $mgr.MaxCorpus}}</td> 54 <td class="stat">{{formatStat $mgr.MaxCover}}</td> 55 <td class="stat">{{formatStat $mgr.TotalCrashes}}</td> 56 <td class="stat">{{formatStat $mgr.TotalExecs}}</td> 57 <td class="stat">{{if $mgr.FailedBuildBugLink}}<a href="{{$mgr.FailedBuildBugLink}}" class="bad">bug</a>{{end}}</td> 58 </tr> 59 {{end}} 60 </table> 61 <br><br> 62 {{end}} 63 64 {{if $.Jobs}} 65 <table class="list_table" id="jobs"> 66 <caption>Recent jobs:</caption> 67 <tr> 68 <th>Bug</th> 69 <th>Created</th> 70 <th>Started</th> 71 <th>Finished</th> 72 <th>User</th> 73 <th>Patch</th> 74 <th>Repo</th> 75 <th>Manager</th> 76 <th>Result</th> 77 </tr> 78 {{range $job := $.Jobs}} 79 <tr> 80 <td class="title"><a href="{{$job.BugLink}}">{{$job.BugTitle}}</a></td> 81 <td class="time">{{if $job.ExternalLink}}<a href="{{$job.ExternalLink}}">{{formatTime $job.Created}}</a>{{else}}{{formatTime $job.Created}}{{end}}</td> 82 <td class="time">{{formatTime $job.Started}}{{if gt $job.Attempts 1}} ({{$job.Attempts}}){{end}}</td> 83 <td class="time">{{formatTime $job.Finished}}</td> 84 <td>{{$job.User}}</td> 85 <td><a href="{{$job.PatchLink}}">patch</a></td> 86 <td class="kernel" title="{{$job.KernelAlias}}">{{$job.KernelAlias}}</td> 87 <td title="{{$job.Namespace}}/{{$job.Reporting}}">{{$job.Manager}}</td> 88 {{if $job.ErrorLink}} 89 <td class="result"><a href="{{$job.ErrorLink}}">error</a></td> 90 {{else if $job.CrashTitle}} 91 <td class="result" title="{{$job.CrashTitle}}"> 92 {{if $job.CrashReportLink}} 93 <a href="{{$job.CrashReportLink}}">report</a> 94 {{end}} 95 {{if $job.CrashLogLink}} 96 <a href="{{$job.CrashLogLink}}">log</a> 97 {{end}} 98 </td> 99 {{else if formatTime $job.Finished}} 100 <td class="result">OK</td> 101 {{else if formatTime $job.Started}} 102 <td class="result">running</td> 103 {{else}} 104 <td class="result">pending</td> 105 {{end}} 106 </tr> 107 {{end}} 108 </table> 109 <br><br> 110 {{end}} 111 112 {{range $ns := $.BugNamespaces}} 113 <br> 114 <h2 id="{{$ns.Name}}">{{$ns.Caption}}</h2> 115 {{if $ns.FixedLink}} 116 {{if $ns.CoverLink}} 117 <a href="{{$ns.CoverLink}}" target="_blank">source coverage</a> | 118 {{end}} 119 <a href="{{$ns.FixedLink}}">fixed bugs ({{$ns.FixedCount}})</a> 120 {{end}} 121 {{range $group := $ns.Groups}} 122 {{template "bug_list" $group}} 123 {{end}} 124 <br> 125 {{end}} 126</body> 127</html> 128