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