Open Bug 1757967 Opened 2 years ago Updated 15 days ago

Crash in [@ android.database.sqlite.SQLiteDiskIOException: at android.database.sqlite.SQLiteConnection.nativePrepareStatement]

Categories

(Fenix :: General, defect, P3)

Unspecified
Android

Tracking

(firefox-esr91 wontfix, firefox97 wontfix, firefox98 wontfix, firefox99 wontfix, firefox100 wontfix, firefox101 wontfix, firefox102 wontfix, firefox103 wontfix, firefox104 wontfix, firefox106 wontfix, firefox107 wontfix, firefox108 wontfix, firefox110 wontfix, firefox111 wontfix, firefox112 wontfix, firefox120 wontfix, firefox121 wontfix, firefox122 wontfix, firefox123 wontfix, firefox125 affected, firefox126 affected, firefox127 affected)

Tracking Status
firefox-esr91 --- wontfix
firefox97 --- wontfix
firefox98 --- wontfix
firefox99 --- wontfix
firefox100 --- wontfix
firefox101 --- wontfix
firefox102 --- wontfix
firefox103 --- wontfix
firefox104 --- wontfix
firefox106 --- wontfix
firefox107 --- wontfix
firefox108 --- wontfix
firefox110 --- wontfix
firefox111 --- wontfix
firefox112 --- wontfix
firefox120 --- wontfix
firefox121 --- wontfix
firefox122 --- wontfix
firefox123 --- wontfix
firefox125 --- affected
firefox126 --- affected
firefox127 --- affected

People

(Reporter: cpeterson, Unassigned)

References

Details

(Keywords: crash, topcrash, Whiteboard: [android-stability])

Crash Data

Crash report: https://crash-stats.mozilla.org/report/index/d63470e3-9c10-44a4-b5eb-d9cbe0220224

A-C issue: https://github.com/mozilla-mobile/android-components/issues/9537

Java stack trace:

android.database.sqlite.SQLiteDiskIOException
	at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
	at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:1045)
	at android.database.sqlite.SQLiteConnection.executeForString(SQLiteConnection.java:788)
	at android.database.sqlite.SQLiteConnection.setJournalMode(SQLiteConnection.java:405)
	at android.database.sqlite.SQLiteConnection.setWalModeFromConfiguration(SQLiteConnection.java:335)
	at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:258)
	at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:205)
	at android.database.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:505)
	at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:206)
	at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:198)
	at android.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:918)
	at android.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:898)
	at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:762)
	at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:751)
	at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:373)
	at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:316)
	at androidx.sqlite.db.framework.FrameworkSQLiteOpenHelper$OpenHelper.getWritableSupportDatabase(FrameworkSQLiteOpenHelper.java:2)
	at androidx.sqlite.db.framework.FrameworkSQLiteOpenHelper.getWritableDatabase(FrameworkSQLiteOpenHelper.java:1)
	at androidx.room.RoomDatabase.inTransaction(RoomDatabase.java:1)
	at androidx.room.RoomDatabase.assertNotSuspendingTransaction(RoomDatabase.java:1)
	at androidx.room.RoomDatabase.query(RoomDatabase.java:2)
	at androidx.room.util.DBUtil.query(DBUtil.java:1)
	at mozilla.components.feature.downloads.db.DownloadDao_Impl$10.call(DownloadDao_Impl.java:3)
	at androidx.room.CoroutinesRoom$Companion$execute$$inlined$suspendCancellableCoroutine$lambda$1.invokeSuspend(CoroutinesRoom.kt:2)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:3)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:18)
	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:923)
Severity: -- → S2
Priority: -- → P3

The bug is linked to a topcrash signature, which matches the following criteria:

  • Top 10 AArch64 and ARM crashes on beta
  • Top 10 AArch64 and ARM crashes on release

For more information, please visit auto_nag documentation.

Keywords: topcrash
Component: Stability → General
Duplicate of this bug: 1795416

Copying crash signatures from duplicate bugs.

Crash Signature: [@ android.database.sqlite.SQLiteDiskIOException: at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)] → [@ android.database.sqlite.SQLiteDiskIOException: at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)] [@ java.lang.SecurityException: at android.os.Parcel.readException(Parcel.java)]
Crash Signature: [@ android.database.sqlite.SQLiteDiskIOException: at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)] [@ java.lang.SecurityException: at android.os.Parcel.readException(Parcel.java)] → [@ android.database.sqlite.SQLiteDiskIOException: at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)] [@ java.lang.SecurityException: at android.os.Parcel.readException(Parcel.java)]

Based on the topcrash criteria, the crash signatures linked to this bug are not in the topcrash signatures anymore.

For more information, please visit auto_nag documentation.

Keywords: topcrash

The bug is linked to a topcrash signature, which matches the following criterion:

  • Top 10 AArch64 and ARM crashes on nightly

For more information, please visit auto_nag documentation.

Keywords: topcrash

Based on the topcrash criteria, the crash signatures linked to this bug are not in the topcrash signatures anymore.

