blob: 027dcd2be99ba9cba50c03dbd20a5ef2a88cee6a [file] [log] [blame]
Robert Ly35f2fda2013-01-29 16:27:05 -08001page.title=Report Bugs
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>
26<p>Thanks for your interest in Android! One of the best ways you can help us
27improve Android is to let us know about any problems you find with it.</p>
28<p>First, though: if you think you've found a security vulnerability,
29<em>please don't use the forms below</em>. Using the public forms below may
30allow anyone to see your report, which may put users at risk until the bug is
31fixed. Please visit
32<a href="{@docRoot}source/faqs.html">our
33security faq</a> for more information on reporting security vulnerabilities
34to the Android security team.</p>
35<p>Here's how to report non-security bugs:</p>
36<ul>
37<li>
Jean-Baptiste Queru05437cd2013-06-18 15:46:06 -070038<p><a href="https://code.google.com/p/android/issues/advsearch">Search for
39your bug</a> to see if anyone has already reported it. Don't forget to
40search for all issues, not just open ones, as your issue might already
41have been reported and closed. To help find the most popular results,
42sort the result by number of stars.</p>
Robert Ly35f2fda2013-01-29 16:27:05 -080043</li>
44<li>
45<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>
46</li>
47<li>
48<p>If no one's reported your bug, file the bug. You can use one of these templates:</p>
49<ul>
50<li>
51<p><a href="https://code.google.com/p/android/issues/entry?template=User%20bug%20report">Bug in your Device</a> - use this if you are a user reporting a bug in a device you own</p>
52</li>
53<li>
54<p><a href="https://code.google.com/p/android/issues/entry?template=Developer%20bug%20report">Bug in the Software</a> - use this if you found a bug in the course of developing an app</p>
55</li>
56<li>
57<p><a href="https://code.google.com/p/android/issues/entry?template=Feature%20request">Feature Request</a> - use this for a feature you'd like to see in a future verison</p>
58</li>
59</ul>
60</li>
61</ul>
Jean-Baptiste Queru05437cd2013-06-18 15:46:06 -070062<p>Keep in mind that an issue tracker is not a user support forum. It is a list
63of pending technical tasks, along with information relevant for those tasks,
64and information about progress on those tasks including which ones might
65get worked on in the short term.</p>
66<p>This issue tracker is narrowly focused on the Android Open Source Project.
67Issues with retail devices need to be reported through those devices' support
68channels, especially for devices other than Nexus. Issues with applications
69that aren't part of AOSP need to be reported with those applications'
70developers; that is also the case for Google applications.</p>
Robert Ly35f2fda2013-01-29 16:27:05 -080071<p>Please note that we can't guarantee that any particular bug can be fixed in
72any particular release. To see what happens to your bug once you report it,
73read <a href="life-of-a-bug.html">Life of a Bug</a>.</p>
74<p>In general, please put as much info in bugs as you can. Just a one liner
75telling us something isn't working is usually useless, and will probably be
76closed without any action. The more detail you provide, the more likely your
77issue is to be resolved. Below, there are some examples of a good bug report
78and a poor bug report.</p>
79
80<h2 id="a-poor-bug-report">A Poor Bug Report</h2>
81<pre>
82Title: Error message
83
84When running Eclipse I get an "Internal Error" that says "See the .log file for more details".
85
86Steps to reproduce:
87Happens when "Object o = null". Doesn't happen when changed to "Object o".
88
89Expected results:
90I wouldn't get the error message--would work with Object o = null.
91
92Observed results:
93See above.
94</pre>
95<p>This is a poor bug report because it doesn't provide any context for the
96issue; is it a problem in the Dalvik virtual machine, the core framework, or
97something else? It also doesn't provide any code or hint on how to reproduce
98it. In other words, this bug report doesn't provide enough information for
99anyone to take action on, so it would be ignored.</p>
100<h2 id="a-good-bug-report">A Good Bug Report</h2>
101<pre>
102Title: Stepping over "Object o = null" causes Eclipse "Internal Error"
103
104Interesting bug, while using Eclipse 3.3.1.1 with m37a of android and the following code:
105
106package com.saville.android;
107
108import android.app.Activity;
109import android.os.Bundle;
110import android.util.Log;
111
112public class TestObjectNull extends Activity {
113 /** Called when the activity is first created. */
114 &#64;Override
115 public void onCreate(Bundle icicle) {
116 super.onCreate(icicle);
117 setContentView(R.layout.main);
118
119 Object o = null;
120
121 o = "hi";
122
123 Log.v(TAG, "o=" + o);
124 }
125
126 static final String TAG = "TestObjectNull";
127}
128
129Eclipse indicates an "Internal Error" with "See the .log file for more
130details" and then asks if I want to exit the workbench. This occurs when I
131place a break point on "setContentView(R.layout.main);" and then single
132step over "Object o = null;"
133
134If I change "Object o = null;" to "Object o" all is well.
135
136The last lines of the .log file are:
137
138!ENTRY org.eclipse.core.jobs 4 2 2008-01-01 13:04:15.825
139!MESSAGE An internal error occurred during: "has children update".
140!STACK 0
141java.lang.InternalError: Invalid signature: "&lt;null&gt;"
142 at
143org.eclipse.jdi.internal.TypeImpl.signatureToTag(TypeImpl.java:307)
144 at
145org.eclipse.jdi.internal.LocalVariableImpl.tag(LocalVariableImpl.java:185)
146 at
147org.eclipse.jdi.internal.StackFrameImpl.getValues(StackFrameImpl.java:128)
148 at
149org.eclipse.jdi.internal.StackFrameImpl.getValue(StackFrameImpl.java:73)
150 at
151org.eclipse.jdt.internal.debug.core.model.JDILocalVariable.retrieveValue(JDILocalVariable.java:57)
152 at
153org.eclipse.jdt.internal.debug.core.model.JDIVariable.getCurrentValue(JDIVariable.java:66)
154 at
155org.eclipse.jdt.internal.debug.core.model.JDIVariable.getValue(JDIVariable.java:88)
156 at
157org.eclipse.debug.internal.ui.model.elements.VariableContentProvider.hasChildren(VariableContentProvider.java:62)
158 at
159org.eclipse.jdt.internal.debug.ui.variables.JavaVariableContentProvider.hasChildren(JavaVariableContentProvider.java:73)
160 at
161org.eclipse.debug.internal.ui.model.elements.ElementContentProvider.updateHasChildren(ElementContentProvider.java:223)
162 at
163org.eclipse.debug.internal.ui.model.elements.ElementContentProvider$3.run(ElementContentProvider.java:200)
164 at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Jean-Baptiste Queru05437cd2013-06-18 15:46:06 -0700165</pre>