Skip to content

Database migration failure on nightly

Description

When opening the latest nightly it instantly crashes.

This didnt happen on the firsf 6.2 nightly.

Environment

  • Device model & codename: Pixel 6a, bluejay
  • Android version: 14, GrapheneOS
  • Aurora Store version: 4.6.2
  • Nightly date: 12.10.24
  • Account Type: anonymous
  • Installation method: apk download
  • OS: GrapheneOS (AOSP + hardening)

Logcat

type: crash
osVersion: google/bluejay/bluejay:14/AP2A.240905.003.F1/2024100800:user/release-keys
package: com.aurora.store.nightly:63
process: com.aurora.store.nightly
processUptime: 583 + 39 ms
installer: com.android.packageinstaller

java.lang.IllegalStateException: Migration didn't properly handle: download(com.aurora.store.data.room.download.Download).
 Expected:
TableInfo{name='download', columns={displayName=Column{name='displayName', type='TEXT', affinity='2', notNull=true, primaryKeyPosition=0, defaultValue='undefined'}, isInstalled=Column{name='isInstalled', type='INTEGER', affinity='3', notNull=true, primaryKeyPosition=0, defaultValue='undefined'}, timeRemaining=Column{name='timeRemaining', type='INTEGER', affinity='3', notNull=true, primaryKeyPosition=0, defaultValue='undefined'}, downloadedFiles=Column{name='downloadedFiles', type='INTEGER', affinity='3', notNull=true, primaryKeyPosition=0, defaultValue='undefined'}, targetSdk=Column{name='targetSdk', type='INTEGER', affinity='3', notNull=true, primaryKeyPosition=0, defaultValue='undefined'}, versionCode=Column{name='versionCode', type='INTEGER', affinity='3', notNull=true, primaryKeyPosition=0, defaultValue='undefined'}, speed=Column{name='speed', type='INTEGER', affinity='3', notNull=true, primaryKeyPosition=0, defaultValue='undefined'}, offerType=Column{name='offerType', type='INTEGER', affinity='3', notNull=true, primaryKeyPosition=0, defaultValue='undefined'}, sharedLibs=Column{name='sharedLibs', type='TEXT', affinity='2', notNull=true, primaryKeyPosition=0, defaultValue='undefined'}, size=Column{name='size', type='INTEGER', affinity='3', notNull=true, primaryKeyPosition=0, defaultValue='undefined'}, progress=Column{name='progress', type='INTEGER', affinity='3', notNull=true, primaryKeyPosition=0, defaultValue='undefined'}, packageName=Column{name='packageName', type='TEXT', affinity='2', notNull=true, primaryKeyPosition=1, defaultValue='undefined'}, iconURL=Column{name='iconURL', type='TEXT', affinity='2', notNull=true, primaryKeyPosition=0, defaultValue='undefined'}, id=Column{name='id', type='INTEGER', affinity='3', notNull=true, primaryKeyPosition=0, defaultValue='undefined'}, downloadStatus=Column{name='downloadStatus', type='TEXT', affinity='2', notNull=true, primaryKeyPosition=0, defaultValue='undefined'}, totalFiles=Column{name='totalFiles', type='INTEGER', affinity='3', notNull=true, primaryKeyPosition=0, defaultValue='undefined'}, fileList=Column{name='fileList', type='TEXT', affinity='2', notNull=true, primaryKeyPosition=0, defaultValue='undefined'}}, foreignKeys=[], indices=[]}
 Found:
TableInfo{name='download', columns={packageName=Column{name='packageName', type='TEXT', affinity='2', notNull=true, primaryKeyPosition=1, defaultValue='undefined'}, versionCode=Column{name='versionCode', type='INTEGER', affinity='3', notNull=true, primaryKeyPosition=0, defaultValue='undefined'}, offerType=Column{name='offerType', type='INTEGER', affinity='3', notNull=true, primaryKeyPosition=0, defaultValue='undefined'}, isInstalled=Column{name='isInstalled', type='INTEGER', affinity='3', notNull=true, primaryKeyPosition=0, defaultValue='undefined'}, displayName=Column{name='displayName', type='TEXT', affinity='2', notNull=true, primaryKeyPosition=0, defaultValue='undefined'}, iconURL=Column{name='iconURL', type='TEXT', affinity='2', notNull=true, primaryKeyPosition=0, defaultValue='undefined'}, size=Column{name='size', type='INTEGER', affinity='3', notNull=true, primaryKeyPosition=0, defaultValue='undefined'}, id=Column{name='id', type='INTEGER', affinity='3', notNull=true, primaryKeyPosition=0, defaultValue='undefined'}, downloadStatus=Column{name='downloadStatus', type='TEXT', affinity='2', notNull=true, primaryKeyPosition=0, defaultValue='undefined'}, progress=Column{name='progress', type='INTEGER', affinity='3', notNull=true, primaryKeyPosition=0, defaultValue='undefined'}, speed=Column{name='speed', type='INTEGER', affinity='3', notNull=true, primaryKeyPosition=0, defaultValue='undefined'}, timeRemaining=Column{name='timeRemaining', type='INTEGER', affinity='3', notNull=true, primaryKeyPosition=0, defaultValue='undefined'}, totalFiles=Column{name='totalFiles', type='INTEGER', affinity='3', notNull=true, primaryKeyPosition=0, defaultValue='undefined'}, downloadedFiles=Column{name='downloadedFiles', type='INTEGER', affinity='3', notNull=true, primaryKeyPosition=0, defaultValue='undefined'}, fileList=Column{name='fileList', type='TEXT', affinity='2', notNull=true, primaryKeyPosition=0, defaultValue='undefined'}, sharedLibs=Column{name='sharedLibs', type='TEXT', affinity='2', notNull=true, primaryKeyPosition=0, defaultValue='undefined'}}, foreignKeys=[], indices=[]}
	at c2.q.f(SourceFile:75)
	at h2.d$b.onUpgrade(SourceFile:15)
	at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:422)
	at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:323)
	at h2.d$b.e(SourceFile:5)
	at h2.d$b.g(SourceFile:64)
	at h2.d$b.b(SourceFile:24)
	at h2.d.O(SourceFile:10)
	at c2.o.b(SourceFile:5)
	at c2.o.w(SourceFile:9)
	at e2.b.b(SourceFile:12)
	at s3.h.call(SourceFile:119)
	at androidx.room.a$a$a.r(SourceFile:80)
	at J4.a.o(SourceFile:9)
	at c5.M.run(SourceFile:111)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
	at java.lang.Thread.run(Thread.java:1012)
	Suppressed: h5.h: [F0{Cancelling}@42e84, Dispatchers.Main]
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information