-
Notifications
You must be signed in to change notification settings - Fork 6
/
crashstack.html
100 lines (99 loc) · 3.84 KB
/
crashstack.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this file,
- You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!DOCTYPE html>
<html lang="en-us">
<head>
<link rel="shortcut icon" href="/clouseau.ico">
<link rel="stylesheet" href="/clouseau.css?v=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Crash Stack — {{ uuid_info['uuid'] }}</title>
<script src="/clouseau.js"></script>
<script>
const NODE = "{{ uuid_info['node'] }}";
const UUID = "{{ uuid_info['uuid'] }}";
const REPOURL = "{{ repo_url }}";
const CHANNEL = "{{ channel }}";
</script>
</head>
<body>
<header>
<nav>
<ul class="nav">
<li>
<a href="https://www.mozilla.org/" class="brand">mozilla</a>
</li>
<li style="float:right;">
<a href="https://github.com/mozilla/crash-clouseau"><span class="github"></span></a>
</li>
</ul>
</nav>
</header>
<div id="changeset-menu">
<ul>
<li><a id="openChangeset">Open the changeset</a></li>
<li><a id="openDiff">Open the diff for the file</a></li>
<li><a id="openFileDiff">Open file|diff</a></li>
<li><a id="openAnnotateDiff">Open annotate|diff</a></li>
<li><a id="reportBug">Report a bug</a></li>
</ul>
</div>
<p>Open the crash report on crash-stats: <a href="https://crash-stats.mozilla.org/report/index/{{ uuid_info['uuid'] }}">{{ uuid_info['uuid'] }}</a>.</p>
<p>The crash signature is <a href="{{ sgn_url }}">{{ uuid_info['signature']|e }}</a>.</p>
{% if stack -%}
<table>
<thead>
<tr>
<th style="width:2%;">Frame</th>
<th>Signature</th>
<th style="width:25%;">Source</th>
<th style="width:23%;">Changesets</th>
</tr>
</thead>
<tbody>
{% for pos, info in enumerate(stack['frames']) -%}
{% if info['line'] != -1 -%}
<tr>
<td>{{ pos }}</td>
<td>{{ info['function']|e }}</td>
<td>
{% if info['url'] -%}
<a href="{{ info['url'] }}"><span id="filename-{{ pos }}">{{ info['filename']|e }}</span>:<span id="line-{{ pos }}">{{ info['line'] }}</span></a>
{% else -%}
{{ info['original']|e }}{% if info['line'] -%}:{{ info['line'] }}{% endif -%}
{% endif -%}
</td>
<td>
{% for chgset, i in info['changesets'].items() -%}
<div style="display:table;width:100%;">
<div style="display:table-row;">
<div class="cell" style="width:25%">
<span>
<a href="{{ repo_url }}/rev?node={{ chgset }}">{{ chgset }}</a>
<a onclick="javascript: showChangesetMenu(event);"><span id="cset-{{ chgset }}-{{ pos }}" class="glass"></span></a>
</span>
</div>
<div style="background-color:{{ colors[i['score']] }};width:15%;"
class="cell">
<span>{{ i['score'] }}</span>
</div>
<div class="cell" style="width:20%">
<span>{{ i['pushdate'].strftime('%Y-%m-%d') }}</span>
</div>
<div class="cell" style="width:20%">
<span>{% if i['bugid'] > 0 %}<a href="https://bugzilla.mozilla.org/{{ i['bugid'] }}">{{ i['bugid'] }}</a>{% endif %}</span>
</div>
<div class="cell" style="width:25%">
<span>backout: {{ i['backedout'] }}</span>
</div>
</div>
</div>
{% endfor -%}
</td>
</tr>
{% endif -%}
{% endfor -%}
</table>
{% endif -%}
</body>
</html>