什么可能导致 Android 上的 SQLite 错误代码 778

Tom*_*ney 5 android android-sqlite

我使用 ACRA 进行错误报告,在过去 30 天内,我收到了 6 个(我有成千上万的用户)崩溃报告,类似于以下内容:

android.database.sqlite.SQLiteDiskIOException: disk I/O error (code 778)
at android.database.sqlite.SQLiteConnection.nativeExecuteForLastInsertedRowId(Native Method)
at android.database.sqlite.SQLiteConnection.executeForLastInsertedRowId(SQLiteConnection.java:931)
at android.database.sqlite.SQLiteSession.executeForLastInsertedRowId(SQLiteSession.java:788)
at android.database.sqlite.SQLiteStatement.executeInsert(SQLiteStatement.java:86)
at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1469)
at android.database.sqlite.SQLiteDatabase.replaceOrThrow(SQLiteDatabase.java:1411)
 :
Run Code Online (Sandbox Code Playgroud)

这些发生在我的应用程序的各个部分。所有设备均为运行 Android 4.1.2 的三星设备。我怀疑是三星的错误,但我能做些什么来缓解这个问题吗?

小智 0

我发现至少有一些测试(ExtensionWebstorePrivateApiTest.AppInstallBubble(例如)在 a 上成功,dev image但在test image. 即使通过sshfs mounted directory(不涉及自动测试)运行它们也是如此。我在屏幕上看到有关无效配置文件的错误:

\n\n
[10375:10375:0702/172634:2214463961:ERROR:nss_util.cc(88)] Failed to create /home/chronos/user/.pki/nssdb directory.\n[10375:10375:0702/172634:2214497333:ERROR:nss_util.cc(588)] Error opening persistent database (configDir='sql:' tokenDescription='Real NSS database'): NSS error code: -8192\n[10375:10406:0702/172634:2214908084:ERROR:diagnostic_error_delegate.h(31)] sqlite error 778, errno 0: disk I/O error\n[10375:10406:0702/172634:2214908549:ERROR:diagnostic_error_delegate.h(31)] sqlite error 1, errno 0: no such table: meta\n[10375:10384:0702/172634:2214913640:ERROR:diagnostic_error_delegate.h(31)] sqlite error 778, errno 0: disk I/O error\n[10375:10384:0702/172634:2214913831:ERROR:diagnostic_error_delegate.h(31)] sqlite error 1, errno 0: no such table: meta\n[10375:10406:0702/172634:2214913926:ERROR:diagnostic_error_delegate.h(31)] sqlite error 1, errno 0: SQL logic error or missing database\n[10375:10384:0702/172634:2214914378:ERROR:diagnostic_error_delegate.h(31)] sqlite error 1, errno 0: no such table: meta\n[10375:10384:0702/172634:2214914415:ERROR:keyword_table.cc(536)] Can't write default search id backup.\n[10375:10384:0702/172634:2214914432:ERROR:keyword_table.cc(465)] Failed to update default search id backup.\n[10375:10384:0702/172634:2214914475:ERROR:diagnostic_error_delegate.h(31)] sqlite error 1, errno 0: SQL logic error or missing database\n[10375:10384:0702/172634:2214914497:ERROR:web_data_service.cc(657)] Cannot initialize the web database: 1\n[10375:10375:0702/172635:2215119305:ERROR:object_proxy.cc(495)] Failed to call method: org.bluez.Manager.DefaultAdapter: object_path= /: org.bluez.Error.NoSuchAdapter: No such adapter\n[10375:10384:0702/172639:2219896500:ERROR:diagnostic_error_delegate.h(31)] sqlite error 778, errno 0: disk I/O error\n[10375:10384:0702/172639:2219896877:ERROR:diagnostic_error_delegate.h(31)] sqlite error 1, errno 0: no such table: meta\n[10375:10384:0702/172639:2219896943:ERROR:diagnostic_error_delegate.h(31)] sqlite error 1, errno 0: SQL logic error or missing database\n[10375:10384:0702/172639:2219898265:ERROR:diagnostic_error_delegate.h(31)] sqlite error 778, errno 0: disk I/O error\n[10375:10384:0702/172639:2219898567:ERROR:diagnostic_error_delegate.h(31)] sqlite error 1, errno 0: no such table: meta\n[10375:10384:0702/172639:2219898658:ERROR:diagnostic_error_delegate.h(31)] sqlite error 1, errno 0: SQL logic error or missing database\n[0702/172716:ERROR:test_launcher.cc(386)] Test timeout (45000 ms) exceeded for ExtensionWebstorePrivateApiTest.AppInstallBubble\n
Run Code Online (Sandbox Code Playgroud)\n\n

BUGFIX\xef\xbc\x9aSQLITE 4.4.1已修复由 指示的错误error code 778,该错误是由 引起的disk reading fault,实际上可以由其db engine自身内部恢复。

\n