Home | History | Annotate | Download | only in app
      1 {{/*
      2 Copyright 2017 syzkaller project authors. All rights reserved.
      3 Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
      4 
      5 Page with details about a single bug.
      6 */}}
      7 
      8 <!doctype html>
      9 <html>
     10 <head>
     11 	{{template "head" .Header}}
     12 	<title>{{.Bug.Title}}</title>
     13 </head>
     14 <body>
     15 	{{template "header" .Header}}
     16 
     17 	<b>[{{.Bug.Namespace}}] {{.Bug.Title}}</b><br>
     18 	Status: {{if .Bug.ExternalLink}}<a href="{{.Bug.ExternalLink}}">{{.Bug.Status}}</a>{{else}}{{.Bug.Status}}{{end}}<br>
     19 	Reported-by: {{.Bug.CreditEmail}}<br>
     20 	{{if .Bug.Commits}}
     21 		Commits: {{.Bug.Commits}}<br>
     22 		{{if .Bug.ClosedTime.IsZero}}
     23 			Patched on: {{.Bug.PatchedOn}}, missing on: {{.Bug.MissingOn}}<br>
     24 		{{end}}
     25 	{{end}}
     26 	First: {{formatLateness $.Now $.Bug.FirstTime}}, last: {{formatLateness $.Now $.Bug.LastTime}}<br>
     27 
     28 	{{template "bug_list" .DupOf}}
     29 	{{template "bug_list" .Dups}}
     30 	{{template "bug_list" .Similar}}
     31 
     32 	{{if .SampleReport}}
     33 	<br><b>Sample crash report:</b><br>
     34 	<textarea id="log_textarea" readonly rows="25" wrap=off>{{printf "%s" .SampleReport}}</textarea><br>
     35 	{{end}}
     36 
     37 	<table class="list_table">
     38 		<caption>All crashes ({{.Bug.NumCrashes}}):</caption>
     39 		<tr>
     40 			<th><a onclick="return sortTable(this, 'Manager', textSort)" href="#">Manager</a></th>
     41 			<th><a onclick="return sortTable(this, 'Time', textSort)" href="#">Time</a></th>
     42 			<th><a onclick="return sortTable(this, 'Kernel', textSort)" href="#">Kernel</a></th>
     43 			<th><a onclick="return sortTable(this, 'Commit', textSort)" href="#">Commit</a></th>
     44 			<th><a onclick="return sortTable(this, 'Syzkaller', textSort)" href="#">Syzkaller</a></th>
     45 			<th><a onclick="return sortTable(this, 'Config', textSort)" href="#">Config</a></th>
     46 			<th><a onclick="return sortTable(this, 'Log', textSort)" href="#">Log</a></th>
     47 			<th><a onclick="return sortTable(this, 'Report', reproSort)" href="#">Report</a></th>
     48 			<th><a onclick="return sortTable(this, 'Syz repro', reproSort)" href="#">Syz repro</a></th>
     49 			<th><a onclick="return sortTable(this, 'C repro', textSort)" href="#">C repro</a></th>
     50 			<th><a onclick="return sortTable(this, 'Maintainers', textSort)" href="#">Maintainers</a></th>
     51 		</tr>
     52 		{{range $c := $.Crashes}}
     53 			<tr>
     54 				<td class="manager">{{$c.Manager}}</td>
     55 				<td class="time">{{formatTime $c.Time}}</td>
     56 				<td class="kernel" title="{{$c.KernelAlias}}">{{$c.KernelAlias}}</td>
     57 				<td class="tag">{{$c.KernelCommit}}</td>
     58 				<td class="tag">{{$c.SyzkallerCommit}}</td>
     59 				<td class="config">{{if $c.KernelConfigLink}}<a href="{{$c.KernelConfigLink}}">.config</a>{{end}}</td>
     60 				<td class="repro">{{if $c.LogLink}}<a href="{{$c.LogLink}}">log</a>{{end}}</td>
     61 				<td class="repro">{{if $c.ReportLink}}<a href="{{$c.ReportLink}}">report</a>{{end}}</td>
     62 				<td class="repro">{{if $c.ReproSyzLink}}<a href="{{$c.ReproSyzLink}}">syz</a>{{end}}</td>
     63 				<td class="repro">{{if $c.ReproCLink}}<a href="{{$c.ReproCLink}}">C</a>{{end}}</td>
     64 				<td class="maintainers" title="{{$c.Maintainers}}">{{$c.Maintainers}}</td>
     65 			</tr>
     66 		{{end}}
     67 	</table>
     68 </body>
     69 </html>
     70