blob: aca8e43c2e9a09d580318e1f82cf36cfd05fb7ec [file] [log] [blame]
Robert Ly35f2fda2013-01-29 16:27:05 -08001page.title=Report Bugs
2@jd:body
3
4<!--
Bert McMeen9cb839d2015-04-20 14:10:47 -07005 Copyright 2015 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>
Bert McMeen9cb839d2015-04-20 14:10:47 -070026
27<p>Thank you for your interest in Android! One of the best ways you can help us
Robert Ly35f2fda2013-01-29 16:27:05 -080028improve Android is to let us know about any problems you find with it.</p>
Bert McMeen9cb839d2015-04-20 14:10:47 -070029<h2 id="report-issues">Report Issues</h2>
Clay Murphy10b95502015-11-05 17:23:42 -080030<p class="note"><strong>Note:</strong> For security vulnerabilities, please use
31the AOSP bug tracker <a
32href="https://code.google.com/p/android/issues/entry?template=Security%20bug%20report">Security
33bug report</a> template. See <a
34href="{@docRoot}security/overview/updates-resources.html#report-issues">Reporting
35Security Issues</a> for additional details.</p>
Bert McMeen9cb839d2015-04-20 14:10:47 -070036<p>Here's how to report <strong>non-security</strong> bugs:</p>
Robert Ly35f2fda2013-01-29 16:27:05 -080037<ul>
Clay Murphy10b95502015-11-05 17:23:42 -080038<li>
Jean-Baptiste Queru05437cd2013-06-18 15:46:06 -070039<p><a href="https://code.google.com/p/android/issues/advsearch">Search for
40your bug</a> to see if anyone has already reported it. Don't forget to
41search for all issues, not just open ones, as your issue might already
Bert McMeen9cb839d2015-04-20 14:10:47 -070042have been reported and closed. To help you find the most popular results,
Jean-Baptiste Queru05437cd2013-06-18 15:46:06 -070043sort the result by number of stars.</p>
Robert Ly35f2fda2013-01-29 16:27:05 -080044</li>
45<li>
46<p>If you find your issue and it's important to you, star it! That's how we know which bugs are most important to fix.</p>
47</li>
48<li>
Bert McMeen9cb839d2015-04-20 14:10:47 -070049<p>If no one has reported your bug, file the bug. You can use one of these templates:</p>
Robert Ly35f2fda2013-01-29 16:27:05 -080050<ul>
51<li>
Bert McMeen9cb839d2015-04-20 14:10:47 -070052<p><a href="https://code.google.com/p/android/issues/entry?template=User%20bug%20report">Bug in your Device</a> -
53use this if you are a user reporting a bug in a device you own</p>
Robert Ly35f2fda2013-01-29 16:27:05 -080054</li>
55<li>
Bert McMeen9cb839d2015-04-20 14:10:47 -070056<p><a href="https://code.google.com/p/android/issues/entry?template=Developer%20bug%20report">Bug in the Software</a> -
57use this if you found a bug in the course of developing an app</p>
Robert Ly35f2fda2013-01-29 16:27:05 -080058</li>
59<li>
Bert McMeen9cb839d2015-04-20 14:10:47 -070060<p><a href="https://code.google.com/p/android/issues/entry?template=Feature%20request">Feature Request</a> -
61use this for a feature you'd like to see in a future verison</p>
Robert Ly35f2fda2013-01-29 16:27:05 -080062</li>
63</ul>
64</li>
65</ul>
Jean-Baptiste Queru05437cd2013-06-18 15:46:06 -070066<p>Keep in mind that an issue tracker is not a user support forum. It is a list
67of pending technical tasks, along with information relevant for those tasks,
68and information about progress on those tasks including which ones might
69get worked on in the short term.</p>
70<p>This issue tracker is narrowly focused on the Android Open Source Project.
71Issues with retail devices need to be reported through those devices' support
72channels, especially for devices other than Nexus. Issues with applications
73that aren't part of AOSP need to be reported with those applications'
74developers; that is also the case for Google applications.</p>
Robert Ly35f2fda2013-01-29 16:27:05 -080075<p>Please note that we can't guarantee that any particular bug can be fixed in
76any particular release. To see what happens to your bug once you report it,
77read <a href="life-of-a-bug.html">Life of a Bug</a>.</p>
78<p>In general, please put as much info in bugs as you can. Just a one liner
79telling us something isn't working is usually useless, and will probably be
80closed without any action. The more detail you provide, the more likely your
81issue is to be resolved. Below, there are some examples of a good bug report
82and a poor bug report.</p>
83
84<h2 id="a-poor-bug-report">A Poor Bug Report</h2>
Clay Murphy291670d2014-09-09 16:26:00 -070085<blockquote>
Robert Ly35f2fda2013-01-29 16:27:05 -080086Title: Error message
87
88When running Eclipse I get an "Internal Error" that says "See the .log file for more details".
89
90Steps to reproduce:
91Happens when "Object o = null". Doesn't happen when changed to "Object o".
92
93Expected results:
94I wouldn't get the error message--would work with Object o = null.
95
96Observed results:
97See above.
Clay Murphy291670d2014-09-09 16:26:00 -070098</blockquote>
Robert Ly35f2fda2013-01-29 16:27:05 -080099<p>This is a poor bug report because it doesn't provide any context for the
Clay Murphye4edda62014-10-16 19:00:15 -0700100issue; is it a problem in the ART runtime, the core framework, or
Robert Ly35f2fda2013-01-29 16:27:05 -0800101something else? It also doesn't provide any code or hint on how to reproduce
102it. In other words, this bug report doesn't provide enough information for
103anyone to take action on, so it would be ignored.</p>
104<h2 id="a-good-bug-report">A Good Bug Report</h2>
Clay Murphy291670d2014-09-09 16:26:00 -0700105<blockquote>
Robert Ly35f2fda2013-01-29 16:27:05 -0800106Title: Stepping over "Object o = null" causes Eclipse "Internal Error"
107
108Interesting bug, while using Eclipse 3.3.1.1 with m37a of android and the following code:
Clay Murphy291670d2014-09-09 16:26:00 -0700109<pre>
Robert Ly35f2fda2013-01-29 16:27:05 -0800110package com.saville.android;
111
112import android.app.Activity;
113import android.os.Bundle;
114import android.util.Log;
115
116public class TestObjectNull extends Activity {
117 /** Called when the activity is first created. */
118 &#64;Override
119 public void onCreate(Bundle icicle) {
120 super.onCreate(icicle);
121 setContentView(R.layout.main);
122
123 Object o = null;
124
125 o = "hi";
126
127 Log.v(TAG, "o=" + o);
128 }
129
130 static final String TAG = "TestObjectNull";
131}
Clay Murphy291670d2014-09-09 16:26:00 -0700132</pre>
Robert Ly35f2fda2013-01-29 16:27:05 -0800133Eclipse indicates an "Internal Error" with "See the .log file for more
134details" and then asks if I want to exit the workbench. This occurs when I
135place a break point on "setContentView(R.layout.main);" and then single
136step over "Object o = null;"
137
138If I change "Object o = null;" to "Object o" all is well.
139
140The last lines of the .log file are:
Clay Murphy291670d2014-09-09 16:26:00 -0700141<pre>
Robert Ly35f2fda2013-01-29 16:27:05 -0800142!ENTRY org.eclipse.core.jobs 4 2 2008-01-01 13:04:15.825
143!MESSAGE An internal error occurred during: "has children update".
144!STACK 0
145java.lang.InternalError: Invalid signature: "&lt;null&gt;"
146 at
147org.eclipse.jdi.internal.TypeImpl.signatureToTag(TypeImpl.java:307)
148 at
149org.eclipse.jdi.internal.LocalVariableImpl.tag(LocalVariableImpl.java:185)
150 at
151org.eclipse.jdi.internal.StackFrameImpl.getValues(StackFrameImpl.java:128)
152 at
153org.eclipse.jdi.internal.StackFrameImpl.getValue(StackFrameImpl.java:73)
154 at
155org.eclipse.jdt.internal.debug.core.model.JDILocalVariable.retrieveValue(JDILocalVariable.java:57)
156 at
157org.eclipse.jdt.internal.debug.core.model.JDIVariable.getCurrentValue(JDIVariable.java:66)
158 at
159org.eclipse.jdt.internal.debug.core.model.JDIVariable.getValue(JDIVariable.java:88)
160 at
161org.eclipse.debug.internal.ui.model.elements.VariableContentProvider.hasChildren(VariableContentProvider.java:62)
162 at
163org.eclipse.jdt.internal.debug.ui.variables.JavaVariableContentProvider.hasChildren(JavaVariableContentProvider.java:73)
164 at
165org.eclipse.debug.internal.ui.model.elements.ElementContentProvider.updateHasChildren(ElementContentProvider.java:223)
166 at
167org.eclipse.debug.internal.ui.model.elements.ElementContentProvider$3.run(ElementContentProvider.java:200)
168 at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Jean-Baptiste Queru05437cd2013-06-18 15:46:06 -0700169</pre>
Clay Murphy291670d2014-09-09 16:26:00 -0700170</blockquote>