• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!--
2   Copyright 2010 The Android Open Source Project
3
4   Licensed under the Apache License, Version 2.0 (the "License");
5   you may not use this file except in compliance with the License.
6   You may obtain a copy of the License at
7
8       http://www.apache.org/licenses/LICENSE-2.0
9
10   Unless required by applicable law or agreed to in writing, software
11   distributed under the License is distributed on an "AS IS" BASIS,
12   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   See the License for the specific language governing permissions and
14   limitations under the License.
15-->
16
17# Report Bugs #
18
19Thanks for your interest in Android! One of the best ways you can help us
20improve Android is to let us know about any problems you find with it.
21
22First, though: if you think you've found a security vulnerability,
23*please don't use the forms below*. Using the public forms below may
24allow anyone to see your report, which may put users at risk until the bug is
25fixed. Instead, please report security bugs to our security team by emailing
26<a href="mailto:security@android.com">security@android.com</a>.  We believe in
27responsible disclosure of security vulnerabilities, and will give you proper
28attribution for any issues you report.
29
30Here's how to report non-security bugs:
31
32- [Search for your bug](http://code.google.com/p/android/issues/advsearch) to see if anyone has already reported it.
33
34- 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.
35
36- If no one's reported your bug, file the bug. You can use one of these templates:
37
38    - [Bug in your Device](http://code.google.com/p/android/issues/entry?template=User%20bug%20report) - use this if you are a user reporting a bug in a device you own
39
40    - [Bug in the Software](http://code.google.com/p/android/issues/entry?template=Developer%20bug%20report) - use this if you found a bug in the course of developing an app
41
42    - [Feature Request](http://code.google.com/p/android/issues/entry?template=Feature%20request) - use this for a feature you'd like to see in a future verison
43
44Please note that we can't guarantee that any particular bug can be fixed in
45any particular release. To see what happens to your bug once you report it,
46read [Life of a Bug](life-of-a-bug.html).
47
48In general, please put as much info in bugs as you can. Just a one liner
49telling us something isn't working is usually useless, and will probably be
50closed without any action. The more detail you provide, the more likely your
51issue is to be resolved. Below, there are some examples of a good bug report
52and a poor bug report.
53
54## A Poor Bug Report ##
55    Title: Error message
56
57    When running Eclipse I get an "Internal Error" that says "See the .log file for more details".
58
59    Steps to reproduce:
60    Happens when "Object o = null". Doesn't happen when changed to "Object o".
61
62    Expected results:
63    I wouldn't get the error message--would work with Object o = null.
64
65    Observed results:
66    See above.
67
68This is a poor bug report because it doesn't provide any context for the
69issue; is it a problem in the Dalvik virtual machine, the core framework, or
70something else? It also doesn't provide any code or hint on how to reproduce
71it. In other words, this bug report doesn't provide enough information for
72anyone to take action on, so it would be ignored.
73
74## A Good Bug Report ##
75
76    Title: Stepping over "Object o = null" causes Eclipse "Internal Error"
77
78    Interesting bug, while using Eclipse 3.3.1.1 with m37a of android and the following code:
79
80    package com.saville.android;
81
82    import android.app.Activity;
83    import android.os.Bundle;
84    import android.util.Log;
85
86    public class TestObjectNull extends Activity {
87        /** Called when the activity is first created. */
88        @Override
89        public void onCreate(Bundle icicle) {
90            super.onCreate(icicle);
91            setContentView(R.layout.main);
92
93            Object o = null;
94
95            o = "hi";
96
97            Log.v(TAG, "o=" + o);
98        }
99
100        static final String TAG = "TestObjectNull";
101    }
102
103    Eclipse indicates an "Internal Error" with "See the .log file for more
104    details" and then asks if I want to exit the workbench. This occurs when I
105    place a break point on "setContentView(R.layout.main);" and then single
106    step over "Object o = null;"
107
108    If I change "Object o = null;" to "Object o" all is well.
109
110    The last lines of the .log file are:
111
112    !ENTRY org.eclipse.core.jobs 4 2 2008-01-01 13:04:15.825
113    !MESSAGE An internal error occurred during: "has children update".
114    !STACK 0
115    java.lang.InternalError: Invalid signature: "<null>"
116            at
117    org.eclipse.jdi.internal.TypeImpl.signatureToTag(TypeImpl.java:307)
118            at
119    org.eclipse.jdi.internal.LocalVariableImpl.tag(LocalVariableImpl.java:185)
120            at
121    org.eclipse.jdi.internal.StackFrameImpl.getValues(StackFrameImpl.java:128)
122            at
123    org.eclipse.jdi.internal.StackFrameImpl.getValue(StackFrameImpl.java:73)
124            at
125    org.eclipse.jdt.internal.debug.core.model.JDILocalVariable.retrieveValue(JDILocalVariable.java:57)
126            at
127    org.eclipse.jdt.internal.debug.core.model.JDIVariable.getCurrentValue(JDIVariable.java:66)
128            at
129    org.eclipse.jdt.internal.debug.core.model.JDIVariable.getValue(JDIVariable.java:88)
130            at
131    org.eclipse.debug.internal.ui.model.elements.VariableContentProvider.hasChildren(VariableContentProvider.java:62)
132            at
133    org.eclipse.jdt.internal.debug.ui.variables.JavaVariableContentProvider.hasChildren(JavaVariableContentProvider.java:73)
134            at
135    org.eclipse.debug.internal.ui.model.elements.ElementContentProvider.updateHasChildren(ElementContentProvider.java:223)
136            at
137    org.eclipse.debug.internal.ui.model.elements.ElementContentProvider$3.run(ElementContentProvider.java:200)
138            at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
139
140