page.title=Report Bugs @jd:body

In this document

Thank you for your interest in Android! One of the best ways you can help us improve Android is to let us know about any problems you find with it.

Report Issues

Note: For security vulnerabilities, please see Reporting Security Issues. If you think you've found a security vulnerability, please don't use the forms below. Using a public form may allow anyone to see your report, which may put users at risk until the bug is fixed. Instead, please send an email detailing the issue to security@android.com.

Here's how to report non-security bugs:

Keep in mind that an issue tracker is not a user support forum. It is a list of pending technical tasks, along with information relevant for those tasks, and information about progress on those tasks including which ones might get worked on in the short term.

This issue tracker is narrowly focused on the Android Open Source Project. Issues with retail devices need to be reported through those devices' support channels, especially for devices other than Nexus. Issues with applications that aren't part of AOSP need to be reported with those applications' developers; that is also the case for Google applications.

Please note that we can't guarantee that any particular bug can be fixed in any particular release. To see what happens to your bug once you report it, read Life of a Bug.

In general, please put as much info in bugs as you can. Just a one liner telling us something isn't working is usually useless, and will probably be closed without any action. The more detail you provide, the more likely your issue is to be resolved. Below, there are some examples of a good bug report and a poor bug report.

A Poor Bug Report

Title: Error message When running Eclipse I get an "Internal Error" that says "See the .log file for more details". Steps to reproduce: Happens when "Object o = null". Doesn't happen when changed to "Object o". Expected results: I wouldn't get the error message--would work with Object o = null. Observed results: See above.

This is a poor bug report because it doesn't provide any context for the issue; is it a problem in the ART runtime, the core framework, or something else? It also doesn't provide any code or hint on how to reproduce it. In other words, this bug report doesn't provide enough information for anyone to take action on, so it would be ignored.

A Good Bug Report

Title: Stepping over "Object o = null" causes Eclipse "Internal Error" Interesting bug, while using Eclipse 3.3.1.1 with m37a of android and the following code:
package com.saville.android;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

public class TestObjectNull extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.main);

        Object o = null;

        o = "hi";

        Log.v(TAG, "o=" + o);
    }

    static final String TAG = "TestObjectNull";
}
Eclipse indicates an "Internal Error" with "See the .log file for more details" and then asks if I want to exit the workbench. This occurs when I place a break point on "setContentView(R.layout.main);" and then single step over "Object o = null;" If I change "Object o = null;" to "Object o" all is well. The last lines of the .log file are:
!ENTRY org.eclipse.core.jobs 4 2 2008-01-01 13:04:15.825
!MESSAGE An internal error occurred during: "has children update".
!STACK 0
java.lang.InternalError: Invalid signature: "<null>"
        at
org.eclipse.jdi.internal.TypeImpl.signatureToTag(TypeImpl.java:307)
        at
org.eclipse.jdi.internal.LocalVariableImpl.tag(LocalVariableImpl.java:185)
        at
org.eclipse.jdi.internal.StackFrameImpl.getValues(StackFrameImpl.java:128)
        at
org.eclipse.jdi.internal.StackFrameImpl.getValue(StackFrameImpl.java:73)
        at
org.eclipse.jdt.internal.debug.core.model.JDILocalVariable.retrieveValue(JDILocalVariable.java:57)
        at
org.eclipse.jdt.internal.debug.core.model.JDIVariable.getCurrentValue(JDIVariable.java:66)
        at
org.eclipse.jdt.internal.debug.core.model.JDIVariable.getValue(JDIVariable.java:88)
        at
org.eclipse.debug.internal.ui.model.elements.VariableContentProvider.hasChildren(VariableContentProvider.java:62)
        at
org.eclipse.jdt.internal.debug.ui.variables.JavaVariableContentProvider.hasChildren(JavaVariableContentProvider.java:73)
        at
org.eclipse.debug.internal.ui.model.elements.ElementContentProvider.updateHasChildren(ElementContentProvider.java:223)
        at
org.eclipse.debug.internal.ui.model.elements.ElementContentProvider$3.run(ElementContentProvider.java:200)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)