Home | History | Annotate | Download | only in source
      1 page.title=Report Bugs
      2 doc.type=source
      3 @jd:body
      4 <div>
      5 <p>Thanks for your interest in Android! One of the best ways you can help us
      6 improve 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
      9 allow anyone to see your report, which may put users at risk until the bug is
     10 fixed.) Instead, please report security bugs to our security team by emailing
     11 <a href="mailto:security (a] android.com">security (a] android.com</a>.  We believe in
     12 responsible disclosure of security vulnerabilities, and will give you proper
     13 attribution 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
     37 any particular release. To see what happens to your bug once you report it,
     38 read <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
     40 telling us something isn't working is usually useless, and will probably be
     41 closed without any action. The more detail you provide, the more likely your
     42 issue is to be resolved. Below, there are some examples of a good bug report
     43 and a poor bug report.</p>
     44 <h3>A Poor Bug Report</h3>
     45 <pre>
     46 Title: Error message
     47 
     48 When running Eclipse I get an "Internal Error" that says "See the .log file
     49 for more details".
     50 
     51 Steps to reproduce:
     52 Happens when "Object o = null". Doesn't happen when changed to "Object o".
     53 
     54 Expected results:
     55 I wouldn't get the error message--would work with Object o = null.
     56 
     57 Observed results:
     58 See above.
     59 </pre>
     60 <p>This is a poor bug report because it doesn't provide any context for the
     61 issue; is it a problem in the Dalvik virtual machine, the core framework, or
     62 something else? It also doesn't provide any code or hint on how to reproduce
     63 it. In other words, this bug report doesn't provide enough information for
     64 anyone to take action on, so it would be ignored.</p>
     65 <h3>A Good Bug Report</h3>
     66 <pre>
     67 Title: Stepping over "Object o = null" causes Eclipse "Internal Error"
     68 
     69 Interesting bug, while using Eclipse 3.3.1.1 with m37a of android and
     70 the following code:
     71 
     72 package com.saville.android;
     73 
     74 import android.app.Activity;
     75 import android.os.Bundle;
     76 import android.util.Log;
     77 
     78 public 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 
     96 Eclipse indicates an "Internal Error" with "See the .log file for more
     97 details" and then asks if I want to exit the workbench. This occurs when I
     98 place a break point on "setContentView(R.layout.main);" and then single
     99 step over "Object o = null;"
    100 
    101 If I change "Object o = null;" to "Object o" all is well.
    102 
    103 The 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
    108 java.lang.InternalError: Invalid signature: "&lt;null&gt;"
    109         at
    110 org.eclipse.jdi.internal.TypeImpl.signatureToTag(TypeImpl.java:307)
    111         at
    112 org.eclipse.jdi.internal.LocalVariableImpl.tag(LocalVariableImpl.java:185)
    113         at
    114 org.eclipse.jdi.internal.StackFrameImpl.getValues(StackFrameImpl.java:128)
    115         at
    116 org.eclipse.jdi.internal.StackFrameImpl.getValue(StackFrameImpl.java:73)
    117         at
    118 org.eclipse.jdt.internal.debug.core.model.JDILocalVariable.retrieveValue(JDILocalVariable.java:57)
    119         at
    120 org.eclipse.jdt.internal.debug.core.model.JDIVariable.getCurrentValue(JDIVariable.java:66)
    121         at
    122 org.eclipse.jdt.internal.debug.core.model.JDIVariable.getValue(JDIVariable.java:88)
    123         at
    124 org.eclipse.debug.internal.ui.model.elements.VariableContentProvider.hasChildren(VariableContentProvider.java:62)
    125         at
    126 org.eclipse.jdt.internal.debug.ui.variables.JavaVariableContentProvider.hasChildren(JavaVariableContentProvider.java:73)
    127         at
    128 org.eclipse.debug.internal.ui.model.elements.ElementContentProvider.updateHasChildren(ElementContentProvider.java:223)
    129         at
    130 org.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