For more information, please visit auto_nag documentation.

Keywords: topcrash
Crash Signature: [@ android.database.sqlite.SQLiteDiskIOException: at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)] [@ java.lang.SecurityException: at android.os.Parcel.readException(Parcel.java)] → [@ android.database.sqlite.SQLiteDiskIOException: at android.database.sqlite.SQLiteConnection.nativePrepareStatement] [@ java.lang.SecurityException: at android.os.Parcel.readException]
Summary: Crash in [@ android.database.sqlite.SQLiteDiskIOException: at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)] → Crash in [@ android.database.sqlite.SQLiteDiskIOException: at android.database.sqlite.SQLiteConnection.nativePrepareStatement]
Crash Signature: [@ android.database.sqlite.SQLiteDiskIOException: at android.database.sqlite.SQLiteConnection.nativePrepareStatement] [@ java.lang.SecurityException: at android.os.Parcel.readException] → [@ android.database.sqlite.SQLiteCantOpenDatabaseException: at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)] [@ android.database.sqlite.SQLiteDatabaseLockedException: at android.database.sqlite.SQLiteConnection.nativePre…

Sorry for removing the keyword earlier but there is a recent change in the ranking, so the bug is again linked to a topcrash signature, which matches the following criteria:

  • Top 10 AArch64 and ARM crashes on nightly
  • Top 10 AArch64 and ARM crashes on beta
  • Top 10 AArch64 and ARM crashes on release

For more information, please visit auto_nag documentation.

Keywords: topcrash

Based on the topcrash criteria, the crash signatures linked to this bug are not in the topcrash signatures anymore.

For more information, please visit BugBot documentation.

Keywords: topcrash

Sorry for removing the keyword earlier but there is a recent change in the ranking, so the bug is again linked to topcrash signatures, which match the following criteria:

  • Top 10 AArch64 and ARM crashes on release
  • Top 10 AArch64 and ARM crashes on beta

For more information, please visit BugBot documentation.

Keywords: topcrash

Based on the topcrash criteria, the crash signatures linked to this bug are not in the topcrash signatures anymore.

For more information, please visit BugBot documentation.

Keywords: topcrash

Another sqlite signature around the database being full: [@ android.database.sqlite.SQLiteFullException: at android.database.sqlite.SQLiteConnection.nativeExecute(SQLiteConnection.java) ] bp-6bb30919-e272-4598-b72e-001e30230914

Crash Signature: Method)] [@ java.lang.SecurityException: at android.os.Parcel.readException(Parcel.java)] → Method)] [@ java.lang.SecurityException: at android.os.Parcel.readException(Parcel.java)] [@ android.database.sqlite.SQLiteFullException: at android.database.sqlite.SQLiteConnection.nativeExecute(SQLiteConnection.java) ]

Sorry for removing the keyword earlier but there is a recent change in the ranking, so the bug is again linked to a topcrash signature, which matches the following criteria:

  • Top 10 AArch64 and ARM crashes on nightly
  • Top 10 AArch64 and ARM crashes on beta

For more information, please visit BugBot documentation.

Keywords: topcrash
Crash Signature: Method)] [@ java.lang.SecurityException: at android.os.Parcel.readException(Parcel.java)] [@ android.database.sqlite.SQLiteFullException: at android.database.sqlite.SQLiteConnection.nativeExecute(SQLiteConnection.java) ] → Method)] [@ java.lang.SecurityException: at android.os.Parcel.readException(Parcel.java)] [@ android.database.sqlite.SQLiteFullException: at android.database.sqlite.SQLiteConnection.nativeExecute(SQLiteConnection.java) ] [@ android.database.sqlite.SQLi…

This crash seems to be back into the top crashes (see Sentry here).

We understand that it is caused by a very low disk space available on the device. We should probably try to handle this case in a better way and avoid crashing, but it sounds like a real project rather than a quick fix.

:cpeterson, Would you have any suggestion on any possible next step for that?

Flags: needinfo?(cpeterson)

:cpeterson, Would you have any suggestion on any possible next step for that?

Zac, would these low disk space exceptions fall under your stability investigations? These SQLite exceptions aren't our top crash, but they're in our top 5 crash reasons and we receive hundreds of crash reports every day.

Crash Signature: android.database.sqlite.SQLiteDiskIOException: at android.database.sqlite.SQLiteConnection.nativePrepareStatement(SQLiteConnection.java)] → android.database.sqlite.SQLiteDiskIOException: at android.database.sqlite.SQLiteConnection.nativePrepareStatement(SQLiteConnection.java)] [@ android.database.sqlite.SQLiteFullException: at android.database.sqlite.SQLiteConnection.nativePrepareStatement(…
Flags: needinfo?(cpeterson) → needinfo?(zmckenney)

This would definitely fall into the stability category, I've added it to the whiteboard and will keep track of it for project proposal next week.

Flags: needinfo?(zmckenney)
Whiteboard: [android-stability]
You need to log in before you can comment on or make changes to this bug.