Actions
UserMaintenanceAndTroubleshouting¶
Restoring application data from a block device backup.¶
In /data/data there is the application data.
The issue is that just copying the /data/data/<application> from a block device backup will not always work. In some cases, the application will crash like that:
01-02 06:49:06.105 5938 5951 E SQLiteLog: (14) os_unix.c:31282: (13) open(/data/user/0/org.smssecure.smssecure/databases/_jobqueue-SilenceJobs) - 01-02 06:49:06.110 5938 5951 E SQLiteDatabase: Failed to open database '/data/user/0/org.smssecure.smssecure/databases/_jobqueue-SilenceJobs'. 01-02 06:49:06.110 5938 5951 E SQLiteDatabase: android.database.sqlite.SQLiteCantOpenDatabaseException: unknown error (code 14): Could not open database 01-02 06:49:06.110 5938 5951 E SQLiteDatabase: at android.database.sqlite.SQLiteConnection.nativeOpen(Native Method) 01-02 06:49:06.110 5938 5951 E SQLiteDatabase: at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:207) 01-02 06:49:06.110 5938 5951 E SQLiteDatabase: at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:191) 01-02 06:49:06.110 5938 5951 E SQLiteDatabase: at android.database.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:463) 01-02 06:49:06.110 5938 5951 E SQLiteDatabase: at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:185) 01-02 06:49:06.110 5938 5951 E SQLiteDatabase: at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:177) 01-02 06:49:06.110 5938 5951 E SQLiteDatabase: at android.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:806) 01-02 06:49:06.110 5938 5951 E SQLiteDatabase: at android.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:791) 01-02 06:49:06.110 5938 5951 E SQLiteDatabase: at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:694) 01-02 06:49:06.110 5938 5951 E SQLiteDatabase: at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:234) 01-02 06:49:06.110 5938 5951 E SQLiteDatabase: at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:187)https://redmine.replicant.us/projects/replicant/issues/new 01-02 06:49:06.110 5938 5951 E SQLiteDatabase: at org.whispersystems.jobqueue.persistence.PersistentStorage.getJobs(PersistentStorage.java:80) 01-02 06:49:06.110 5938 5951 E SQLiteDatabase: at org.whispersystems.jobqueue.persistence.PersistentStorage.getAllUnencrypted(PersistentStorage.java:71) 01-02 06:49:06.110 5938 5951 E SQLiteDatabase: at org.whispersystems.jobqueue.JobManager$LoadTask.run(JobManager.java:153) 01-02 06:49:06.110 5938 5951 E SQLiteDatabase: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) 01-02 06:49:06.110 5938 5951 E SQLiteDatabase: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) 01-02 06:49:06.110 5938 5951 E SQLiteDatabase: at java.lang.Thread.run(Thread.java:818) 01-02 06:49:06.110 5938 5951 E AndroidRuntime: FATAL EXCEPTION: pool-1-thread-1 01-02 06:49:06.110 5938 5951 E AndroidRuntime: Process: org.smssecure.smssecure, PID: 5938 01-02 06:49:06.110 5938 5951 E AndroidRuntime: Theme: themes:{}
The above crash occured while switching between Replicant 6.0 minor revisions (6.0 0003 -> 6.0-dev -> 6.0 0003).
Several systems permission systems are in use:- Unix permissions (also known as DAC or Discretionary access control)
- Selinux permissions (also known as MAC or Mandatory Access Control)
- su -l <the application username> will not give you the same selinux context as what the application is running so that doesn't help for debugging.
Updated by Denis 'GNUtoo' Carikli over 5 years ago ยท 1 revisions