pardom-zz / ActiveAndroid

Active record style SQLite persistence for Android
http://www.activeandroid.com
4.7k stars 1.03k forks source link

Crash on AndroidInitialize #177

Open zplesac opened 10 years ago

zplesac commented 10 years ago

Hello,

I'm experiencing a strange bug, which only occurs on Android 2.3.3 - my application crashes after ActiveAndroid.initialize() command in custom Application object. Stacktrace of error:

E/Database( 4701): CREATE TABLE android_metadata failed E/Database( 4701): Failed to setLocale() when constructing, closing the database E/Database( 4701): android.database.sqlite.SQLiteDiskIOException: disk I/O error E/Database( 4701): at android.database.sqlite.SQLiteDatabase.native_setLocale(Native Method) E/Database( 4701): at android.database.sqlite.SQLiteDatabase.setLocale(SQLiteDatabase.java:2101) E/Database( 4701): at android.database.sqlite.SQLiteDatabase.(SQLiteDatabase.java:1969) E/Database( 4701): at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:902) E/Database( 4701): at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:936) E/Database( 4701): at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:929) E/Database( 4701): at android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:601) E/Database( 4701): at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:203) E/Database( 4701): at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:118) E/Database( 4701): at com.activeandroid.Cache.openDatabase(Unknown Source) E/Database( 4701): at com.activeandroid.Cache.initialize(Unknown Source) E/Database( 4701): at com.activeandroid.ActiveAndroid.initialize(Unknown Source)

And it's happening on only one device. Any ideas?

Thanks, Zeljko

MarsVard commented 10 years ago

+1.... did you find a way to fix this?

zplesac commented 10 years ago

Unfortunately, no.

MarsVard commented 10 years ago

I was able to find a solution on stackoverflow, basically wrap you .save line in a runnable new Handler().post(new Runnable() { @Override public void run() { MyFantasticObject.save(); } });

Morteza-Rastgoo commented 9 years ago

same problem. Have you got any solution?