|
@@ -0,0 +1,140 @@
|
|
|
+===================
|
|
|
+LLVM Bug Life Cycle
|
|
|
+===================
|
|
|
+
|
|
|
+.. contents::
|
|
|
+ :local:
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+Introduction - Achieving consistency in how we deal with bug reports
|
|
|
+====================================================================
|
|
|
+
|
|
|
+We aim to achieve a basic level of consistency in how reported bugs evolve from
|
|
|
+being reported, to being worked on, and finally getting closed out. The
|
|
|
+consistency helps reporters, developers and others to gain a better
|
|
|
+understanding of what a particular bug state actually means and what to expect
|
|
|
+might happen next.
|
|
|
+
|
|
|
+At the same time, we aim to not over-specify the life cycle of bugs in the
|
|
|
+`the LLVM Bug Tracking System <https://bugs.llvm.org/enter_bug.cgi>`_, as the
|
|
|
+overall goal is to make it easier to work with and understand the bug reports.
|
|
|
+
|
|
|
+The main parts of the life cycle documented here are:
|
|
|
+
|
|
|
+#. `Reporting`_
|
|
|
+#. `Triaging`_
|
|
|
+#. `Actively working on fixing`_
|
|
|
+#. `Closing`_
|
|
|
+
|
|
|
+Furthermore, some of the metadata in the bug tracker, such as who to notify on
|
|
|
+newly reported bugs or what the breakdown into products & components is we use,
|
|
|
+needs to be maintained. See the following for details:
|
|
|
+
|
|
|
+#. `Maintenance of Bug products/component metadata`_
|
|
|
+#. `Maintenance of cc-by-default settings`_
|
|
|
+
|
|
|
+
|
|
|
+.. _Reporting:
|
|
|
+
|
|
|
+Reporting bugs
|
|
|
+==============
|
|
|
+
|
|
|
+See :doc:`HowToSubmitABug` on further details on how to submit good bug reports.
|
|
|
+
|
|
|
+Make sure that you have one or more people on cc on the bug report that you
|
|
|
+think will react to it. We aim to automatically add specific people on cc for
|
|
|
+most products/components, but may not always succeed in doing so.
|
|
|
+
|
|
|
+If you know the area of LLVM code the root cause of the bug is in, good
|
|
|
+candidates to add as cc may be the same people you'd ask for a code review in
|
|
|
+that area. See :ref:`finding-potential-reviewers` for more details.
|
|
|
+
|
|
|
+
|
|
|
+.. _Triaging:
|
|
|
+
|
|
|
+Triaging bugs
|
|
|
+=============
|
|
|
+
|
|
|
+Bugs with status NEW indicate that they still need to be triaged.
|
|
|
+When triage is complete, the status of the bug is moved to CONFIRMED.
|
|
|
+
|
|
|
+The goal of triaging a bug is to make sure a newly reported bug ends up in a
|
|
|
+good, actionable, state. Try to answer the following questions while triaging.
|
|
|
+
|
|
|
+* Is the reported behavior actually wrong?
|
|
|
+
|
|
|
+ * E.g. does a miscompile example depend on undefined behavior?
|
|
|
+
|
|
|
+* Can you easily reproduce the bug?
|
|
|
+
|
|
|
+ * If not, are there reasonable excuses why it cannot easily be reproduced?
|
|
|
+
|
|
|
+* Is it related to an already reported bug?
|
|
|
+
|
|
|
+ * Use the "See also"/"depends on"/"blocks" fields if so.
|
|
|
+ * Close it as a duplicate if so, pointing to the issue it duplicates.
|
|
|
+
|
|
|
+* Are the following fields filled in correctly?
|
|
|
+
|
|
|
+ * Product
|
|
|
+ * Component
|
|
|
+ * Title
|
|
|
+
|
|
|
+* CC others not already cc’ed that you happen to know would be good to pull in.
|
|
|
+* Add the "beginner" keyword if you think this would be a good bug to be fixed
|
|
|
+ by someone new to LLVM.
|
|
|
+
|
|
|
+.. _Actively working on fixing:
|
|
|
+
|
|
|
+Actively working on fixing bugs
|
|
|
+===============================
|
|
|
+
|
|
|
+Please remember to assign the bug to yourself if you're actively working on
|
|
|
+fixing it and to unassign it when you're no longer actively working on it. You
|
|
|
+unassign a bug by setting the Assignee field to "unassignedbugs@nondot.org".
|
|
|
+
|
|
|
+.. _Closing:
|
|
|
+
|
|
|
+Resolving/Closing bugs
|
|
|
+======================
|
|
|
+
|
|
|
+For simplicity, we only have 1 status for all resolved or closed bugs:
|
|
|
+RESOLVED.
|
|
|
+
|
|
|
+Resolving bugs is good! Make sure to properly record the reason for resolving.
|
|
|
+Examples of reasons for resolving are:
|
|
|
+
|
|
|
+* Revision NNNNNN fixed the bug.
|
|
|
+* The bug cannot be reproduced with revision NNNNNN.
|
|
|
+* The circumstances for the bug don't apply anymore.
|
|
|
+* There is a sound reason for not fixing it (WONTFIX).
|
|
|
+* There is a specific and plausible reason to think that a given bug is
|
|
|
+ otherwise inapplicable or obsolete.
|
|
|
+
|
|
|
+ * One example is an old open bug that doesn't contain enough information to
|
|
|
+ clearly understand the problem being reported (e.g. not reproducible). It is
|
|
|
+ fine to resolve such a bug e.g. with resolution WORKSFORME and leaving a
|
|
|
+ comment to encourage the reporter to reopen the bug with more information
|
|
|
+ if it's still reproducable on their end.
|
|
|
+
|
|
|
+If a bug is resolved, please fill in the revision number it was fixed in in the
|
|
|
+"Fixed by Commit(s)" field.
|
|
|
+
|
|
|
+
|
|
|
+.. _Maintenance of Bug products/component metadata:
|
|
|
+
|
|
|
+Maintenance of products/components metadata
|
|
|
+===========================================
|
|
|
+
|
|
|
+Please raise a bug against "Bugzilla Admin"/"Products" to request any changes
|
|
|
+to be made to the breakdown of products & components modeled in Bugzilla.
|
|
|
+
|
|
|
+
|
|
|
+.. _Maintenance of cc-by-default settings:
|
|
|
+
|
|
|
+Maintenance of cc-by-default settings
|
|
|
+=====================================
|
|
|
+
|
|
|
+Please raise a bug against "Bugzilla Admin"/"Products" to request any changes
|
|
|
+to be made to the cc-by-default settings for specific components.
|