这是indexloc提供的服务,不要输入任何密码
Skip to content

SQLiteException in firebase-crashlytics #1531

@b99202021

Description

@b99202021

[REQUIRED] Step 2: Describe your environment

  • Android Studio version: 3.4.2
  • Firebase Component: firebase-crashlytics
  • Component version:
    FIREBASE_ANALYTICS = "17.4.0"
    FIREBASE_MESSAGING = "20.1.6"
    FIREBASE_CRASHLYTICS = "17.0.0"

[REQUIRED] Step 3: Describe the problem

We have a significant number of crash reports in crashlytics with SQLiteException

duplicate column name: extras (code 1 SQLITE_ERROR): , while compiling: ALTER TABLE transport_contexts ADD COLUMN extras BLOB android.database.sqlite.SQLiteConnection.nativePrepareStatement

We upgraded from Fabric Crashlytics SDK to Firebase Crashlytics SDK in March and downgrade to Fabric Crashlytics SDK. When we upgrade from Fabric Crashlytics SDK to Firebase Crashlytics SDK this week, the crash happened.

Log
Fatal Exception: android.database.sqlite.SQLiteException: duplicate column name: extras (code 1 SQLITE_ERROR): , while compiling: ALTER TABLE transport_contexts ADD COLUMN extras BLOB at android.database.sqlite.SQLiteConnection.nativePrepareStatement(SQLiteConnection.java) at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:903) at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:514) at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588) at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58) at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:31) at android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:1770) at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1698) at com.google.android.datatransport.runtime.scheduling.persistence.SchemaManager.lambda$static$1(SchemaManager.java:97) at com.google.android.datatransport.runtime.scheduling.persistence.SchemaManager$$Lambda$2.upgrade(SchemaManager.java) at com.google.android.datatransport.runtime.scheduling.persistence.SchemaManager.upgrade(SchemaManager.java:182) at com.google.android.datatransport.runtime.scheduling.persistence.SchemaManager.onUpgrade(SchemaManager.java:152) at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:398) at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:298) at com.google.android.datatransport.runtime.scheduling.persistence.SQLiteEventStore$$Lambda$1.produce(SQLiteEventStore.java:2) at com.google.android.datatransport.runtime.scheduling.persistence.SQLiteEventStore.retryIfDbLocked(SQLiteEventStore.java:517) at com.google.android.datatransport.runtime.scheduling.persistence.SQLiteEventStore.getDb(SQLiteEventStore.java:82) at com.google.android.datatransport.runtime.scheduling.persistence.SQLiteEventStore.runCriticalSection(SQLiteEventStore.java:549) at com.google.android.datatransport.runtime.scheduling.jobscheduling.WorkInitializer.lambda$ensureContextsScheduled$1(WorkInitializer.java:54) at com.google.android.datatransport.runtime.scheduling.jobscheduling.WorkInitializer$$Lambda$1.run(WorkInitializer.java:1054) 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)

Steps to reproduce:

install version with firebase crashlytics SDK-> upgrade version to one without firebase crashlytics SDK-> upgrade version to one with firebase crashlytics SDK

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions