turbomanage / storm-gen

Simple ORM for Android SQLite
Apache License 2.0
83 stars 15 forks source link

Error during BACKUP_RESTORE ANDROID 4.0.2 #36

Closed FiveFlamesMobile closed 10 years ago

FiveFlamesMobile commented 10 years ago

I add a field in class ClaseDb.java, and upgrade the database version 1 to 2, in other tablets working perfectly, but in Android 4.0.2 in Samsung Galaxy Tab 2...

java.lang.ArrayIndexOutOfBoundsException: length=13; index=13 at com.educamos.profesores.dao.dao.SyncTableTable.bindRowValues(SyncTableTable.java:204) at com.turbomanage.storm.csv.CsvTableReader.parseAndInsertRow(CsvTableReader.java:136) at com.turbomanage.storm.csv.CsvTableReader.importFromCsv(CsvTableReader.java:106) at com.turbomanage.storm.csv.CsvTableReader.importFromCsv(CsvTableReader.java:78) at com.turbomanage.storm.TableHelper.restore(TableHelper.java:232) at com.turbomanage.storm.DatabaseHelper.restoreAllTablesFromCsv(DatabaseHelper.java:218) at com.turbomanage.storm.DatabaseHelper.backupAndRestore(DatabaseHelper.java:176) at com.turbomanage.storm.DatabaseHelper.onUpgrade(DatabaseHelper.java:139) at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:170) at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:231) at com.turbomanage.storm.SQLiteDao.getReadableDb(SQLiteDao.java:332) at com.turbomanage.storm.SQLiteDao.query(SQLiteDao.java:259) at com.turbomanage.storm.SQLiteDao.queryAll(SQLiteDao.java:270) at com.turbomanage.storm.SQLiteDao.listAll(SQLiteDao.java:154) at com.educamos.profesores.UpdateActivity.checkDatabaseUpgrade(UpdateActivity.java:66) at com.educamos.profesores.UpdateActivity.access$3(UpdateActivity.java:1) at com.educamos.profesores.UpdateActivity$4.execute(UpdateActivity.java:138) at org.androidannotations.api.BackgroundExecutor$Task.run(BackgroundExecutor.java:302) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:442) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) at java.util.concurrent.FutureTask.run(FutureTask.java:137) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:150) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:264) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) at java.lang.Thread.run(Thread.java:856)

The tablet that i add a field is ClaseDb, but the error is in SyncTable :S.

The storm library version is 0.99. Thanks.

turbomanage commented 10 years ago

It seems very strange that this would be hardware-specific. You are sure that the prior version of the database as well as the new APK are identical on all the devices?

FiveFlamesMobile commented 10 years ago

Correct. The version of previous database is version 1, and update to version 2 that I added a field in the "ClaseDb 'table. After doing that several devices were updated and Play in Google only reports me error that device.

FiveFlamesMobile commented 10 years ago

Other error, when upgrade database version

java.lang.ArrayIndexOutOfBoundsException: length=4; index=4 10-16 11:54:25.550: E/AndroidRuntime(20238): at com.educamos.profesores.dao.dao.TareaDbTable.bindRowValues(TareaDbTable.java:141)

FiveFlamesMobile commented 10 years ago

The last error is in other Samsung Galaxy Tab 2...curious...

FiveFlamesMobile commented 10 years ago

But in Samsung Galaxy Tab 2 with Android 4.2.2...both errors is in Stock Samsung TouchWiz.

turbomanage commented 10 years ago

I can't think of any reason why this would be device-specific. I think it's a bug in an older version of storm-gen. Are you certain that the version on all these devices is 0.99?

turbomanage commented 10 years ago

Need more info, reopen if still an issue