Hi, we're using the Adobe Mobile Library 4.5 for Android.
There's a crash appearing repeatedly in our crash report that seems to occur within your library.
I posted the stacktrace here: http://pastebin.com/hmERJDMC
According to our crash report tool the crash only happens on Android 4.1.2.
Perhaps you can look into this.
Best regards, Florian Weigl
Solved! Go to Solution.
Topics help categorize Community content and increase your ability to discover relevant content.
Views
Replies
Total Likes
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
Views
Replies
Total Likes
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
Views
Replies
Total Likes
Hi Steve,
thanks for your reply. The crash affects several hundreds of different users of our app, so a single bad device seems unlikely. Out app also uses SQlite and there seems no problem with it.
Perhaps you can further look into this? This crash is the second most common one for our app now. Greets!
Views
Replies
Total Likes
Hey Florian,
We spent a little more time looking into this issue today, and unfortunately there is nothing in the information that we have that can give us a good lead as to what's happening (whether in our SDK or not). We know there is an SQLiteStatement.execute() method called from our SDK, and that it is properly handled in try/catch blocks. We can't say for sure if control is ever passed back to the SDK based off the stack trace. What we need at this point is more information. If you have a way to reproduce it, that would work wonders. Please open a ticket with Client Care, give them as much information as possible, and have them assign the issue to me. Thanks.
Steve Benedick
Views
Replies
Total Likes
Views
Likes
Replies
Views
Like
Replies
Views
Likes
Replies