Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Uncaught exception thrown by finalizer: Google API bug Or Samsung kernel bug?

I keep getting this error when launch my app on my galaxy Tab 2 (Samsung). The app i'm developing is quite complicated and it is very hard to track down where this error originates from. So I started to strip down piece by piece my app and I ended up with just a mapview application as you can find here

After stripping I ended up with an app that is just a mapview without an overlayItem ! So following the tutorial until Part 1 point 9.

Here's the MapView Activity:

package com.****.googlemapstutorial;

import com.google.android.maps.MapActivity;
import com.google.android.maps.MapView;
import android.os.Bundle;
import android.view.Menu;

public class MainActivity extends MapActivity 
{

@Override
public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    MapView mapView = (MapView) findViewById(R.id.mapview);
    mapView.setBuiltInZoomControls(true);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) 
{
    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
}

@Override
protected boolean isRouteDisplayed() {
    return false;
}
}

I am truly stomped!

anyone any suggestions ?

The error:
10-28 21:09:22.872: E/System(16840): Uncaught exception thrown by finalizer
10-28 21:09:22.872: E/System(16840): java.lang.IllegalStateException: Binder has been finalized!
10-28 21:09:22.872: E/System(16840): at android.os.BinderProxy.transact(Native Method)
10-28 21:09:22.872: E/System(16840): at android.database.BulkCursorProxy.close(BulkCursorNative.java:288)
10-28 21:09:22.872: E/System(16840): at android.database.BulkCursorToCursorAdaptor.close(BulkCursorToCursorAdaptor.java:133)
10-28 21:09:22.872: E/System(16840): at android.database.CursorWrapper.close(CursorWrapper.java:49)
10-28 21:09:22.872: E/System(16840): at android.content.ContentResolver$CursorWrapperInner.close(ContentResolver.java:1591)
10-28 21:09:22.872: E/System(16840): at android.content.ContentResolver$CursorWrapperInner.finalize(ContentResolver.java:1604)
10-28 21:09:22.872: E/System(16840): at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:182)
10-28 21:09:22.872: E/System(16840): at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:168)
10-28 21:09:22.872: E/System(16840): at java.lang.Thread.run(Thread.java:856)
like image 521
WiZarD Avatar asked Oct 28 '12 19:10

WiZarD


2 Answers

The problem is not exactly device or Android version specific. You have Strict Mode enabled on devices displaying the error. Additionally your cursor needs to be closed before you attempt to close the database.

like image 140
Frederick Nyawaya Avatar answered Nov 19 '22 14:11

Frederick Nyawaya


It appears that a cursor may still be open, either in this code file, or somewhere else in your application. Perhaps this link "Android list view with simplecursor adapter crashes application" will be of some help.

like image 45
MiStr Avatar answered Nov 19 '22 14:11

MiStr