1 <html devsite> 2 <head> 3 <title>Life of a Bug</title> 4 <meta name="project_path" value="/_project.yaml" /> 5 <meta name="book_path" value="/_book.yaml" /> 6 </head> 7 <body> 8 <!-- 9 Copyright 2017 The Android Open Source Project 10 11 Licensed under the Apache License, Version 2.0 (the "License"); 12 you may not use this file except in compliance with the License. 13 You may obtain a copy of the License at 14 15 http://www.apache.org/licenses/LICENSE-2.0 16 17 Unless required by applicable law or agreed to in writing, software 18 distributed under the License is distributed on an "AS IS" BASIS, 19 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 20 See the License for the specific language governing permissions and 21 limitations under the License. 22 --> 23 24 25 <p>The Android Open Source Project maintains a public issue tracker where you 26 can report bugs and request features for the core Android software stack. 27 (For details on this issue tracker, please see the 28 <a href="report-bugs.html">Reporting Bugs</a> page). 29 Reporting bugs is great (thank you!), but what happens to a bug report once 30 you file it? This page describes the life of a bug.</p> 31 32 <p class="note">The Android Open Source Project (AOSP) issue tracker is 33 intended only for bugs and feature requests related to the core Android 34 software stack, and is a technical tool for the Open Source community.</p> 35 36 <p>This is not a customer support forum. For support information, see the 37 <a href="https://support.google.com/nexus">Nexus</a> and 38 <a href="https://support.google.com/pixelphone">Pixel</a> help centers. 39 Support for other devices is provided by the device manufacturers or by the 40 carriers selling those devices.</p> 41 42 <p>Support for Google applications is through 43 <a href="http://support.google.com/">Google's support site</a>. Support 44 for third-party applications is with each application's developer, e.g. 45 through the contact information provided on Google Play.</p> 46 47 <p>Here's the life of a bug, in a nutshell:</p> 48 <ol> 49 <li>A bug is filed, and has the state "New".</li> 50 <li>An AOSP maintainer periodically reviews and triages bugs. Bugs are 51 triaged into one of four <em>buckets</em>: New, Open, No-Action, or Resolved.</li> 52 <li>Each bucket includes a number of states that provide more detail on the 53 fate of the issue.</li> 54 <li>Bugs marked as "Resolved" will eventually be included in a future 55 release of the Android software.</li> 56 </ol> 57 </ul> 58 59 <h2 id="bucket-details">Bucket details</h2> 60 <p> 61 We use the <strong>Status</strong> field in Issue Tracker to specify the status 62 of an issue in the resolution process. This is consistent with the definitions 63 specified in the <a 64 href="https://developers.google.com/issue-tracker/concepts/issues#status">Issue 65 Tracker documentation</a>. 66 </p> 67 <h3 id="new-issues">New issues</h3> 68 <p> 69 New issues include bug reports that are not yet being acted upon. The two states 70 are: 71 </p> 72 <ul> 73 <li><strong>New:</strong> The bug report has not yet been triaged (that is, 74 reviewed by an AOSP maintainer.)</li> 75 <li><strong>New + Hotlist:NeedsInfo:</strong> The bug report has insufficient 76 information to act upon. The person who reported the bug needs to provide 77 additional detail before it can be triaged. If enough time passes and no new 78 information is provided, the bug may be closed by default, as one of the 79 No-Action states.</li> 80 </ul> 81 <h3 id="open-issues">Open issues</h3> 82 <p> 83 This bucket contains bugs that need action, but which are still unresolved, 84 pending a change to the source code. 85 </p> 86 <ul> 87 <li><strong>Assigned:</strong> The bug report has been recognized as an 88 adequately detailed report of a legitimate issue and the bug has been assigned 89 to a specific contributor to assess and analyze.</li> 90 <li><strong>Accepted:</strong> The assignee has acknowledged the issue and has 91 started to work on it.</li> 92 </ul> 93 <p> 94 Typically, a bug starts in <strong>Assigned</strong>, and remains there until 95 someone intends to resolve it, at which point it enters 96 <strong>Accepted</strong>. However, note that this isn't a guarantee, and it's 97 not uncommon for bugs to go from <strong>Assigned</strong> to one of the 98 Resolved states. 99 </p> 100 <p> 101 In general, if a bug is in one of these Open states, the AOSP team has 102 recognized it as a legitimate issue, and a high-quality contribution fixing that 103 bug is likely to get accepted. However, it's impossible to guarantee a fix in 104 time for any particular release. 105 </p> 106 <h3 id="no-action-issues">No-Action issues</h3> 107 <p> 108 This bucket contains bugs that are deemed to not require any action. 109 </p> 110 <ul> 111 <li><strong>Won't Fix (Not reproducible):</strong> An AOSP contributor attempted 112 to reproduce the behavior described, and was unable to do so. This sometimes 113 means that the bug is legitimate but simply rare or difficult to reproduce, or 114 there was not enough information to fix the issue.</li> 115 <li><strong>Won't Fix (Intended behavior):</strong> An AOSP maintainer has 116 determined that the behavior described isn't a bug, but is the intended 117 behavior. This state is also commonly referred to as <em>working as 118 intended</em> (WAI). For feature requests, an AOSP maintainer has determined 119 that the request is not going to be implemented in Android.</li> 120 <li><strong>Won't Fix (Obsolete):</strong> The issue is no longer relevant due 121 to changes in the product.</li> 122 <li><strong>Won't Fix (Infeasible):</strong> The changes that are needed to 123 address the issue are not reasonably possible. This status is also used for 124 issues reported that cannot be handled in AOSP, typically because it is related 125 to a customized device or to an external application, or the reporter mistook 126 this tracker as a help forum.</li> 127 <li><strong>Duplicate:</strong> There was already an identical report in the 128 issue tracker. Any actual action will be reported on that report.</li> 129 </ul> 130 <h3 id="resolved-issues">Resolved issues</h3> 131 <p> 132 This bucket contains bugs that have had action taken, and are now considered 133 resolved. 134 </p> 135 <ul> 136 <li><strong>Fixed (verified):</strong> This bug has been fixed, and is included 137 in a formal release. When this state is set, we try to also set a property 138 indicating which release it was fixed in.</li> 139 <li><strong>Fixed:</strong> This bug has been fixed (or feature implemented) in 140 a source tree, but might not yet been included in a formal release.</li> 141 </ul> 142 <h2 id="other-stuff">Other stuff</h2> 143 <p> 144 The states and lifecycle above are how we generally try to track software. 145 However, Android contains a lot of software and gets a correspondingly large 146 number of bugs. As a result, sometimes bugs don't make it through all the 147 states in a formal progression. We do try to keep the system up to date, but 148 we tend to do so in periodic "bug sweeps" where we review the database and 149 make updates.</p> 150 </body> 151 </html> 152