urbanairship / android-library

Urban Airship Android SDK
Other
109 stars 123 forks source link

Fatal Exception: android.database.sqlite.SQLiteException #204

Closed rakhi191 closed 2 years ago

rakhi191 commented 2 years ago

Hi @rlepinski

❗For how-to inquiries involving Airship functionality or use cases, please contact (support)[https://support.airship.com/].

Preliminary Info

What Airship dependencies are you using?

'com.urbanairship.android:urbanairship-fcm:15.1.0' 'com.urbanairship.android:urbanairship-message-center:15.1.0' "com.urbanairship.android:urbanairship-hms:15.1.0" 'com.urbanairship.android:urbanairship-automation:15.1.0'

Report

What unexpected behavior are you seeing?

This issue has 11377 crash events affecting 136 users

What are the steps to reproduce the unexpected behavior?

1 . Delete message

  1. Mark message as read

Do you have logging for the issue?

Fatal Exception: android.database.sqlite.SQLiteException: too many SQL variables (code 1 SQLITE_ERROR[1]): , while compiling: DELETE FROM richpush WHERE message_id IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,<truncated: 186 chars> at android.database.sqlite.SQLiteConnection.nativePrepareStatement(SQLiteConnection.java) at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:1463) at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:901) at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:590) at android.database.sqlite.SQLiteProgram.(SQLiteProgram.java:62) at android.database.sqlite.SQLiteStatement.(SQLiteStatement.java:33) at android.database.sqlite.SQLiteDatabase.compileStatement(SQLiteDatabase.java:1741) at androidx.sqlite.db.framework.FrameworkSQLiteDatabase.compileStatement(FrameworkSQLiteDatabase.java:64) at androidx.room.RoomDatabase.compileStatement(RoomDatabase.java:459) at com.urbanairship.messagecenter.MessageDao_Impl.deleteMessages(MessageDao_Impl.java:695) at com.urbanairship.messagecenter.InboxJobHandler.updateInbox(InboxJobHandler.java:264) at com.urbanairship.messagecenter.InboxJobHandler.updateMessages(InboxJobHandler.java:202) at com.urbanairship.messagecenter.InboxJobHandler.onUpdateMessages(InboxJobHandler.java:136) at com.urbanairship.messagecenter.InboxJobHandler.performJob(InboxJobHandler.java:117) at com.urbanairship.messagecenter.Inbox.onPerformJob(Inbox.java:204) at com.urbanairship.messagecenter.MessageCenter.onPerformJob(MessageCenter.java:222) at com.urbanairship.job.JobRunnable$1.run(JobRunnable.java:90) at com.urbanairship.util.SerialExecutor$1.run(SerialExecutor.java:41) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at com.urbanairship.util.AirshipThreadFactory$1.run(AirshipThreadFactory.java:50) at java.lang.Thread.run(Thread.java:923)

   Fatal Exception: android.database.sqlite.SQLiteException: too many SQL variables (Sqlite code 1 SQLITE_ERROR): , while compiling: UPDATE richpush SET unread_orig = 0 WHERE message_id IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?<truncated: 655 chars>
   at android.database.sqlite.SQLiteConnection.nativePrepareStatement(SQLiteConnection.java)
   at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:1032)
   at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:639)
   at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:610)
   at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:66)
   at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:33)
   at android.database.sqlite.SQLiteDatabase.compileStatement(SQLiteDatabase.java:1156)
   at androidx.sqlite.db.framework.FrameworkSQLiteDatabase.compileStatement(FrameworkSQLiteDatabase.java:64)
   at androidx.room.RoomDatabase.compileStatement(RoomDatabase.java:459)
   at com.urbanairship.messagecenter.MessageDao_Impl.markMessagesReadOrigin(MessageDao_Impl.java:667)
   at com.urbanairship.messagecenter.InboxJobHandler.syncReadMessageState(InboxJobHandler.java:335)
   at com.urbanairship.messagecenter.InboxJobHandler.onUpdateMessages(InboxJobHandler.java:139)
   at com.urbanairship.messagecenter.InboxJobHandler.performJob(InboxJobHandler.java:117)
   at com.urbanairship.messagecenter.Inbox.onPerformJob(Inbox.java:204)
   at com.urbanairship.messagecenter.MessageCenter.onPerformJob(MessageCenter.java:222)
   at com.urbanairship.job.JobRunnable$1.run(JobRunnable.java:90)
   at com.urbanairship.util.SerialExecutor$1.run(SerialExecutor.java:41)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
   at com.urbanairship.util.AirshipThreadFactory$1.run(AirshipThreadFactory.java:50)
   at java.lang.Thread.run(Thread.java:929)
rlepinski commented 2 years ago

@rakhi191 Looks like that issue was fixed in 16.1.1, anything blocking you on updating to the latest 16.x (16.3.3) release?

rlepinski commented 2 years ago

Closing due to inactivity