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