OneSignal / OneSignal-Android-SDK

OneSignal is a free push notification service for mobile apps. This plugin makes it easy to integrate your native Android or Amazon app with OneSignal. https://onesignal.com
Other
592 stars 368 forks source link

[Bug]: Crash android.database.sqlite.SQLiteException #2133

Open Jasper7 opened 1 week ago

Jasper7 commented 1 week ago

What happened?

After update Service Account JSON for FCM in OneSignal settings for Android. I replace with new JSON and new Firebase Project, because I not have access for old Firebase Project

What other changes have been made in the new version android:largeHeap="true" Update version of compose (I think it should not affect OneSignal SDK)

Steps to reproduce?

Crash occurs in users, I could not reproduce it myself

What did you expect to happen?

No crash

OneSignal Android SDK version

4.8.9

Android version

9, 8, 7.1, 6, 5.1

Specific Android models

* HUAWEI Y6 2019
* TECNO LB8a
* HUAWEI Y8s
* vivo V15
* Galaxy A2 Core
* Primo H9
* Galaxy J5
* realme C2
* HONOR 8A Pro
* Nokia 5.1 Plus

Relevant log output

android.database.sqlite.SQLiteException: table notification already exists (code 1 SQLITE_ERROR)
    at android.database.sqlite.SQLiteConnection.nativeExecuteForChangedRowCount(Native Method)
    at android.database.sqlite.SQLiteConnection.executeForChangedRowCount(SQLiteConnection.java:748)
    at android.database.sqlite.SQLiteSession.executeForChangedRowCount(SQLiteSession.java:754)
    at android.database.sqlite.SQLiteStatement.executeUpdateDelete(SQLiteStatement.java:64)
    at android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:1771)
    at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1698)
    at com.onesignal.s1.onCreate(SourceFile:6)
    at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:393)
    at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:298)
    at com.onesignal.s1.c(SourceFile:4)
    at com.onesignal.s1.d(SourceFile:6)
    at com.onesignal.s1.a(SourceFile:8)
    at com.onesignal.i0.run(SourceFile:43)
    at java.lang.Thread.run(Thread.java:764)

Code of Conduct

jkasten2 commented 1 week ago

@Jasper7 can you deobfuscate the OneSignal stacktrace?

What percentage and / or number of devices or users affected by this crash?

Can you reproduce the crash on your test devices?

Jasper7 commented 3 days ago

200 crash per week I can't reproduce this crash in background, additional logs:

main at android.util.Log.println_native(Native Method) at android.util.Log$ImmediateLogWriter.write(Log.java:471) at java.io.PrintWriter.write(PrintWriter.java:426) at com.android.internal.util.LineBreakBufferedWriter.writeBuffer(LineBreakBufferedWriter.java:290) at com.android.internal.util.LineBreakBufferedWriter.flush(LineBreakBufferedWriter.java:92) at android.util.Log.printlns(Log.java:426) at android.util.Log.w(Log.java:198) at com.onesignal.m1.b(SourceFile:36) at com.onesignal.m.i(SourceFile:3) at com.onesignal.m1.y(SourceFile:379) at app.football.stream.team.sports.live.tv.application.MyApplication.onCreate(SourceFile:20) at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1154) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6016) at android.app.ActivityThread.access$1200(ActivityThread.java:213) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1696) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:193) at android.app.ActivityThread.main(ActivityThread.java:6819) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:497) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:912)

`
OS_PENDING_EXECUTOR_1004
at android.database.sqlite.SQLiteCursor.getDatabase(SQLiteCursor.java:120)
at android.database.sqlite.SQLiteCursor.fillWindow(SQLiteCursor.java:143)
at android.database.sqlite.SQLiteCursor.getCount(SQLiteCursor.java:137)
at android.database.AbstractCursor.moveToPosition(AbstractCursor.java:220)
at android.database.AbstractCursor.moveToFirst(AbstractCursor.java:259)
at X3.u.r(SourceFile:23)
at com.onesignal.i0.b(SourceFile:15)
at com.onesignal.i0.run(SourceFile:47)
at com.onesignal.Y0.run(SourceFile:205)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:458)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:764)`
Jasper7 commented 1 day ago

I use last 5.* version and no has crash