blob: 9b85b0885cecbad84cfbcfe7d296d4c57c0e0b2d [file] [log] [blame]
Robert Ly35f2fda2013-01-29 16:27:05 -08001page.title=Report Bugs
2@jd:body
3
4<!--
5 Copyright 2010 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<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>
38<p><a href="https://code.google.com/p/android/issues/advsearch">Search for your bug</a> to see if anyone has already reported it.</p>
39</li>
40<li>
41<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>
42</li>
43<li>
44<p>If no one's reported your bug, file the bug. You can use one of these templates:</p>
45<ul>
46<li>
47<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>
48</li>
49<li>
50<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>
51</li>
52<li>
53<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>
54</li>
55</ul>
56</li>
57</ul>
58<p>Please note that we can't guarantee that any particular bug can be fixed in
59any particular release. To see what happens to your bug once you report it,
60read <a href="life-of-a-bug.html">Life of a Bug</a>.</p>
61<p>In general, please put as much info in bugs as you can. Just a one liner
62telling us something isn't working is usually useless, and will probably be
63closed without any action. The more detail you provide, the more likely your
64issue is to be resolved. Below, there are some examples of a good bug report
65and a poor bug report.</p>
66
67<h2 id="a-poor-bug-report">A Poor Bug Report</h2>
68<pre>
69Title: Error message
70
71When running Eclipse I get an "Internal Error" that says "See the .log file for more details".
72
73Steps to reproduce:
74Happens when "Object o = null". Doesn't happen when changed to "Object o".
75
76Expected results:
77I wouldn't get the error message--would work with Object o = null.
78
79Observed results:
80See above.
81</pre>
82<p>This is a poor bug report because it doesn't provide any context for the
83issue; is it a problem in the Dalvik virtual machine, the core framework, or
84something else? It also doesn't provide any code or hint on how to reproduce
85it. In other words, this bug report doesn't provide enough information for
86anyone to take action on, so it would be ignored.</p>
87<h2 id="a-good-bug-report">A Good Bug Report</h2>
88<pre>
89Title: Stepping over "Object o = null" causes Eclipse "Internal Error"
90
91Interesting bug, while using Eclipse 3.3.1.1 with m37a of android and the following code:
92
93package com.saville.android;
94
95import android.app.Activity;
96import android.os.Bundle;
97import android.util.Log;
98
99public class TestObjectNull extends Activity {
100 /** Called when the activity is first created. */
101 &#64;Override
102 public void onCreate(Bundle icicle) {
103 super.onCreate(icicle);
104 setContentView(R.layout.main);
105
106 Object o = null;
107
108 o = "hi";
109
110 Log.v(TAG, "o=" + o);
111 }
112
113 static final String TAG = "TestObjectNull";
114}
115
116Eclipse indicates an "Internal Error" with "See the .log file for more
117details" and then asks if I want to exit the workbench. This occurs when I
118place a break point on "setContentView(R.layout.main);" and then single
119step over "Object o = null;"
120
121If I change "Object o = null;" to "Object o" all is well.
122
123The last lines of the .log file are:
124
125!ENTRY org.eclipse.core.jobs 4 2 2008-01-01 13:04:15.825
126!MESSAGE An internal error occurred during: "has children update".
127!STACK 0
128java.lang.InternalError: Invalid signature: "&lt;null&gt;"
129 at
130org.eclipse.jdi.internal.TypeImpl.signatureToTag(TypeImpl.java:307)
131 at
132org.eclipse.jdi.internal.LocalVariableImpl.tag(LocalVariableImpl.java:185)
133 at
134org.eclipse.jdi.internal.StackFrameImpl.getValues(StackFrameImpl.java:128)
135 at
136org.eclipse.jdi.internal.StackFrameImpl.getValue(StackFrameImpl.java:73)
137 at
138org.eclipse.jdt.internal.debug.core.model.JDILocalVariable.retrieveValue(JDILocalVariable.java:57)
139 at
140org.eclipse.jdt.internal.debug.core.model.JDIVariable.getCurrentValue(JDIVariable.java:66)
141 at
142org.eclipse.jdt.internal.debug.core.model.JDIVariable.getValue(JDIVariable.java:88)
143 at
144org.eclipse.debug.internal.ui.model.elements.VariableContentProvider.hasChildren(VariableContentProvider.java:62)
145 at
146org.eclipse.jdt.internal.debug.ui.variables.JavaVariableContentProvider.hasChildren(JavaVariableContentProvider.java:73)
147 at
148org.eclipse.debug.internal.ui.model.elements.ElementContentProvider.updateHasChildren(ElementContentProvider.java:223)
149 at
150org.eclipse.debug.internal.ui.model.elements.ElementContentProvider$3.run(ElementContentProvider.java:200)
151 at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
152</pre>