Hey Florian,
I took a look at the stack trace you posted, and it looks like there is a recursive lock in sqlite. You'll notice that the following 5 lines in the stack trace are repeating:
at android.database.DefaultDatabaseErrorHandler.onCorruption(DefaultDatabaseErrorHandler.java:81) 315 at android.database.sqlite.SQLiteDatabase.onCorruption(SQLiteDatabase.java:338) 316 at android.database.sqlite.SQLiteProgram.onCorruption(SQLiteProgram.java:111) 317 at android.database.sqlite.SQLiteStatement.simpleQueryForString(SQLiteStatement.java:131) 318 at android.database.sqlite.SQLiteDatabase.isDatabaseIntegrityOk(SQLiteDatabase.java:2141)
Our SDK is set up to recover from database corruption if it is encountered, but in this case the recursive lock never returns control back to our code. Ultimately, we never had a chance to recover.
We were unable to reproduce the issue here. The most likely reason for this issue is that there is a single device with a bad disk, and it happens to be on Android 4.1.2.
Hope this helps.
Steve Benedick
Software Engineer - Mobile
Adobe Marketing Cloud