It should also be noted that a dump is going on when this happens. Apparently some other error occurred first.
On Nov 9, 10:31 am, Bret Foreman <[email protected]> wrote: > After looking more closely, I'm starting to think it's not a good idea > to handle this exception. Right after this error occurs, PID 493 goes > into a fatal memory allocation loop. The threading in my application > is fairly complex so I don't think I can package up an example for a > bug report. The fact that SQLite is using a HashMap in code that is > supposed to be thread-safe seems like enough of a bug right there. > > On Nov 9, 8:20 am, Bret Foreman <[email protected]> wrote: > > > This problem has raised its head again, even with the testing monkey > > throttled back. It just becomes more infrequent at lower transaction > > rates, which is what one would expect from a concurrency issue. I can > > catch the exception, of course, but the real questions are 1) What DB > > operation is causing it to happen and 2) What to do when the exception > > occurs. It's hard to tell from the stack trace whether the DB was > > reading, in which case I can swallow the exception and return some > > default value, or writing, in which case I need to retry. Here's the > > exception. Anyone have any ideas? > > > 11-08 23:41:20.821: ERROR/JavaBinder(493): > > java.util.ConcurrentModificationException > > 11-08 23:41:20.821: ERROR/JavaBinder(493): at java.util.HashMap > > $HashIterator.nextEntry(HashMap.java:795) > > 11-08 23:41:20.821: ERROR/JavaBinder(493): at java.util.HashMap > > $KeyIterator.next(HashMap.java:822) > > 11-08 23:41:20.821: ERROR/JavaBinder(493): at > > android.database.sqlite.SQLiteDatabase.getDbStats(SQLiteDatabase.java: > > 2133) > > 11-08 23:41:20.821: ERROR/JavaBinder(493): at > > android.database.sqlite.SQLiteDebug.getDatabaseInfo(SQLiteDebug.java: > > 150) > > 11-08 23:41:20.821: ERROR/JavaBinder(493): at > > android.app.ActivityThread$ApplicationThread.dump(ActivityThread.java: > > 1793) > > 11-08 23:41:20.821: ERROR/JavaBinder(493): at > > android.os.Binder.dump(Binder.java:222) > > 11-08 23:41:20.821: ERROR/JavaBinder(493): at > > android.os.Binder.onTransact(Binder.java:201) > > 11-08 23:41:20.821: ERROR/JavaBinder(493): at > > android.app.ApplicationThreadNative.onTransact(ApplicationThreadNative.java: > > 407) > > 11-08 23:41:20.821: ERROR/JavaBinder(493): at > > android.os.Binder.execTransact(Binder.java:288) > > 11-08 23:41:20.821: ERROR/JavaBinder(493): at > > dalvik.system.NativeStart.run(Native Method) -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

