blob: 9e5a4ca0daa01cfdfb961ced6e068661e5fe3340 [file] [log] [blame]
Robert Ly35f2fda2013-01-29 16:27:05 -08001page.title=Life of a Bug
2@jd:body
3
4<!--
Clay Murphy768b82a2013-11-12 11:32:41 -08005 Copyright 2013 The Android Open Source Project
Robert Ly35f2fda2013-01-29 16:27:05 -08006
7 Licensed under the Apache License, Version 2.0 (the "License");
8 you may not use this file except in compliance with the License.
9 You may obtain a copy of the License at
10
11 http://www.apache.org/licenses/LICENSE-2.0
12
13 Unless required by applicable law or agreed to in writing, software
14 distributed under the License is distributed on an "AS IS" BASIS,
15 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 See the License for the specific language governing permissions and
17 limitations under the License.
18-->
19<div id="qv-wrapper">
20 <div id="qv">
21 <h2>In this document</h2>
22 <ol id="auto-toc">
23 </ol>
24 </div>
25</div>
Jean-Baptiste Queru05437cd2013-06-18 15:46:06 -070026<p>The Android Open Source Project maintains a public issue tracker where you
27can report bugs and request features for the core Android software stack.
28(For details on this issue tracker, please see the
29<a href="report-bugs.html">Reporting Bugs</a> page).
Robert Ly35f2fda2013-01-29 16:27:05 -080030Reporting bugs is great (thank you!), but what happens to a bug report once
31you file it? This page describes the Life of a Bug.</p>
Jean-Baptiste Queru05437cd2013-06-18 15:46:06 -070032
Robert Ly35f2fda2013-01-29 16:27:05 -080033<p>*Please note: the Android Open Source Project (AOSP) issue tracker is
Jean-Baptiste Queru05437cd2013-06-18 15:46:06 -070034intended only for bugs and feature requests related to the core Android
35software stack, and is a technical tool for the Open Source community.</p>
36
37<p>This is not a customer support forum.
38You can find support for Nexus devices on
39<a href="http://support.google.com/nexus">Google's Nexus support site</a>.
40Support for other devices is provided by the device manufacturers or by the
41carriers selling those devices.</p>
42
43<p>Support for Google applications is through
44<a href="http://support.google.com/">Google's support site</a>. Support
45for 3rd-party applications is with each application's developer, e.g.
46through the contact information provided on Google Play.</p>
47
Robert Ly35f2fda2013-01-29 16:27:05 -080048<p>Here's the life of a bug, in a nutshell:</p>
49<ol>
50<li>
51<p>A bug is filed, and has the state "New".</p>
52</li>
53<li>
Jean-Baptiste Queru05437cd2013-06-18 15:46:06 -070054<p>An AOSP maintainer periodically reviews and triages bugs. Bugs are
Robert Ly35f2fda2013-01-29 16:27:05 -080055triaged into one of four "buckets": New, Open, No-Action, or Resolved.</p>
56</li>
57<li>
58<p>Each bucket includes a number of states that provide more detail on the
59fate of the issue.</p>
60</li>
61<li>
62<p>Bugs in the "Resolved" bucket will eventually be included in a future
63release of the Android software.</p>
64</li>
65</ol>
66<h1 id="bucket-details">Bucket Details</h1>
67<p>Here is some additional information on each bucket, what it means, and how
68it's handled.</p>
69<h2 id="new-issues">New Issues</h2>
70<p>New issues include bug reports that are not yet being acted upon. The two
71states are:</p>
72<ul>
73<li>
74<p><em>New:</em>
Jean-Baptiste Queru05437cd2013-06-18 15:46:06 -070075 The bug report has not yet been triaged (that is, reviewed by an AOSP maintainer.)</p>
Robert Ly35f2fda2013-01-29 16:27:05 -080076</li>
77<li>
78<p><em>NeedsInfo:</em>
79 The bug report has insufficient information to act
80upon. The person who reported the bug needs to provide additional detail
81before it can be triaged. If enough time passes and no new information is
82provided, the bug may be closed by default, as one of the No-Action
83states.</p>
84</li>
85</ul>
86<h2 id="open-issues">Open Issues</h2>
87<p>This bucket contains bugs that need action, but which are still
88unresolved, pending a change to the source code.</p>
89<ul>
90<li>
91<p><em>Unassigned:</em>
92 The bug report has been recognized as an adequately
93detailed report of a legitimate issue, but has not yet been assigned to an
Jean-Baptiste Queru05437cd2013-06-18 15:46:06 -070094AOSP contributor to be fixed.</p>
Robert Ly35f2fda2013-01-29 16:27:05 -080095</li>
96<li>
97<p><em>Assigned:</em>
98 Like <em>Unassigned</em>, but the bug has been
99actually assigned to a specific contributor to fix.</p>
100</li>
101</ul>
102<p>Typically, a given bug will start in <em>Unassigned</em>, where it
Jean-Baptiste Queru05437cd2013-06-18 15:46:06 -0700103will remain until someone intends to resolve it, at which
104point it will enter <em>Assigned</em>. However,
Robert Ly35f2fda2013-01-29 16:27:05 -0800105note that this isn't a guarantee, and it's not uncommon for bugs to go from
106<em>Unassigned</em> to one of the Resolved states.</p>
107<p>In general, if a bug is in one of these Open states, the AOSP team has
Jean-Baptiste Queru05437cd2013-06-18 15:46:06 -0700108recognized it as a legitimate issue, and a high-quality contribution fixing
109that bug is likely to get accepted. However, it's impossible to guarantee a
110fix in time for any particular release.</p>
111
Robert Ly35f2fda2013-01-29 16:27:05 -0800112<h2 id="no-action-issues">No-Action Issues</h2>
113<p>This bucket contains bugs that have for one reason or another been
114determined to not require any action.</p>
115<ul>
116<li>
117<p><em>Spam:</em>
118 A kind soul sent us some delicious pork products, that we,
119regrettably, do not want.</p>
120</li>
121<li>
Jean-Baptiste Queru05437cd2013-06-18 15:46:06 -0700122<p><em>Duplicate:</em>
123 There was already an identical report in the issue tracker. Any actual
124action will be reported on that report.</p>
Robert Ly35f2fda2013-01-29 16:27:05 -0800125</li>
126<li>
127<p><em>Unreproducible:</em>
128 An AOSP contributor attempted to reproduce the
129behavior described, and was unable to do so. This sometimes means that the bug
130is legitimate but simply rare or difficult to reproduce, and sometimes means
131that the bug was fixed in a later release.</p>
132</li>
133<li>
Jean-Baptiste Queru05437cd2013-06-18 15:46:06 -0700134<p><em>Obsolete:</em>
135 Similar to <em>Unreproducible,</em> but with a reasonable certainty
136that the bug did exist in the reported version but was already fixed in
137a later release.</p>
138</li>
139<li>
Robert Ly35f2fda2013-01-29 16:27:05 -0800140<p><em>WorkingAsIntended:</em>
Jean-Baptiste Queru05437cd2013-06-18 15:46:06 -0700141 An AOSP maintainer has determined that the
Robert Ly35f2fda2013-01-29 16:27:05 -0800142behavior described isn't a bug, but is the intended behavior. This state is
143also commonly referred to as "WAI".</p>
144</li>
145<li>
146<p><em>Declined:</em>
147 This is like <em>WorkingAsIntended</em>, except
Jean-Baptiste Queru05437cd2013-06-18 15:46:06 -0700148typically used for feature requests instead of bugs. That is, an AOSP
149maintainer has determined that the request is not going to be implemented in
Robert Ly35f2fda2013-01-29 16:27:05 -0800150Android.</p>
151</li>
Jean-Baptiste Queru05437cd2013-06-18 15:46:06 -0700152<li>
153<p><em>NotEnoughInformation:</em>
154 The report didn't have enough information to be able to take any action.</p>
155</li>
156<li>
157<p><em>UserError:</em>
158 The report was the result of a user making a mistake while using Android,
159e.g. typing a wrong password and therefore not being able to connect to a
160server.</p>
161</li>
162<li>
163<p><em>WrongForum:</em>
164 The report cannot be handled in AOSP, typically because it is related
165to a customized device or to an external application.</p>
166</li>
167<li>
168<p><em>Question:</em>
169 Someone mistook the issue tracker for a help forum.</p>
170</li>
Robert Ly35f2fda2013-01-29 16:27:05 -0800171</ul>
172<h2 id="resolved-issues">Resolved Issues</h2>
173<p>This bucket contains bugs that have had action taken, and are now
174considered resolved.</p>
175<ul>
176<li>
Robert Ly35f2fda2013-01-29 16:27:05 -0800177<p><em>Released:</em>
Jean-Baptiste Queru05437cd2013-06-18 15:46:06 -0700178 This bug has been fixed, and is included in a formal release.
179When this state is set, we try to also set a
Robert Ly35f2fda2013-01-29 16:27:05 -0800180property indicating which release it was fixed in.</p>
181</li>
182<li>
Jean-Baptiste Queru05437cd2013-06-18 15:46:06 -0700183<p><em>FutureRelease:</em>
184 This bug has been fixed (or feature implemented) in
185a source tree, but has not yet been included in a formal release.</p>
Robert Ly35f2fda2013-01-29 16:27:05 -0800186</li>
187</ul>
188<h1 id="other-stuff">Other Stuff</h1>
189<p>The states and lifecycle above are how we generally try to track software.
190However, Android contains a lot of software and gets a correspondingly large
191number of bugs. As a result, sometimes bugs don't make it through all the
192states in a formal progression. We do try to keep the system up to date, but
193we tend to do so in periodic "bug sweeps" where we review the database and
194make updates.</p>