blob: c74aa1d3a62bc0e8752915a44b8988101caa5393 [file] [log] [blame]
Kristof Beyls1f633af2018-11-07 08:49:36 +00001===================
2LLVM Bug Life Cycle
3===================
4
5.. contents::
6 :local:
7
8
9
10Introduction - Achieving consistency in how we deal with bug reports
11====================================================================
12
13We aim to achieve a basic level of consistency in how reported bugs evolve from
14being reported, to being worked on, and finally getting closed out. The
15consistency helps reporters, developers and others to gain a better
16understanding of what a particular bug state actually means and what to expect
17might happen next.
18
19At the same time, we aim to not over-specify the life cycle of bugs in the
20`the LLVM Bug Tracking System <https://bugs.llvm.org/enter_bug.cgi>`_, as the
21overall goal is to make it easier to work with and understand the bug reports.
22
23The main parts of the life cycle documented here are:
24
25#. `Reporting`_
26#. `Triaging`_
27#. `Actively working on fixing`_
28#. `Closing`_
29
30Furthermore, some of the metadata in the bug tracker, such as who to notify on
31newly reported bugs or what the breakdown into products & components is we use,
32needs to be maintained. See the following for details:
33
34#. `Maintenance of Bug products/component metadata`_
35#. `Maintenance of cc-by-default settings`_
36
37
38.. _Reporting:
39
40Reporting bugs
41==============
42
43See :doc:`HowToSubmitABug` on further details on how to submit good bug reports.
44
45Make sure that you have one or more people on cc on the bug report that you
46think will react to it. We aim to automatically add specific people on cc for
47most products/components, but may not always succeed in doing so.
48
49If you know the area of LLVM code the root cause of the bug is in, good
50candidates to add as cc may be the same people you'd ask for a code review in
51that area. See :ref:`finding-potential-reviewers` for more details.
52
53
54.. _Triaging:
55
56Triaging bugs
57=============
58
59Bugs with status NEW indicate that they still need to be triaged.
60When triage is complete, the status of the bug is moved to CONFIRMED.
61
62The goal of triaging a bug is to make sure a newly reported bug ends up in a
63good, actionable, state. Try to answer the following questions while triaging.
64
65* Is the reported behavior actually wrong?
66
67 * E.g. does a miscompile example depend on undefined behavior?
68
69* Can you easily reproduce the bug?
70
71 * If not, are there reasonable excuses why it cannot easily be reproduced?
72
73* Is it related to an already reported bug?
74
75 * Use the "See also"/"depends on"/"blocks" fields if so.
76 * Close it as a duplicate if so, pointing to the issue it duplicates.
77
78* Are the following fields filled in correctly?
79
80 * Product
81 * Component
82 * Title
83
84* CC others not already cc’ed that you happen to know would be good to pull in.
85* Add the "beginner" keyword if you think this would be a good bug to be fixed
86 by someone new to LLVM.
87
88.. _Actively working on fixing:
89
90Actively working on fixing bugs
91===============================
92
93Please remember to assign the bug to yourself if you're actively working on
94fixing it and to unassign it when you're no longer actively working on it. You
95unassign a bug by setting the Assignee field to "unassignedbugs@nondot.org".
96
97.. _Closing:
98
99Resolving/Closing bugs
100======================
101
102For simplicity, we only have 1 status for all resolved or closed bugs:
103RESOLVED.
104
105Resolving bugs is good! Make sure to properly record the reason for resolving.
106Examples of reasons for resolving are:
107
108* Revision NNNNNN fixed the bug.
109* The bug cannot be reproduced with revision NNNNNN.
110* The circumstances for the bug don't apply anymore.
111* There is a sound reason for not fixing it (WONTFIX).
112* There is a specific and plausible reason to think that a given bug is
113 otherwise inapplicable or obsolete.
114
115 * One example is an old open bug that doesn't contain enough information to
116 clearly understand the problem being reported (e.g. not reproducible). It is
117 fine to resolve such a bug e.g. with resolution WORKSFORME and leaving a
118 comment to encourage the reporter to reopen the bug with more information
119 if it's still reproducable on their end.
120
121If a bug is resolved, please fill in the revision number it was fixed in in the
122"Fixed by Commit(s)" field.
123
124
125.. _Maintenance of Bug products/component metadata:
126
127Maintenance of products/components metadata
128===========================================
129
130Please raise a bug against "Bugzilla Admin"/"Products" to request any changes
131to be made to the breakdown of products & components modeled in Bugzilla.
132
133
134.. _Maintenance of cc-by-default settings:
135
136Maintenance of cc-by-default settings
137=====================================
138
139Please raise a bug against "Bugzilla Admin"/"Products" to request any changes
140to be made to the cc-by-default settings for specific components.