Sometimes after app has been shut down automatically (app was stopped by OS) you're not able to login again or it logins randomly even if you enter a password right
Bug Report
Problem
Expected behavior
After some time in the background, it was very hard to login again (for me it was reproducible on the upgraded app).
You're trying to enter a password, and you're 100% sure that this is the right one (in my case it was qwertyasdf) and the app gives you "Incorrect password" error.
Sometimes to enter the invalid password and then try again valid helped, but not always (this is on video) At some point, I changed the password and after that I couldn't login at all.
Actual behavior
https://github.com/user-attachments/assets/8c63ace0-dce8-4656-b010-5012f12a2ea3
Reproduction
Unfortunately the issue is random and happened several times for different people.
Additional Information
- Status version: 2.30
- Operating System: Android, iOS
https://github.com/user-attachments/assets/12f834d2-e481-4851-8aad-1704babe2353
on @qoqobolo device the error appears for a moment, but she was able to log in afterwards, video attached
I have faced this issue as well on my Android 12, Samsung Galaxy A52 (build - release 2.30)
It appeared after app session was killed after being in the background for a short period of time, i.e.:
- I was logged in Status app
- Switched to device settings tab, Status app remained opened in the background
- Switched back to the tab with Status app. At this moment session was killed and I appeared on login screen
- Tried to login, but my valid password returned "Invalid password" error
I was never able to login that user again although I made many tries.
I also faced this issue long time ago in one of my account. Related logs and re-frame event: https://github.com/status-im/status-mobile/issues/18103
would be great if we have logs provided @churik
that was eactly the moment when logging was completely broken in release builds, hopefully logs of Parvesh might help. we'll add logs when we got ones.
Well, so :)
Diana was able to reproduce it after upgrade as well, but no logs at all even after she was able to login again and enable them, as it happens BEFORE login. All that we get:
1. Issue Description
<no value>
2. Steps to reproduce
<no value>
3. Attach screenshots that can demo the problem, please
----------------------------------------
App version: 2.30.0 (20240826172533)
OS: ios
Node version:
----------------------------------------
Node Info
id:
ip:
port:
----------------------------------------
Peers
----------------------------------------
Sep 10, 2024, 5:31:04 PM
so I really think https://github.com/status-im/status-mobile/issues/18103 the only logs that we have. Or we cna try to reproduce it if you point me how to get v1 app from the testflight.
as it happens BEFORE login
I remember we can share logs before login via shake devices -> Share logs(rather than Report a bug) ๐ค
I found the UI is different after select option Share logs, for PR build is like this(which seems correct):
but for release build is like this:
is this normal ? @Parveshdhull
Because the release build disables logs by default... so that's why I see a different UI. I'm curious why it's disabled by default. Is it because of privacy? I thought we should set the error level by default. Privacy makes it hard for us... ๐
@ilmotta
Privacy makes it hard for us... ๐
Oh yes, we work in hard mode in Status.
Because the release build disables logs by default... so that's why I see a different UI. I'm curious why it's disabled by default. Is it because of privacy? I thought we should set the error level by default
@qfrank I don't know the answer. Probably too old at this point for us to reliably answer. I found a commit from 6 years ago that first defined a default log level of "" https://github.com/status-im/status-mobile/commit/8d053b4389a61cb91f83281a7db950c4470ceb3f#diff-4c0bfd9d1eebff16dd8e3afabb50e3e46698f35a597a65f2028e9df721cf110aR37
Our default still is the empty level https://github.com/status-im/status-mobile/blob/babcd96fb625aa843d373ced160d94fd6e54bbd9/src/status_im/config.cljs#L78
Users also getting this error, reference
I again caught this error (when you're unable to login but typed the password right) after upgrade from 1.20 > 2.32:
https://github.com/user-attachments/assets/fedf5e94-7ee8-4aa7-8abf-786a1c854122
Logs: Status-debug-logs-2.zip
Unfortunately logs are not very useful. We do see lots of instances in Status.log of:
node.login error failed to open database: failed to set `journal_mode` pragma: file is not a database
@qfrank do you have any idea how to simulate the conditions that can lead to this file is not a database? There's this StackOverflow reference https://stackoverflow.com/questions/48974135/error-file-is-not-a-database-in-sqlite in case it helps.
@ilmotta if it's happening after an upgrade, it sounds like it would be related to SQLCipher and Sqlite. For example, somehow we're not migrating the database properly with all of the correct encryption configuration, so when we go to decrypt the database with SQLCipher it will fail and cause this kind of error: file is not a database.
Unfortunately logs are not very useful. We do see lots of instances in
Status.logof:node.login error failed to open database: failed to set `journal_mode` pragma: file is not a database@qfrank do you have any idea how to simulate the conditions that can lead to this
file is not a database? There's this StackOverflow reference https://stackoverflow.com/questions/48974135/error-file-is-not-a-database-in-sqlite in case it helps.
emm.. after checking the log, you missed the important one:
[signals] node.login error failed to open database: Failed to migrate db file: Failed to migrate v3 db to v4: failed to set `journal_mode` pragma: file is not a database
This is the error I get when I try to login with the correct password in Little Failing Zigzagsalamander:
ERROR[12-23|21:01:43.188|github.com/status-im/status-go/api/geth_backend.go:430] failed to initialize db package=status-go/api.GethStatusBackend err="DB is dirty after migration version 1689340211"
ERROR[12-23|21:01:43.189|github.com/status-im/status-go/mobile/status.go:474] loginAccount failed error="failed to open database: DB is dirty after migration version 1689340211"
This is the error I get when I try to login with biometrics:
ERROR[12-23|21:02:15.089|github.com/status-im/status-go/api/geth_backend.go:430] failed to initialize db package=status-go/api.GethStatusBackend err="DB is dirty after migration version 1689340211"
ERROR[12-23|21:02:15.089|github.com/status-im/status-go/mobile/status.go:474] loginAccount failed error="failed to open database: DB is dirty after migration version 1689340211"
I also got this error trying to login with correct password in Little Failing Zigzagsalamander after trying to login with a correct password on Able Direct Silkworm:
ERROR[12-23|23:23:04.725|github.com/status-im/status-go/mobile/status.go:474] loginAccount failed error="failed to update account color hash and color id: accounts: keypair is not found"
The other account Able Direct Silkworm gives this logs:
ERROR[12-23|23:07:24.947|github.com/status-im/status-go/mobile/status.go:474] loginAccount failed error="failed to start node: Key: 'NodeConfig.NetworkID' Error:Field validation for 'NetworkID' failed on the 'required' tag\nKey: 'NodeConfig.LogLevel' Error:Field validation for 'LogLevel' failed on the 'eq=ERROR|eq=WARN|eq=INFO|eq=DEBUG|eq=TRACE' tag"
What is strange is that after trying the correct password once, it always gives the same error above, regardless of using incorrect or correct password, even in a fresh account new in this device.
This is the error I get when I try to login with incorrect password:
ERROR[12-23|21:01:30.092|github.com/status-im/status-go/api/geth_backend.go:430] failed to initialize db package=status-go/api.GethStatusBackend err="failed to set `journal_mode` pragma: file is not a database"
Once, I got the correct password and I got the error "failed to set journal_mode", but then the logs were slightly different:
ERROR[12-23|23:06:43.282|github.com/status-im/status-go/api/geth_backend.go:477] failed to initialize wallet db package=status-go/api.GethStatusBackend err="failed to set `journal_mode` pragma: file is not a database"
Notice that real incorrect password happens at 430 and the log message is failed to initialize db, but when the password is correct but fails anyways happens at line 477 and the log message says failed to initialize wallet db, but I also got these error at line 477 with incorrect password.
I am connected through ADB, and I write this in the adb shell: cat storage/self/primary/Android/data/im.status.ethereum/files/Download/geth.log | tail right after each attempt.
The login code is probably messed up, and needs a full refactor, because the behavior is very inconsistent. I understand that a migration process can be hard to predict, however, the behavior should be repeatable in the logs, and what we see is that the code is remembering stuff from other login attempts, and errors are not always the same, even if the user input was exact.
In the next message, I'll annotate step by step everything I am doing and adding the log pieces here.
- Open Status goes to login screen of a new account I created at device:
WARN [12-23|23:36:21.603|github.com/status-im/status-go/api/geth_backend.go:2506] messenger nil, not reporting app state change
- Go to account list, displays 7 accounts:
- Teste (created on new version),
- Yeteysye (created on new version),
- Little Failing Zigzagsalamander (migrated, with profile image, no color border),
- Jubilant Infamous Bobtail (migrated, JI as profile image, keycard, no color border),
- Able Direct Silkworm (migrated, AD as profile image, with color border),
- Deepskyblue Descriptive Nettlefish (migrated, DD as profile image with color border).
ERROR[12-23|23:36:30.617|github.com/status-im/status-go/server/handlers.go:501] handleAccountInitialsImpl: no public key, can't draw ring keyUid=0xfe50e877017358172489d52cb20d8ebd00b76d94816d22e930dff1d9f4ff0d29
ERROR[12-23|23:36:30.617|github.com/status-im/status-go/server/handlers.go:506] handleAccountInitialsImpl: failed to generate color hash from pubkey keyUid=0xfe50e877017358172489d52cb20d8ebd00b76d94816d22e930dff1d9f4ff0d29 error="invalid pubkey: "
ERROR[12-23|23:36:30.618|github.com/status-im/status-go/server/handlers.go:355] handleAccountImagesImpl: no public key for color hash keyUid=0x735b25ebfe85050f1482151b5a87fa7a0291e253a801e273a448071c0bd62a59
ERROR[12-23|23:36:30.618|github.com/status-im/status-go/server/handlers.go:360] handleAccountImagesImpl: could not generate color hash keyUid=0x735b25ebfe85050f1482151b5a87fa7a0291e253a801e273a448071c0bd62a59 error="invalid pubkey: "
- Tap on Little Failing Zigzagsalamander, offers biometric login.
ERROR[12-23|23:43:08.267|github.com/status-im/status-go/server/handlers.go:355] handleAccountImagesImpl: no public key for color hash keyUid=0x735b25ebfe85050f1482151b5a87fa7a0291e253a801e273a448071c0bd62a59
ERROR[12-23|23:43:08.268|github.com/status-im/status-go/server/handlers.go:360] handleAccountImagesImpl: could not generate color hash keyUid=0x735b25ebfe85050f1482151b5a87fa7a0291e253a801e273a448071c0bd62a59 error="invalid pubkey: "
- Entered correct biometrics, opens a black screen with loading spinner that never ends:
ERROR[12-23|23:44:00.002|github.com/status-im/status-go/api/geth_backend.go:430] failed to initialize db package=status-go/api.GethStatusBackend err="DB is dirty after migration version 1689340211"
ERROR[12-23|23:44:00.003|github.com/status-im/status-go/mobile/status.go:474] loginAccount failed error="failed to open database: DB is dirty after migration version 1689340211"
- Minimize the app by tapping back arrow:
WARN [12-23|23:45:13.910|github.com/status-im/status-go/api/geth_backend.go:2506] messenger nil, not reporting app state change
- Open back Status, appears Status Logo and goes back to the black screen with loading spinner that never ends:
WARN [12-23|23:45:47.781|github.com/status-im/status-go/api/geth_backend.go:2506] messenger nil, not reporting app state change
- Exit Status by opening app switcher and closing it
WARN [12-23|23:46:39.286|github.com/status-im/status-go/api/geth_backend.go:2506] messenger nil, not reporting app state change
-
Forced closed the app, no logs.
-
Open Status again, displays as in 1., request login from Teste account.
WARN [12-23|23:48:00.732|github.com/status-im/status-go/api/geth_backend.go:2506] messenger nil, not reporting app state change
- Go to accounts screen, displays as in 2.
ERROR[12-23|23:48:51.554|github.com/status-im/status-go/server/handlers.go:501] handleAccountInitialsImpl: no public key, can't draw ring keyUid=0xfe50e877017358172489d52cb20d8ebd00b76d94816d22e930dff1d9f4ff0d29
ERROR[12-23|23:48:51.554|github.com/status-im/status-go/server/handlers.go:506] handleAccountInitialsImpl: failed to generate color hash from pubkey keyUid=0xfe50e877017358172489d52cb20d8ebd00b76d94816d22e930dff1d9f4ff0d29 error="invalid pubkey: "
ERROR[12-23|23:48:51.599|github.com/status-im/status-go/server/handlers.go:355] handleAccountImagesImpl: no public key for color hash keyUid=0x735b25ebfe85050f1482151b5a87fa7a0291e253a801e273a448071c0bd62a59
ERROR[12-23|23:48:51.599|github.com/status-im/status-go/server/handlers.go:360] handleAccountImagesImpl: could not generate color hash keyUid=0x735b25ebfe85050f1482151b5a87fa7a0291e253a801e273a448071c0bd62a59 error="invalid pubkey: "
-
Tap to login on Able Direct Silkworm, no logs
-
Enter an incorrect, says wrong password:
ERROR[12-23|23:50:23.642|github.com/status-im/status-go/api/geth_backend.go:477] failed to initialize wallet db package=status-go/api.GethStatusBackend err="failed to set `journal_mode` pragma: file is not a database"
ERROR[12-23|23:50:23.643|github.com/status-im/status-go/mobile/status.go:474] loginAccount failed error="failed to open database: failed to set `journal_mode` pragma: file is not a database"
- Tried pressing the login a bunch of times:
ERROR[12-23|23:51:39.167|github.com/status-im/status-go/mobile/status.go:474] loginAccount failed error="failed to open database: failed to set `journal_mode` pragma: file is not a database"
ERROR[12-23|23:51:47.592|github.com/status-im/status-go/api/geth_backend.go:477] failed to initialize wallet db package=status-go/api.GethStatusBackend err="failed to set `journal_mode` pragma: file is not a database"
ERROR[12-23|23:51:47.593|github.com/status-im/status-go/mobile/status.go:474] loginAccount failed error="failed to open database: failed to set `journal_mode` pragma: file is not a database"
ERROR[12-23|23:51:48.459|github.com/status-im/status-go/api/geth_backend.go:477] failed to initialize wallet db package=status-go/api.GethStatusBackend err="failed to set `journal_mode` pragma: file is not a database"
ERROR[12-23|23:51:48.460|github.com/status-im/status-go/mobile/status.go:474] loginAccount failed error="failed to open database: failed to set `journal_mode` pragma: file is not a database"
ERROR[12-23|23:51:49.096|github.com/status-im/status-go/api/geth_backend.go:477] failed to initialize wallet db package=status-go/api.GethStatusBackend err="failed to set `journal_mode` pragma: file is not a database"
ERROR[12-23|23:51:49.097|github.com/status-im/status-go/mobile/status.go:474] loginAccount failed error="failed to open database: failed to set `journal_mode` pragma: file is not a database"
- Tried correct password
ERROR[12-23|23:54:01.946|github.com/status-im/status-go/api/geth_backend.go:430] failed to initialize db package=status-go/api.GethStatusBackend err="failed to set `journal_mode` pragma: file is not a database"
ERROR[12-23|23:54:01.946|github.com/status-im/status-go/mobile/status.go:474] loginAccount failed error="failed to open database: failed to set `journal_mode` pragma: file is not a database"
- tapped to try again
ERROR[12-23|23:54:42.793|github.com/status-im/status-go/api/geth_backend.go:430] failed to initialize db package=status-go/api.GethStatusBackend err="failed to set `journal_mode` pragma: file is not a database"
ERROR[12-23|23:54:42.793|github.com/status-im/status-go/mobile/status.go:474] loginAccount failed error="failed to open database: failed to set `journal_mode` pragma: file is not a database"
- Tried the correct password of Little Failing Zigzagsalamander:
ERROR[12-23|23:54:56.136|github.com/status-im/status-go/mobile/status.go:474] loginAccount failed error="failed to start node: Key: 'NodeConfig.NetworkID' Error:Field validation for 'NetworkID' failed on the 'required' tag\nKey: 'NodeConfig.LogLevel' Error:Field validation for 'LogLevel' failed on the 'eq=ERROR|eq=WARN|eq=INFO|eq=DEBUG|eq=TRACE' tag"
- Try any random password, or the correct password:
ERROR[12-24|00:20:46.311|github.com/status-im/status-go/mobile/status.go:474] loginAccount failed error="failed to start node: Key: 'NodeConfig.NetworkID' Error:Field validation for 'NetworkID' failed on the 'required' tag\nKey: 'NodeConfig.LogLevel' Error:Field validation for 'LogLevel' failed on the 'eq=ERROR|eq=WARN|eq=INFO|eq=DEBUG|eq=TRACE' tag"
- Try any random password or the correct password on account Teste (or any account):
ERROR[12-24|00:21:38.879|github.com/status-im/status-go/mobile/status.go:474] loginAccount failed error="failed to start node: Key: 'NodeConfig.NetworkID' Error:Field validation for 'NetworkID' failed on the 'required' tag\nKey: 'NodeConfig.LogLevel' Error:Field validation for 'LogLevel' failed on the 'eq=ERROR|eq=WARN|eq=INFO|eq=DEBUG|eq=TRACE' tag"
-
Try biometric on account Teste, nothing happens, nothing in logs.
-
Try biometric on account Little Failing Zigzagsalamander, goes to blackscreen spinning forever:
ERROR[12-24|00:23:36.114|github.com/status-im/status-go/mobile/status.go:474] loginAccount failed error="failed to update account color hash and color id: accounts: keypair is not found"
- Exit the app, and lets play again. Lets try Little Failing Zigzagsalamander, wrong password:
ERROR[12-24|00:25:08.733|github.com/status-im/status-go/api/geth_backend.go:477] failed to initialize wallet db package=status-go/api.GethStatusBackend err="failed to set `journal_mode` pragma: file is not a database"
ERROR[12-24|00:25:08.734|github.com/status-im/status-go/mobile/status.go:474] loginAccount failed error="failed to open database: failed to set `journal_mode` pragma: file is not a database"
- Try password of Able Direct Silkworm
ERROR[12-24|00:25:55.428|github.com/status-im/status-go/api/geth_backend.go:477] failed to initialize wallet db package=status-go/api.GethStatusBackend err="failed to set `journal_mode` pragma: file is not a database"
ERROR[12-24|00:25:55.429|github.com/status-im/status-go/mobile/status.go:474] loginAccount failed error="failed to open database: failed to set `journal_mode` pragma: file is not a database"
- Try correct password:
ERROR[12-24|00:30:21.124|github.com/status-im/status-go/api/geth_backend.go:430] failed to initialize db package=status-go/api.GethStatusBackend err="DB is dirty after migration version 1689340211"
ERROR[12-24|00:30:21.125|github.com/status-im/status-go/mobile/status.go:474] loginAccount failed error="failed to open database: DB is dirty after migration version 1689340211"
- Try wrong password:
ERROR[12-24|00:31:02.530|github.com/status-im/status-go/api/geth_backend.go:430] failed to initialize db package=status-go/api.GethStatusBackend err="failed to set `journal_mode` pragma: file is not a database"
ERROR[12-24|00:31:02.531|github.com/status-im/status-go/mobile/status.go:474] loginAccount failed error="failed to open database: failed to set `journal_mode` pragma: file is not a database"
- exit app, lets try another account Deepskyblue Descriptive Nettlefish, random string in password
ERROR[12-24|00:34:17.349|github.com/status-im/status-go/api/geth_backend.go:477] failed to initialize wallet db package=status-go/api.GethStatusBackend err="failed to set `journal_mode` pragma: file is not a database"
ERROR[12-24|00:34:17.350|github.com/status-im/status-go/mobile/status.go:474] loginAccount failed error="failed to open database: failed to set `journal_mode` pragma: file is not a database"
- Try password from Little Failing Zigzagsalamander
ERROR[12-24|00:35:08.869|github.com/status-im/status-go/api/geth_backend.go:430] failed to initialize db package=status-go/api.GethStatusBackend err="failed to set `journal_mode` pragma: file is not a database"
ERROR[12-24|00:35:08.869|github.com/status-im/status-go/mobile/status.go:474] loginAccount failed error="failed to open database: failed to set `journal_mode` pragma: file is not a database"
- Try correct password:
ERROR[12-24|00:35:29.266|github.com/status-im/status-go/mobile/status.go:474] loginAccount failed error="failed to start node: Key: 'NodeConfig.NetworkID' Error:Field validation for 'NetworkID' failed on the 'required' tag\nKey: 'NodeConfig.LogLevel' Error:Field validation for 'LogLevel' failed on the 'eq=ERROR|eq=WARN|eq=INFO|eq=DEBUG|eq=TRACE' tag"
- Now anything on any account have the same error as from 27, except trying anything on Little Failing Zigzagsalamander (even correct password or biometrics):
ERROR[12-24|00:37:12.355|github.com/status-im/status-go/mobile/status.go:474] loginAccount failed error="failed to update account color hash and color id: accounts: keypair is not found"
- Restart App, Deepskyblue Descriptive Nettlefish, first try is correct password:
ERROR[12-24|00:39:19.852|github.com/status-im/status-go/api/geth_backend.go:477] failed to initialize wallet db package=status-go/api.GethStatusBackend err="failed to set `journal_mode` pragma: file is not a database"
ERROR[12-24|00:39:19.853|github.com/status-im/status-go/mobile/status.go:474] loginAccount failed error="failed to open database: failed to set `journal_mode` pragma: file is not a database"
- Try some wrong passwords, and correct password again:
ERROR[12-24|00:40:16.953|github.com/status-im/status-go/api/geth_backend.go:477] failed to initialize wallet db package=status-go/api.GethStatusBackend err="failed to set `journal_mode` pragma: file is not a database"
ERROR[12-24|00:40:16.953|github.com/status-im/status-go/mobile/status.go:474] loginAccount failed error="failed to open database: failed to set `journal_mode` pragma: file is not a database"
ERROR[12-24|00:40:22.223|github.com/status-im/status-go/api/geth_backend.go:477] failed to initialize wallet db package=status-go/api.GethStatusBackend err="failed to set `journal_mode` pragma: file is not a database"
ERROR[12-24|00:40:22.224|github.com/status-im/status-go/mobile/status.go:474] loginAccount failed error="failed to open database: failed to set `journal_mode` pragma: file is not a database"
ERROR[12-24|00:40:27.391|github.com/status-im/status-go/api/geth_backend.go:477] failed to initialize wallet db package=status-go/api.GethStatusBackend err="failed to set `journal_mode` pragma: file is not a database"
ERROR[12-24|00:40:27.392|github.com/status-im/status-go/mobile/status.go:474] loginAccount failed error="failed to open database: failed to set `journal_mode` pragma: file is not a database"
ERROR[12-24|00:40:38.477|github.com/status-im/status-go/api/geth_backend.go:477] failed to initialize wallet db package=status-go/api.GethStatusBackend err="failed to set `journal_mode` pragma: file is not a database"
ERROR[12-24|00:40:38.478|github.com/status-im/status-go/mobile/status.go:474] loginAccount failed error="failed to open database: failed to set `journal_mode` pragma: file is not a database"
ERROR[12-24|00:40:43.689|github.com/status-im/status-go/api/geth_backend.go:477] failed to initialize wallet db package=status-go/api.GethStatusBackend err="failed to set `journal_mode` pragma: file is not a database"
ERROR[12-24|00:40:43.689|github.com/status-im/status-go/mobile/status.go:474] loginAccount failed error="failed to open database: failed to set `journal_mode` pragma: file is not a database"
- Try password from Little Failing Zigzagsalamander:
ERROR[12-24|00:40:53.593|github.com/status-im/status-go/api/geth_backend.go:430] failed to initialize db package=status-go/api.GethStatusBackend err="failed to set `journal_mode` pragma: file is not a database"
ERROR[12-24|00:40:53.594|github.com/status-im/status-go/mobile/status.go:474] loginAccount failed error="failed to open database: failed to set `journal_mode` pragma: file is not a database"
- Try random string password:
ERROR[12-24|00:42:24.797|github.com/status-im/status-go/api/geth_backend.go:430] failed to initialize db package=status-go/api.GethStatusBackend err="failed to set `journal_mode` pragma: file is not a database"
ERROR[12-24|00:42:24.797|github.com/status-im/status-go/mobile/status.go:474] loginAccount failed error="failed to open database: failed to set `journal_mode` pragma: file is not a database"
- Try correct password:
ERROR[12-24|00:43:07.697|github.com/status-im/status-go/mobile/status.go:474] loginAccount failed error="failed to start node: Key: 'NodeConfig.NetworkID' Error:Field validation for 'NetworkID' failed on the 'required' tag\nKey: 'NodeConfig.LogLevel' Error:Field validation for 'LogLevel' failed on the 'eq=ERROR|eq=WARN|eq=INFO|eq=DEBUG|eq=TRACE' tag"
Summary:
Little Failing Zigzagsalamander
- After restart go straight to it with correct password:
ERROR[12-24|00:51:46.881|github.com/status-im/status-go/api/geth_backend.go:430] failed to initialize db package=status-go/api.GethStatusBackend err="DB is dirty after migration version 1689340211"
ERROR[12-24|00:51:46.882|github.com/status-im/status-go/mobile/status.go:474] loginAccount failed error="failed to open database: DB is dirty after migration version 1689340211"
- Try an incorrect password after trying the correct password:
ERROR[12-24|00:52:38.696|github.com/status-im/status-go/api/geth_backend.go:430] failed to initialize db package=status-go/api.GethStatusBackend err="failed to set `journal_mode` pragma: file is not a database"
ERROR[12-24|00:52:38.697|github.com/status-im/status-go/mobile/status.go:474] loginAccount failed error="failed to open database: failed to set `journal_mode` pragma: file is not a database"
- After restart, go string to it with incorrect password:
ERROR[12-24|00:53:40.857|github.com/status-im/status-go/api/geth_backend.go:477] failed to initialize wallet db package=status-go/api.GethStatusBackend err="failed to set `journal_mode` pragma: file is not a database"
ERROR[12-24|00:53:40.857|github.com/status-im/status-go/mobile/status.go:474] loginAccount failed error="failed to open database: failed to set `journal_mode` pragma: file is not a database"
- After restart, go to Able Direct Silkworm, put right password, go back to Little Failing Zigzagsalamander and try incorrect password:
ERROR[12-24|00:56:07.411|github.com/status-im/status-go/api/geth_backend.go:430] failed to initialize db package=status-go/api.GethStatusBackend err="failed to set `journal_mode` pragma: file is not a database"
ERROR[12-24|00:56:07.412|github.com/status-im/status-go/mobile/status.go:474] loginAccount failed error="failed to open database: failed to set `journal_mode` pragma: file is not a database"
- After restart, go to Able Direct Silkworm, put right password, go back to Little Failing Zigzagsalamander and try correct password:
ERROR[12-24|01:40:34.379|github.com/status-im/status-go/api/geth_backend.go:430] failed to initialize db package=status-go/api.GethStatusBackend err="DB is dirty after migration version 1689340211"
ERROR[12-24|01:40:34.379|github.com/status-im/status-go/mobile/status.go:474] loginAccount failed error="failed to open database: DB is dirty after migration version 1689340211"
- After restart, try to login in Able Direct Silkworm with Little Failing Zigzagsalamander and than with its correct password, and than try to login in Little Failing Zigzagsalamander
ERROR[12-24|01:56:15.400|github.com/status-im/status-go/mobile/status.go:474] loginAccount failed error="failed to update account color hash and color id: accounts: keypair is not found"
I can perform any order of tests.
I am actually not certain what are the correct passwords for the Able Direct Silkworm and Deepskyblue Descriptive Nettlefish, only for Little Failing Zigzagsalamander, however, I followed the pattern to use a more difficult password for the main account, and the others were test accounts, which had a sequence password I always use for anything that dont requires security. What feels very strage is that Able Direct Silkworm and Deepskyblue Descriptive Nettlefish enter in some weird behavior entering two different passwords, and it envolves the password used for the main account (which was the first created by the way). It's very odd that after this behavior happens, the log messages change.
Its also very strage that before trying to open Able Direct Silkworm, it didnt had the colors border, but after the migration attempt, it got the colors, but got in a bad state.
Migration logs
From the logs, the date before the update/migration happened is t=2020-06-24T18:02:18+0000
WARN [12-19|15:29:46.703|github.com/status-im/status-go/api/geth_backend.go:2506] messenger nil, not reporting app state change
ERROR[12-19|15:29:53.115|github.com/status-im/status-go/server/handlers.go:355] handleAccountImagesImpl: no public key for color hash keyUid=0x735b25ebfe85050f1482151b5a87fa7a0291e253a801e273a448071c0bd62a59
ERROR[12-19|15:29:53.115|github.com/status-im/status-go/server/handlers.go:360] handleAccountImagesImpl: could not generate color hash keyUid=0x735b25ebfe85050f1482151b5a87fa7a0291e253a801e273a448071c0bd62a59 error="invalid pubkey: "
ERROR[12-19|15:30:31.271|github.com/status-im/status-go/api/geth_backend.go:430] failed to initialize db package=status-go/api.GethStatusBackend err="failed to migrate to version 1720606449: no such column: timestamp in line 0: -- Enhance idx_transfers_filter by including more fields\nDROP INDEX IF EXISTS idx_transfers_filter;\nCREATE INDEX idx_transfers_filter\nON transfers (multi_transaction_id, loaded, timestamp, status, network_id, tx_from_address, tx_to_address, token_address, token_id, type);\n\n-- Index for pending_transactions\nCREATE INDEX idx_pending_transactions\nON pending_transactions (multi_transaction_id, from_address, to_address, network_id, timestamp, symbol);\n\n-- Index for multi_transactions\nCREATE INDEX idx_multi_transactions\nON multi_transactions (from_address, to_address, type, from_asset, timestamp, to_asset, from_amount, to_amount);\n"
ERROR[12-19|15:30:31.272|github.com/status-im/status-go/mobile/status.go:474] loginAccount failed error="failed to open database: failed to migrate to version 1720606449: no such column: timestamp in line 0: -- Enhance idx_transfers_filter by including more fields\nDROP INDEX IF EXISTS idx_transfers_filter;\nCREATE INDEX idx_transfers_filter\nON transfers (multi_transaction_id, loaded, timestamp, status, network_id, tx_from_address, tx_to_address, token_address, token_id, type);\n\n-- Index for pending_transactions\nCREATE INDEX idx_pending_transactions\nON pending_transactions (multi_transaction_id, from_address, to_address, network_id, timestamp, symbol);\n\n-- Index for multi_transactions\nCREATE INDEX idx_multi_transactions\nON multi_transactions (from_address, to_address, type, from_asset, timestamp, to_asset, from_amount, to_amount);\n"
See the full logs of the device here: geth.log (I checked the logs and I don't see any sensitive information there, log level seems to be WARN)
not sure what we can do here, but it is amazing to have this info thank you @3esmit
cc @qfrank @ilmotta
- Tried the correct password of Little Failing Zigzagsalamander:
- Try correct password:
Now using StatusIm-Mobile-v2.32.21800-fefa36-arm64-v8a.apk, on this step nothing gets logged, and after that logs don't display anymore, totally stops logging.
Unfortunately logs are not very useful. We do see lots of instances in
Status.logof:node.login error failed to open database: failed to set `journal_mode` pragma: file is not a database@qfrank do you have any idea how to simulate the conditions that can lead to this
file is not a database? There's this StackOverflow reference https://stackoverflow.com/questions/48974135/error-file-is-not-a-database-in-sqlite in case it helps.
It's easy to reproduce the error: failed to set journal_mode pragma: file is not a database with incorrect password. However, the log is not that useful for invesgating what's the root cause ): @ilmotta
not sure what we can do here, but it is amazing to have this info thank you @3esmit
the geth.log @3esmit provided is very useful, it highlights several specific migration issues. However, based on my initial assessment, the problems reflected in these logs seem to have limited relevance to the issue documented in this video record issue. Currently, I havenโt identified the root cause of the problem shown in the video, but I can attempt to address the issues reported by @3esmit one by one. @churik
Currently, I havenโt identified the root cause of the problem shown in the video, but I can attempt to address the issues reported by @3esmit one by one.
@qfrank: let's do our best to investigate and hopefully find a fix (or fixes). However, we need to somewhat timebox our efforts in dealing with migration issues from v1. If by the end of this week we can't implement a fix or at least know how to fix, unfortunately, we'll have to move on to something else. Not saying we won't come back, but we will need to attack other priorities.
I'm not proud to write about this, but I want to be as transparent as possible. There are ongoing discussions about eventually dropping support for v1, but we want to do that cautiously and responsibly to users. There are plenty of other migration-related problems that QAs have spotted during testing across all releases since 2.x began. Supporting migration paths from v1 are very costly for us all.
@3esmit We truly appreciate all your help in detailing reproduction steps ๐
cc @churik @sunleos
I managed to download the files from Apple iOS (doing a backup, and mounting it)
What command I can use to decrypt the database (I know the password)? I can than restore this backup into my device and perhaps get a working app again. Also, I can help debug what happened and we can propose an autofix for the issue.
I'll do this for the other iOS devices that I have that are also with login broken, btw...
This is the file list from my current device (iPhone 16):
./AppDomain/im.status.ethereum
./AppDomain/im.status.ethereum/Library
./AppDomain/im.status.ethereum/Library/keystore
./AppDomain/im.status.ethereum/Library/keystore/0x735b25ebfe85050f1482151b5a87fa7a0291e253a801e273a448071c0bd62a59
./AppDomain/im.status.ethereum/Library/keystore/0x0dc5d7769da0e0e274e96c54dae0d1ee90a30dc1054d43811837778fce7e3862
./AppDomain/im.status.ethereum/Library/keystore/0x0dc5d7769da0e0e274e96c54dae0d1ee90a30dc1054d43811837778fce7e3862/UTC--2024-08-27T01-08-51.802262500Z--e490a68f90e655e8b3263cc6fb8844dce841fa73
./AppDomain/im.status.ethereum/Library/keystore/0x0dc5d7769da0e0e274e96c54dae0d1ee90a30dc1054d43811837778fce7e3862/UTC--2024-08-27T01-08-50.823404700Z--58bf2058c0475b81bac582340633bab6739e026c
./AppDomain/im.status.ethereum/Library/keystore/0x0dc5d7769da0e0e274e96c54dae0d1ee90a30dc1054d43811837778fce7e3862/UTC--2024-08-27T00-59-06.060875400Z--ffa7c5bdbf16c4322adf2fb89a551d83a85fa1eb
./AppDomain/im.status.ethereum/Library/keystore/0xa6817e67f568cb393458aebf4f8dff7dcc3ec95505a54fd4044ee0676d8faf51
./AppDomain/im.status.ethereum/Library/keystore/0xa6817e67f568cb393458aebf4f8dff7dcc3ec95505a54fd4044ee0676d8faf51/UTC--2024-12-19T18-02-56.936402000Z--3a8eb7ec9cd4c25c0b3072555407412eb2408067
./AppDomain/im.status.ethereum/Library/keystore/0xa6817e67f568cb393458aebf4f8dff7dcc3ec95505a54fd4044ee0676d8faf51/UTC--2024-12-19T18-02-57.135963000Z--03c872319d4561c4edf25339bbeefaa23a6adcb1
./AppDomain/im.status.ethereum/Library/keystore/0xa6817e67f568cb393458aebf4f8dff7dcc3ec95505a54fd4044ee0676d8faf51/UTC--2024-12-19T18-02-57.536868000Z--790c217d132a8014f74799665ea08c56dfe89d42
./AppDomain/im.status.ethereum/Library/keystore/0xa6817e67f568cb393458aebf4f8dff7dcc3ec95505a54fd4044ee0676d8faf51/UTC--2024-12-19T18-02-57.739186000Z--9721151bb359eb666be69ea514c0bc82ed6bfcf2
./AppDomain/im.status.ethereum/Library/keystore/0xa6817e67f568cb393458aebf4f8dff7dcc3ec95505a54fd4044ee0676d8faf51/UTC--2024-12-19T18-02-57.336440000Z--bf06c0413ff173fd51dab6fb57b83aa9152425fe
./AppDomain/im.status.ethereum/Library/keystore/0xa6817e67f568cb393458aebf4f8dff7dcc3ec95505a54fd4044ee0676d8faf51/UTC--2024-12-19T18-02-56.721332000Z--609c6ccde98a9a5661aa4aaaa21956b1180169dd
./AppDomain/im.status.ethereum/Library/ipfs
./AppDomain/im.status.ethereum/Library/ipfs/QmbHJYDDW5CRdUfpLFRdJNCEDbZNYvAi7DAAfXrgheM1C3
./AppDomain/im.status.ethereum/Library/ipfs/QmWP9WD7jaVxncNQp7LJfQmPzCpeAgVRV2rAKkd3M6Xh9Z
./AppDomain/im.status.ethereum/Library/ipfs/QmRXF9LKeE7vEJhxpSRCMf9CDv7UdB1saczNTfQXYQTqU7
./AppDomain/im.status.ethereum/Library/ipfs/QmbYzUKEPM3X2Yi7dXZVbNcbUz9nMJ4M6DNtpCC5kKbjh6
./AppDomain/im.status.ethereum/Library/ipfs/QmdMRLZzE6hkdUWCZkULEpzNi5hhKQXp4fk4zxiEHV1dPz
./AppDomain/im.status.ethereum/Library/ipfs/QmWAhePgrMqKcmBMBX6rVtA1LiWQ8YgJcQ7WHbB2N4u6HD
./AppDomain/im.status.ethereum/Library/ipfs/QmeR9LuF8b4QG5HpsmN3gJCXbFiWy5Zki6DDYdcNSuqawn
./AppDomain/im.status.ethereum/Library/ipfs/QmZ6geozxVJR5iTBW5Uqm3UcUK7GVkcKBfoy7LvSYqSjSF
./AppDomain/im.status.ethereum/Library/ipfs/QmWpG2Q5NB472KLgFysdCjB8D1Qf9hxR2KNJvtCJQJufDj
./AppDomain/im.status.ethereum/Library/ipfs/QmZGFJBpby5QFe5Ga7e4G7nPKDkGsCTvkz7oEhoKWnPp3L
./AppDomain/im.status.ethereum/Library/ipfs/Qmcehb2dboemjLXDqLZ2V6Vf8w1Z1MVje9QSErERCMMUYs
./AppDomain/im.status.ethereum/Library/ipfs/QmWVVLwVKCwkVNjYJrRzQWREVvEk917PhbHYAUhA1gECTM
./AppDomain/im.status.ethereum/Library/ipfs/QmUKQ4HM5Qu7v1hoQSY9Q9nAPBBTZNnAFWvNvhxfaTNmvo
./AppDomain/im.status.ethereum/Library/ipfs/QmfEQGLCz7UJqhJ2wxqDMjc7FePAGPBJrwqZ3WYKTmww49
./AppDomain/im.status.ethereum/Library/ipfs/QmSbA2as2ShK3V5cLLj6ujrUjsy9zwSmyQhocXNab3DRQP
./AppDomain/im.status.ethereum/Library/ipfs/QmWWB4D8e5iGszLe4peGuNf6pqMef4hr233EKRHq9pnbQu
./AppDomain/im.status.ethereum/Library/ipfs/QmPF2C8DZCw6QonaLC9iggYrrq3JwuxKdHwU6FFeeVqhVd
./AppDomain/im.status.ethereum/Library/ipfs/QmWjtD7YjTVBM2WKSoZB6e6R8M2KMHamQy2em9Sa65jB1E
./AppDomain/im.status.ethereum/Library/ipfs/QmPg9DD1JaPDm5mi8XG8AAYTYtuxSseAvESQZr45V66NPk
./AppDomain/im.status.ethereum/Library/ipfs/QmUB1dD3syoU6pgF92CvvRDSgpBuS5JFKFxjFMrqAQmYLz
./AppDomain/im.status.ethereum/Library/ipfs/Qmb3YnxgSTDEqLwDZtqAUbzveGZ8hZ5FrFYmixXkFU3gs9
./AppDomain/im.status.ethereum/Library/LanguageModeling
./AppDomain/im.status.ethereum/Library/ropsten_flag
./AppDomain/im.status.ethereum/Library/WebKit
./AppDomain/im.status.ethereum/Library/WebKit/WebsiteData
./AppDomain/im.status.ethereum/Library/WebKit/WebsiteData/DeviceIdHashSalts
./AppDomain/im.status.ethereum/Library/WebKit/WebsiteData/DeviceIdHashSalts/1
./AppDomain/im.status.ethereum/Library/WebKit/WebsiteData/Default
./AppDomain/im.status.ethereum/Library/WebKit/WebsiteData/Default/w4Q2im0INlVklDf0VWTCT5js_nf3EilbbODBIYIsG54
./AppDomain/im.status.ethereum/Library/WebKit/WebsiteData/Default/w4Q2im0INlVklDf0VWTCT5js_nf3EilbbODBIYIsG54/w4Q2im0INlVklDf0VWTCT5js_nf3EilbbODBIYIsG54
./AppDomain/im.status.ethereum/Library/WebKit/WebsiteData/Default/w4Q2im0INlVklDf0VWTCT5js_nf3EilbbODBIYIsG54/w4Q2im0INlVklDf0VWTCT5js_nf3EilbbODBIYIsG54/IndexedDB
./AppDomain/im.status.ethereum/Library/WebKit/WebsiteData/Default/w4Q2im0INlVklDf0VWTCT5js_nf3EilbbODBIYIsG54/w4Q2im0INlVklDf0VWTCT5js_nf3EilbbODBIYIsG54/IndexedDB/707A66B5B31F1335369CC2B171E522E4554165F23B21905DF672EB5B4D7BD310
./AppDomain/im.status.ethereum/Library/WebKit/WebsiteData/Default/w4Q2im0INlVklDf0VWTCT5js_nf3EilbbODBIYIsG54/w4Q2im0INlVklDf0VWTCT5js_nf3EilbbODBIYIsG54/IndexedDB/707A66B5B31F1335369CC2B171E522E4554165F23B21905DF672EB5B4D7BD310/IndexedDB.sqlite3
./AppDomain/im.status.ethereum/Library/WebKit/WebsiteData/Default/w4Q2im0INlVklDf0VWTCT5js_nf3EilbbODBIYIsG54/w4Q2im0INlVklDf0VWTCT5js_nf3EilbbODBIYIsG54/LocalStorage
./AppDomain/im.status.ethereum/Library/WebKit/WebsiteData/Default/w4Q2im0INlVklDf0VWTCT5js_nf3EilbbODBIYIsG54/w4Q2im0INlVklDf0VWTCT5js_nf3EilbbODBIYIsG54/LocalStorage/localstorage.sqlite3
./AppDomain/im.status.ethereum/Library/WebKit/WebsiteData/Default/w4Q2im0INlVklDf0VWTCT5js_nf3EilbbODBIYIsG54/w4Q2im0INlVklDf0VWTCT5js_nf3EilbbODBIYIsG54/origin
./AppDomain/im.status.ethereum/Library/WebKit/WebsiteData/Default/7tTwY5rkqw0wVZHewnr0c8_n6qiiDZ3UhalTE1UfZ7E
./AppDomain/im.status.ethereum/Library/WebKit/WebsiteData/Default/7tTwY5rkqw0wVZHewnr0c8_n6qiiDZ3UhalTE1UfZ7E/7tTwY5rkqw0wVZHewnr0c8_n6qiiDZ3UhalTE1UfZ7E
./AppDomain/im.status.ethereum/Library/WebKit/WebsiteData/Default/7tTwY5rkqw0wVZHewnr0c8_n6qiiDZ3UhalTE1UfZ7E/7tTwY5rkqw0wVZHewnr0c8_n6qiiDZ3UhalTE1UfZ7E/IndexedDB
./AppDomain/im.status.ethereum/Library/WebKit/WebsiteData/Default/7tTwY5rkqw0wVZHewnr0c8_n6qiiDZ3UhalTE1UfZ7E/7tTwY5rkqw0wVZHewnr0c8_n6qiiDZ3UhalTE1UfZ7E/IndexedDB/E679FB124222495C115219233A55D638C5557995DAF3CCED10B5CFF8FF60A731
./AppDomain/im.status.ethereum/Library/WebKit/WebsiteData/Default/7tTwY5rkqw0wVZHewnr0c8_n6qiiDZ3UhalTE1UfZ7E/7tTwY5rkqw0wVZHewnr0c8_n6qiiDZ3UhalTE1UfZ7E/IndexedDB/E679FB124222495C115219233A55D638C5557995DAF3CCED10B5CFF8FF60A731/IndexedDB.sqlite3
./AppDomain/im.status.ethereum/Library/WebKit/WebsiteData/Default/7tTwY5rkqw0wVZHewnr0c8_n6qiiDZ3UhalTE1UfZ7E/7tTwY5rkqw0wVZHewnr0c8_n6qiiDZ3UhalTE1UfZ7E/LocalStorage
./AppDomain/im.status.ethereum/Library/WebKit/WebsiteData/Default/7tTwY5rkqw0wVZHewnr0c8_n6qiiDZ3UhalTE1UfZ7E/7tTwY5rkqw0wVZHewnr0c8_n6qiiDZ3UhalTE1UfZ7E/LocalStorage/localstorage.sqlite3
./AppDomain/im.status.ethereum/Library/WebKit/WebsiteData/Default/7tTwY5rkqw0wVZHewnr0c8_n6qiiDZ3UhalTE1UfZ7E/7tTwY5rkqw0wVZHewnr0c8_n6qiiDZ3UhalTE1UfZ7E/origin
./AppDomain/im.status.ethereum/Library/WebKit/WebsiteData/Default/w6PsxEiQ38mAq-Wwskkzizg4hC5RDBD65VvxyMqZnWI
./AppDomain/im.status.ethereum/Library/WebKit/WebsiteData/Default/w6PsxEiQ38mAq-Wwskkzizg4hC5RDBD65VvxyMqZnWI/w6PsxEiQ38mAq-Wwskkzizg4hC5RDBD65VvxyMqZnWI
./AppDomain/im.status.ethereum/Library/WebKit/WebsiteData/Default/w6PsxEiQ38mAq-Wwskkzizg4hC5RDBD65VvxyMqZnWI/w6PsxEiQ38mAq-Wwskkzizg4hC5RDBD65VvxyMqZnWI/IndexedDB
./AppDomain/im.status.ethereum/Library/WebKit/WebsiteData/Default/w6PsxEiQ38mAq-Wwskkzizg4hC5RDBD65VvxyMqZnWI/w6PsxEiQ38mAq-Wwskkzizg4hC5RDBD65VvxyMqZnWI/IndexedDB/310F706B24F4889B823D315DBCDC414A5B4C5C25461F0060726AFB1B8B58653E
./AppDomain/im.status.ethereum/Library/WebKit/WebsiteData/Default/w6PsxEiQ38mAq-Wwskkzizg4hC5RDBD65VvxyMqZnWI/w6PsxEiQ38mAq-Wwskkzizg4hC5RDBD65VvxyMqZnWI/IndexedDB/310F706B24F4889B823D315DBCDC414A5B4C5C25461F0060726AFB1B8B58653E/IndexedDB.sqlite3
./AppDomain/im.status.ethereum/Library/WebKit/WebsiteData/Default/w6PsxEiQ38mAq-Wwskkzizg4hC5RDBD65VvxyMqZnWI/w6PsxEiQ38mAq-Wwskkzizg4hC5RDBD65VvxyMqZnWI/LocalStorage
./AppDomain/im.status.ethereum/Library/WebKit/WebsiteData/Default/w6PsxEiQ38mAq-Wwskkzizg4hC5RDBD65VvxyMqZnWI/w6PsxEiQ38mAq-Wwskkzizg4hC5RDBD65VvxyMqZnWI/LocalStorage/localstorage.sqlite3
./AppDomain/im.status.ethereum/Library/WebKit/WebsiteData/Default/w6PsxEiQ38mAq-Wwskkzizg4hC5RDBD65VvxyMqZnWI/w6PsxEiQ38mAq-Wwskkzizg4hC5RDBD65VvxyMqZnWI/origin
./AppDomain/im.status.ethereum/Library/WebKit/WebsiteData/Default/n7uBCljZI3TtNOHP8zqIN9gMeVM-bd6yjcpyGRRfQKM
./AppDomain/im.status.ethereum/Library/WebKit/WebsiteData/Default/n7uBCljZI3TtNOHP8zqIN9gMeVM-bd6yjcpyGRRfQKM/n7uBCljZI3TtNOHP8zqIN9gMeVM-bd6yjcpyGRRfQKM
./AppDomain/im.status.ethereum/Library/WebKit/WebsiteData/Default/n7uBCljZI3TtNOHP8zqIN9gMeVM-bd6yjcpyGRRfQKM/n7uBCljZI3TtNOHP8zqIN9gMeVM-bd6yjcpyGRRfQKM/LocalStorage
./AppDomain/im.status.ethereum/Library/WebKit/WebsiteData/Default/n7uBCljZI3TtNOHP8zqIN9gMeVM-bd6yjcpyGRRfQKM/n7uBCljZI3TtNOHP8zqIN9gMeVM-bd6yjcpyGRRfQKM/LocalStorage/localstorage.sqlite3
./AppDomain/im.status.ethereum/Library/WebKit/WebsiteData/Default/n7uBCljZI3TtNOHP8zqIN9gMeVM-bd6yjcpyGRRfQKM/n7uBCljZI3TtNOHP8zqIN9gMeVM-bd6yjcpyGRRfQKM/origin
./AppDomain/im.status.ethereum/Library/WebKit/WebsiteData/Default/salt
./AppDomain/im.status.ethereum/Library/WebKit/WebsiteData/IndexedDB
./AppDomain/im.status.ethereum/Library/WebKit/WebsiteData/IndexedDB/v0
./AppDomain/im.status.ethereum/Library/WebKit/WebsiteData/MediaKeys
./AppDomain/im.status.ethereum/Library/WebKit/WebsiteData/MediaKeys/v1
./AppDomain/im.status.ethereum/Library/WebKit/WebsiteData/MediaKeys/v1/salt
./AppDomain/im.status.ethereum/Library/WebKit/WebsiteData/SearchHistory
./AppDomain/im.status.ethereum/Library/WebKit/WebsiteData/ResourceLoadStatistics
./AppDomain/im.status.ethereum/Library/WebKit/WebsiteData/ResourceLoadStatistics/observations.db
./AppDomain/im.status.ethereum/Library/WebKit/WebsiteData/LocalStorage
./AppDomain/im.status.ethereum/Library/HTTPStorages
./AppDomain/im.status.ethereum/Library/Preferences
./AppDomain/im.status.ethereum/Library/Preferences/com.apple.EmojiCache.plist
./AppDomain/im.status.ethereum/Library/Preferences/im.status.ethereum.plist
./AppDomain/im.status.ethereum/Library/Cookies
./AppDomain/im.status.ethereum/Library/ethereum
./AppDomain/im.status.ethereum/Library/ethereum/testnet
./AppDomain/im.status.ethereum/Library/ethereum/mainnet_rpc
./AppDomain/im.status.ethereum/Library/ethereum/mainnet_rpc/status-db
./AppDomain/im.status.ethereum/Library/ethereum/mainnet_rpc/status-db/MANIFEST-000780
./AppDomain/im.status.ethereum/Library/ethereum/mainnet_rpc/status-db/LOCK
./AppDomain/im.status.ethereum/Library/ethereum/mainnet_rpc/status-db/CURRENT
./AppDomain/im.status.ethereum/Library/ethereum/mainnet_rpc/status-db/000779.log
./AppDomain/im.status.ethereum/Library/ethereum/mainnet_rpc/status-db/000743.ldb
./AppDomain/im.status.ethereum/Library/ethereum/mainnet_rpc/status-db/CURRENT.bak
./AppDomain/im.status.ethereum/Library/ethereum/mainnet_rpc/status-db/000742.ldb
./AppDomain/im.status.ethereum/Library/ethereum/mainnet_rpc/status-db/LOG
./AppDomain/im.status.ethereum/Library/ethereum/mainnet_rpc/status-db/000746.ldb
./AppDomain/im.status.ethereum/Library/ethereum/mainnet_rpc/StatusIM
./AppDomain/im.status.ethereum/Library/ethereum/mainnet_rpc/StatusIM/nodes
./AppDomain/im.status.ethereum/Library/ethereum/mainnet_rpc/StatusIM/nodes/000794.ldb
./AppDomain/im.status.ethereum/Library/ethereum/mainnet_rpc/StatusIM/nodes/000799.log
./AppDomain/im.status.ethereum/Library/ethereum/mainnet_rpc/StatusIM/nodes/MANIFEST-000800
./AppDomain/im.status.ethereum/Library/ethereum/mainnet_rpc/StatusIM/nodes/CURRENT.bak
./AppDomain/im.status.ethereum/Library/ethereum/mainnet_rpc/StatusIM/nodes/000798.ldb
./AppDomain/im.status.ethereum/Library/ethereum/mainnet_rpc/StatusIM/nodes/LOCK
./AppDomain/im.status.ethereum/Library/ethereum/mainnet_rpc/StatusIM/nodes/CURRENT
./AppDomain/im.status.ethereum/Library/ethereum/mainnet_rpc/StatusIM/nodes/000795.ldb
./AppDomain/im.status.ethereum/Library/ethereum/mainnet_rpc/StatusIM/nodes/LOG
./AppDomain/im.status.ethereum/Library/ethereum/mainnet_rpc/StatusIM/LOCK
./AppDomain/im.status.ethereum/Library/ethereum/mainnet_rpc/StatusIM/nodekey
./AppDomain/im.status.ethereum/Library/ethereum/mainnet_rpc/geth.log
./AppDomain/im.status.ethereum/Library/Application Support
./AppDomain/im.status.ethereum/Library/Application Support/im.status.ethereum
./AppDomain/im.status.ethereum/Library/geth.log
./AppDomain/im.status.ethereum/Library/0xa6817e67f568cb393458aebf4f8dff7dcc3ec95505a54fd4044ee0676d8faf51-v4.db
./AppDomain/im.status.ethereum/Library/0x735b25ebfe85050f1482151b5a87fa7a0291e253a801e273a448071c0bd62a59-v4.db
./AppDomain/im.status.ethereum/Library/0x0dc5d7769da0e0e274e96c54dae0d1ee90a30dc1054d43811837778fce7e3862-wallet.db
./AppDomain/im.status.ethereum/Library/0xa6817e67f568cb393458aebf4f8dff7dcc3ec95505a54fd4044ee0676d8faf51-wallet.db
./AppDomain/im.status.ethereum/Library/0x0dc5d7769da0e0e274e96c54dae0d1ee90a30dc1054d43811837778fce7e3862-v4.db-wal
./AppDomain/im.status.ethereum/Library/logs.zip
./AppDomain/im.status.ethereum/Library/0x0dc5d7769da0e0e274e96c54dae0d1ee90a30dc1054d43811837778fce7e3862-v4.db
./AppDomain/im.status.ethereum/Library/0x0dc5d7769da0e0e274e96c54dae0d1ee90a30dc1054d43811837778fce7e3862-v4.db-shm
./AppDomain/im.status.ethereum/Library/api.log
./AppDomain/im.status.ethereum/Library/0x735b25ebfe85050f1482151b5a87fa7a0291e253a801e273a448071c0bd62a59-wallet.db
./AppDomain/im.status.ethereum/Library/accounts.sql
./AppDomain/im.status.ethereum/Documents
Some logs I got from my other device "iPhone 11"
ERROR[12-19|15:14:38.050|github.com/status-im/status-go/api/geth_backend.go:430] failed to initialize db package=status-go/api.GethStatusBackend err="failed to migrate to version 1720606449: no such column: timestamp in line 0: -- Enhance idx_transfers_filter by including more fields\nDROP INDEX IF EXISTS idx_transfers_filter;\nCREATE INDEX idx_transfers_filter\nON transfers (multi_transaction_id, loaded, timestamp, status, network_id, tx_from_address, tx_to_address, token_address, token_id, type);\n\n-- Index for pending_transactions\nCREATE INDEX idx_pending_transactions\nON pending_transactions (multi_transaction_id, from_address, to_address, network_id, timestamp, symbol);\n\n-- Index for multi_transactions\nCREATE INDEX idx_multi_transactions\nON multi_transactions (from_address, to_address, type, from_asset, timestamp, to_asset, from_amount, to_amount);\n"
This are the files:
im.status.ethereum
im.status.ethereum/Library
im.status.ethereum/Library/keystore
im.status.ethereum/Library/keystore/0xadcfb92c31364fc4647b72a0200c2e5aafa8c97eba6a7c325cecc565aa30eb4e
im.status.ethereum/Library/keystore/0x7be676e6e08babe75c0751387557c89e35dd6415197ddecfbec9b5034d33d5e4
im.status.ethereum/Library/keystore/0x7be676e6e08babe75c0751387557c89e35dd6415197ddecfbec9b5034d33d5e4/UTC--2021-01-19T13-51-01.364664000Z--172aa64235d92429fa188335f5e5a619cd07ee64
im.status.ethereum/Library/keystore/0x7be676e6e08babe75c0751387557c89e35dd6415197ddecfbec9b5034d33d5e4/UTC--2021-01-19T13-51-01.685104000Z--b5d7bbd9a63b9483423ee785bdfebfcd4d37227e
im.status.ethereum/Library/keystore/0x7be676e6e08babe75c0751387557c89e35dd6415197ddecfbec9b5034d33d5e4/UTC--2021-01-19T13-51-01.977104000Z--e8a02924fd6bad50892f7ded79881a8828163689
im.status.ethereum/Library/keystore/0x7be676e6e08babe75c0751387557c89e35dd6415197ddecfbec9b5034d33d5e4/UTC--2021-01-19T13-51-02.267481000Z--1852e94e6ffece8b76fce5e9b383c52e5f8c7e41
im.status.ethereum/Library/keystore/0x6f1a98adce6515640258a15bafa67f7a4e716dc97b0687ee1667c74839b549d3
im.status.ethereum/Library/keystore/0x6f1a98adce6515640258a15bafa67f7a4e716dc97b0687ee1667c74839b549d3/UTC--2024-12-19T17-57-37.157215000Z--52b24cadb373bd6808333694217b939003b13996
im.status.ethereum/Library/keystore/0x6f1a98adce6515640258a15bafa67f7a4e716dc97b0687ee1667c74839b549d3/UTC--2024-12-19T17-57-37.728200000Z--a12b35bc3dd09fc579df92ef5fc75261f7904b0a
im.status.ethereum/Library/keystore/0x6f1a98adce6515640258a15bafa67f7a4e716dc97b0687ee1667c74839b549d3/UTC--2024-12-19T17-57-38.006987000Z--283b5503e38a14821b3364316d6a15035429ba7c
im.status.ethereum/Library/keystore/0x6f1a98adce6515640258a15bafa67f7a4e716dc97b0687ee1667c74839b549d3/UTC--2024-12-19T17-57-38.286684000Z--34511e050d01083671bd49e27021f0886decba75
im.status.ethereum/Library/keystore/0x6f1a98adce6515640258a15bafa67f7a4e716dc97b0687ee1667c74839b549d3/UTC--2024-12-19T17-57-36.872293000Z--f6e055c02b4c694e4cfbf3314cc48c25ea00e664
im.status.ethereum/Library/keystore/0x6f1a98adce6515640258a15bafa67f7a4e716dc97b0687ee1667c74839b549d3/UTC--2024-12-19T17-57-37.436760000Z--0145f9f85b09822744ad3a43208c47bb330ebe07
im.status.ethereum/Library/keystore/0x859d983970ce033c0e64725d1cae9e7d4b5c871899b6d8f650f432fb0dcd96c8
im.status.ethereum/Library/keystore/0x859d983970ce033c0e64725d1cae9e7d4b5c871899b6d8f650f432fb0dcd96c8/UTC--2020-11-21T17-48-21.977930000Z--83c4396824457e0e77fdbf86aa17f469b83897fc
im.status.ethereum/Library/keystore/0x859d983970ce033c0e64725d1cae9e7d4b5c871899b6d8f650f432fb0dcd96c8/UTC--2020-11-21T17-48-22.584487000Z--e70899575a15440898d45795dd9266233127ba7c
im.status.ethereum/Library/keystore/0x859d983970ce033c0e64725d1cae9e7d4b5c871899b6d8f650f432fb0dcd96c8/UTC--2020-11-21T17-48-22.292745000Z--7ffd2b9f19c4bdcb73f082b5ee8ccba8d0cecd8c
im.status.ethereum/Library/keystore/0x859d983970ce033c0e64725d1cae9e7d4b5c871899b6d8f650f432fb0dcd96c8/UTC--2021-02-11T18-15-19.745329000Z--3d597789ea16054a084ac84ce87f50df9198f415
im.status.ethereum/Library/keystore/0x859d983970ce033c0e64725d1cae9e7d4b5c871899b6d8f650f432fb0dcd96c8/UTC--2020-11-21T17-48-22.875417000Z--15986af44ac0615167928526e6bf52642596b31a
im.status.ethereum/Library/keystore/0xfe50e877017358172489d52cb20d8ebd00b76d94816d22e930dff1d9f4ff0d29
im.status.ethereum/Library/ipfs
im.status.ethereum/Library/ipfs/QmWP9WD7jaVxncNQp7LJfQmPzCpeAgVRV2rAKkd3M6Xh9Z
im.status.ethereum/Library/ipfs/QmdMRLZzE6hkdUWCZkULEpzNi5hhKQXp4fk4zxiEHV1dPz
im.status.ethereum/Library/ipfs/QmbHJYDDW5CRdUfpLFRdJNCEDbZNYvAi7DAAfXrgheM1C3
im.status.ethereum/Library/ipfs/QmeR9LuF8b4QG5HpsmN3gJCXbFiWy5Zki6DDYdcNSuqawn
im.status.ethereum/Library/ipfs/QmZ6geozxVJR5iTBW5Uqm3UcUK7GVkcKBfoy7LvSYqSjSF
im.status.ethereum/Library/ipfs/QmWAhePgrMqKcmBMBX6rVtA1LiWQ8YgJcQ7WHbB2N4u6HD
im.status.ethereum/Library/ipfs/QmbYzUKEPM3X2Yi7dXZVbNcbUz9nMJ4M6DNtpCC5kKbjh6
im.status.ethereum/Library/ipfs/QmWpG2Q5NB472KLgFysdCjB8D1Qf9hxR2KNJvtCJQJufDj
im.status.ethereum/Library/ipfs/QmZGFJBpby5QFe5Ga7e4G7nPKDkGsCTvkz7oEhoKWnPp3L
im.status.ethereum/Library/ipfs/QmWVVLwVKCwkVNjYJrRzQWREVvEk917PhbHYAUhA1gECTM
im.status.ethereum/Library/ipfs/QmUKQ4HM5Qu7v1hoQSY9Q9nAPBBTZNnAFWvNvhxfaTNmvo
im.status.ethereum/Library/ipfs/QmfEQGLCz7UJqhJ2wxqDMjc7FePAGPBJrwqZ3WYKTmww49
im.status.ethereum/Library/ipfs/QmWWB4D8e5iGszLe4peGuNf6pqMef4hr233EKRHq9pnbQu
im.status.ethereum/Library/ipfs/QmWjtD7YjTVBM2WKSoZB6e6R8M2KMHamQy2em9Sa65jB1E
im.status.ethereum/Library/ipfs/Qmcehb2dboemjLXDqLZ2V6Vf8w1Z1MVje9QSErERCMMUYs
im.status.ethereum/Library/ipfs/QmUB1dD3syoU6pgF92CvvRDSgpBuS5JFKFxjFMrqAQmYLz
im.status.ethereum/Library/ipfs/QmPF2C8DZCw6QonaLC9iggYrrq3JwuxKdHwU6FFeeVqhVd
im.status.ethereum/Library/ipfs/QmPg9DD1JaPDm5mi8XG8AAYTYtuxSseAvESQZr45V66NPk
im.status.ethereum/Library/ipfs/QmRXF9LKeE7vEJhxpSRCMf9CDv7UdB1saczNTfQXYQTqU7
im.status.ethereum/Library/ipfs/QmSbA2as2ShK3V5cLLj6ujrUjsy9zwSmyQhocXNab3DRQP
im.status.ethereum/Library/ropsten_flag
im.status.ethereum/Library/WebKit
im.status.ethereum/Library/WebKit/WebsiteData
im.status.ethereum/Library/WebKit/WebsiteData/DeviceIdHashSalts
im.status.ethereum/Library/WebKit/WebsiteData/DeviceIdHashSalts/1
im.status.ethereum/Library/WebKit/WebsiteData/Default
im.status.ethereum/Library/WebKit/WebsiteData/Default/FKIlcWWffhojmkN9CUK_P4T_nZT9iwbt46QjcPeJPvU
im.status.ethereum/Library/WebKit/WebsiteData/Default/FKIlcWWffhojmkN9CUK_P4T_nZT9iwbt46QjcPeJPvU/FKIlcWWffhojmkN9CUK_P4T_nZT9iwbt46QjcPeJPvU
im.status.ethereum/Library/WebKit/WebsiteData/Default/FKIlcWWffhojmkN9CUK_P4T_nZT9iwbt46QjcPeJPvU/FKIlcWWffhojmkN9CUK_P4T_nZT9iwbt46QjcPeJPvU/origin
im.status.ethereum/Library/WebKit/WebsiteData/Default/-RERqC3W4ST2jNBWq0n_zpHhXZV--xTtGz1w_8GKFS4
im.status.ethereum/Library/WebKit/WebsiteData/Default/-RERqC3W4ST2jNBWq0n_zpHhXZV--xTtGz1w_8GKFS4/-RERqC3W4ST2jNBWq0n_zpHhXZV--xTtGz1w_8GKFS4
im.status.ethereum/Library/WebKit/WebsiteData/Default/-RERqC3W4ST2jNBWq0n_zpHhXZV--xTtGz1w_8GKFS4/-RERqC3W4ST2jNBWq0n_zpHhXZV--xTtGz1w_8GKFS4/origin
im.status.ethereum/Library/WebKit/WebsiteData/Default/HVNC40iVmPJtu3g_1f2OBFkW2vAyVbQv5MN-c_skXrM
im.status.ethereum/Library/WebKit/WebsiteData/Default/HVNC40iVmPJtu3g_1f2OBFkW2vAyVbQv5MN-c_skXrM/HVNC40iVmPJtu3g_1f2OBFkW2vAyVbQv5MN-c_skXrM
im.status.ethereum/Library/WebKit/WebsiteData/Default/HVNC40iVmPJtu3g_1f2OBFkW2vAyVbQv5MN-c_skXrM/HVNC40iVmPJtu3g_1f2OBFkW2vAyVbQv5MN-c_skXrM/IndexedDB
im.status.ethereum/Library/WebKit/WebsiteData/Default/HVNC40iVmPJtu3g_1f2OBFkW2vAyVbQv5MN-c_skXrM/HVNC40iVmPJtu3g_1f2OBFkW2vAyVbQv5MN-c_skXrM/IndexedDB/707A66B5B31F1335369CC2B171E522E4554165F23B21905DF672EB5B4D7BD310
im.status.ethereum/Library/WebKit/WebsiteData/Default/HVNC40iVmPJtu3g_1f2OBFkW2vAyVbQv5MN-c_skXrM/HVNC40iVmPJtu3g_1f2OBFkW2vAyVbQv5MN-c_skXrM/IndexedDB/707A66B5B31F1335369CC2B171E522E4554165F23B21905DF672EB5B4D7BD310/IndexedDB.sqlite3
im.status.ethereum/Library/WebKit/WebsiteData/Default/HVNC40iVmPJtu3g_1f2OBFkW2vAyVbQv5MN-c_skXrM/HVNC40iVmPJtu3g_1f2OBFkW2vAyVbQv5MN-c_skXrM/LocalStorage
im.status.ethereum/Library/WebKit/WebsiteData/Default/HVNC40iVmPJtu3g_1f2OBFkW2vAyVbQv5MN-c_skXrM/HVNC40iVmPJtu3g_1f2OBFkW2vAyVbQv5MN-c_skXrM/origin
im.status.ethereum/Library/WebKit/WebsiteData/Default/r_KjjDXDdBAuSrPS5h6a0z_6joS6AN06H0OwMQSXTPU
im.status.ethereum/Library/WebKit/WebsiteData/Default/r_KjjDXDdBAuSrPS5h6a0z_6joS6AN06H0OwMQSXTPU/r_KjjDXDdBAuSrPS5h6a0z_6joS6AN06H0OwMQSXTPU
im.status.ethereum/Library/WebKit/WebsiteData/Default/r_KjjDXDdBAuSrPS5h6a0z_6joS6AN06H0OwMQSXTPU/r_KjjDXDdBAuSrPS5h6a0z_6joS6AN06H0OwMQSXTPU/origin
im.status.ethereum/Library/WebKit/WebsiteData/Default/QUvwQN9zmXLvt3sESafQixzYvJWKTAIxvWq2dQufxQ0
im.status.ethereum/Library/WebKit/WebsiteData/Default/QUvwQN9zmXLvt3sESafQixzYvJWKTAIxvWq2dQufxQ0/QUvwQN9zmXLvt3sESafQixzYvJWKTAIxvWq2dQufxQ0
im.status.ethereum/Library/WebKit/WebsiteData/Default/QUvwQN9zmXLvt3sESafQixzYvJWKTAIxvWq2dQufxQ0/QUvwQN9zmXLvt3sESafQixzYvJWKTAIxvWq2dQufxQ0/IndexedDB
im.status.ethereum/Library/WebKit/WebsiteData/Default/QUvwQN9zmXLvt3sESafQixzYvJWKTAIxvWq2dQufxQ0/QUvwQN9zmXLvt3sESafQixzYvJWKTAIxvWq2dQufxQ0/IndexedDB/35056F9E89C3F225C8051FF656CA960DDAA4055759FB0712B56671D4E7E8D85F
im.status.ethereum/Library/WebKit/WebsiteData/Default/QUvwQN9zmXLvt3sESafQixzYvJWKTAIxvWq2dQufxQ0/QUvwQN9zmXLvt3sESafQixzYvJWKTAIxvWq2dQufxQ0/IndexedDB/35056F9E89C3F225C8051FF656CA960DDAA4055759FB0712B56671D4E7E8D85F/IndexedDB.sqlite3
im.status.ethereum/Library/WebKit/WebsiteData/Default/QUvwQN9zmXLvt3sESafQixzYvJWKTAIxvWq2dQufxQ0/QUvwQN9zmXLvt3sESafQixzYvJWKTAIxvWq2dQufxQ0/IndexedDB/F99470C923443EAC8779F72694A7BE6AD6ACBD908C5C882363B0C1ED8FAC8AA0
im.status.ethereum/Library/WebKit/WebsiteData/Default/QUvwQN9zmXLvt3sESafQixzYvJWKTAIxvWq2dQufxQ0/QUvwQN9zmXLvt3sESafQixzYvJWKTAIxvWq2dQufxQ0/IndexedDB/F99470C923443EAC8779F72694A7BE6AD6ACBD908C5C882363B0C1ED8FAC8AA0/IndexedDB.sqlite3
im.status.ethereum/Library/WebKit/WebsiteData/Default/QUvwQN9zmXLvt3sESafQixzYvJWKTAIxvWq2dQufxQ0/QUvwQN9zmXLvt3sESafQixzYvJWKTAIxvWq2dQufxQ0/IndexedDB/E679FB124222495C115219233A55D638C5557995DAF3CCED10B5CFF8FF60A731
im.status.ethereum/Library/WebKit/WebsiteData/Default/QUvwQN9zmXLvt3sESafQixzYvJWKTAIxvWq2dQufxQ0/QUvwQN9zmXLvt3sESafQixzYvJWKTAIxvWq2dQufxQ0/IndexedDB/E679FB124222495C115219233A55D638C5557995DAF3CCED10B5CFF8FF60A731/IndexedDB.sqlite3
im.status.ethereum/Library/WebKit/WebsiteData/Default/QUvwQN9zmXLvt3sESafQixzYvJWKTAIxvWq2dQufxQ0/QUvwQN9zmXLvt3sESafQixzYvJWKTAIxvWq2dQufxQ0/LocalStorage
im.status.ethereum/Library/WebKit/WebsiteData/Default/QUvwQN9zmXLvt3sESafQixzYvJWKTAIxvWq2dQufxQ0/QUvwQN9zmXLvt3sESafQixzYvJWKTAIxvWq2dQufxQ0/LocalStorage/localstorage.sqlite3
im.status.ethereum/Library/WebKit/WebsiteData/Default/QUvwQN9zmXLvt3sESafQixzYvJWKTAIxvWq2dQufxQ0/QUvwQN9zmXLvt3sESafQixzYvJWKTAIxvWq2dQufxQ0/origin
im.status.ethereum/Library/WebKit/WebsiteData/Default/zzH1KLPZiw2zmRtm1D5QntBuzQw0z_-2MX8gwggFHxE
im.status.ethereum/Library/WebKit/WebsiteData/Default/zzH1KLPZiw2zmRtm1D5QntBuzQw0z_-2MX8gwggFHxE/zzH1KLPZiw2zmRtm1D5QntBuzQw0z_-2MX8gwggFHxE
im.status.ethereum/Library/WebKit/WebsiteData/Default/zzH1KLPZiw2zmRtm1D5QntBuzQw0z_-2MX8gwggFHxE/zzH1KLPZiw2zmRtm1D5QntBuzQw0z_-2MX8gwggFHxE/origin
im.status.ethereum/Library/WebKit/WebsiteData/Default/salt
im.status.ethereum/Library/WebKit/WebsiteData/IndexedDB
im.status.ethereum/Library/WebKit/WebsiteData/IndexedDB/v1
im.status.ethereum/Library/WebKit/WebsiteData/IndexedDB/v0
im.status.ethereum/Library/WebKit/WebsiteData/MediaKeys
im.status.ethereum/Library/WebKit/WebsiteData/WebSQL
im.status.ethereum/Library/WebKit/WebsiteData/ResourceLoadStatistics
im.status.ethereum/Library/WebKit/WebsiteData/ResourceLoadStatistics/observations.db
im.status.ethereum/Library/WebKit/WebsiteData/ResourceLoadStatistics/pcm.db
im.status.ethereum/Library/WebKit/WebsiteData/LocalStorage
im.status.ethereum/Library/HTTPStorages
im.status.ethereum/Library/Preferences
im.status.ethereum/Library/Preferences/com.apple.EmojiCache.plist
im.status.ethereum/Library/Preferences/im.status.ethereum.plist
im.status.ethereum/Library/Cookies
im.status.ethereum/Library/Cookies/Cookies.binarycookies
im.status.ethereum/Library/ethereum
im.status.ethereum/Library/ethereum/testnet
im.status.ethereum/Library/ethereum/mainnet_rpc
im.status.ethereum/Library/ethereum/mainnet_rpc/status-db
im.status.ethereum/Library/ethereum/mainnet_rpc/status-db/MANIFEST-001036
im.status.ethereum/Library/ethereum/mainnet_rpc/status-db/001029.ldb
im.status.ethereum/Library/ethereum/mainnet_rpc/status-db/LOCK
im.status.ethereum/Library/ethereum/mainnet_rpc/status-db/001032.ldb
im.status.ethereum/Library/ethereum/mainnet_rpc/status-db/LOG
im.status.ethereum/Library/ethereum/mainnet_rpc/status-db/001035.log
im.status.ethereum/Library/ethereum/mainnet_rpc/status-db/CURRENT
im.status.ethereum/Library/ethereum/mainnet_rpc/status-db/001026.ldb
im.status.ethereum/Library/ethereum/mainnet_rpc/status-db/CURRENT.bak
im.status.ethereum/Library/ethereum/mainnet_rpc/status-db/001025.ldb
im.status.ethereum/Library/ethereum/mainnet_rpc/StatusIM
im.status.ethereum/Library/ethereum/mainnet_rpc/StatusIM/nodes
im.status.ethereum/Library/ethereum/mainnet_rpc/StatusIM/nodes/001042.ldb
im.status.ethereum/Library/ethereum/mainnet_rpc/StatusIM/nodes/001041.ldb
im.status.ethereum/Library/ethereum/mainnet_rpc/StatusIM/nodes/LOCK
im.status.ethereum/Library/ethereum/mainnet_rpc/StatusIM/nodes/CURRENT
im.status.ethereum/Library/ethereum/mainnet_rpc/StatusIM/nodes/LOG
im.status.ethereum/Library/ethereum/mainnet_rpc/StatusIM/nodes/CURRENT.bak
im.status.ethereum/Library/ethereum/mainnet_rpc/StatusIM/nodes/MANIFEST-001044
im.status.ethereum/Library/ethereum/mainnet_rpc/StatusIM/nodes/001043.log
im.status.ethereum/Library/ethereum/mainnet_rpc/StatusIM/nodekey
im.status.ethereum/Library/ethereum/mainnet_rpc/StatusIM/LOCK
im.status.ethereum/Library/ethereum/mainnet_rpc/geth.log
im.status.ethereum/Library/Application Support
im.status.ethereum/Library/Application Support/im.status.ethereum
im.status.ethereum/Library/0x859d983970ce033c0e64725d1cae9e7d4b5c871899b6d8f650f432fb0dcd96c8-v4.db-shm
im.status.ethereum/Library/0x6f1a98adce6515640258a15bafa67f7a4e716dc97b0687ee1667c74839b549d3-v4.db
im.status.ethereum/Library/0xfe50e877017358172489d52cb20d8ebd00b76d94816d22e930dff1d9f4ff0d29.db-wal
im.status.ethereum/Library/0x7be676e6e08babe75c0751387557c89e35dd6415197ddecfbec9b5034d33d5e4.db
im.status.ethereum/Library/0xadcfb92c31364fc4647b72a0200c2e5aafa8c97eba6a7c325cecc565aa30eb4e.db-shm
im.status.ethereum/Library/0xfe50e877017358172489d52cb20d8ebd00b76d94816d22e930dff1d9f4ff0d29.db
im.status.ethereum/Library/accounts.sql
im.status.ethereum/Library/geth.log
im.status.ethereum/Library/0x859d983970ce033c0e64725d1cae9e7d4b5c871899b6d8f650f432fb0dcd96c8-wallet.db-wal
im.status.ethereum/Library/0x859d983970ce033c0e64725d1cae9e7d4b5c871899b6d8f650f432fb0dcd96c8-wallet.db
im.status.ethereum/Library/0xfe50e877017358172489d52cb20d8ebd00b76d94816d22e930dff1d9f4ff0d29.db-shm
im.status.ethereum/Library/0xadcfb92c31364fc4647b72a0200c2e5aafa8c97eba6a7c325cecc565aa30eb4e.db
im.status.ethereum/Library/0x859d983970ce033c0e64725d1cae9e7d4b5c871899b6d8f650f432fb0dcd96c8-wallet.db-shm
im.status.ethereum/Library/0x6f1a98adce6515640258a15bafa67f7a4e716dc97b0687ee1667c74839b549d3-wallet.db
im.status.ethereum/Library/0x859d983970ce033c0e64725d1cae9e7d4b5c871899b6d8f650f432fb0dcd96c8-v4.db-wal
im.status.ethereum/Library/0xadcfb92c31364fc4647b72a0200c2e5aafa8c97eba6a7c325cecc565aa30eb4e.db-wal
im.status.ethereum/Library/logs.zip
im.status.ethereum/Library/0x859d983970ce033c0e64725d1cae9e7d4b5c871899b6d8f650f432fb0dcd96c8-v4.db
im.status.ethereum/Documents
Please, guide me decrypting the .db files with my personal password,
For decrypting the database, pls see ExportUnencryptedDatabase, I have reproduced one of your issue, I'm fixing @3esmit
What command I can use to decrypt the database (I know the password)? I can than restore this backup into my device and perhaps get a working app again.
Hey folks, over Android I managed to be able to follow the steps below without requiring the mobile app running. Hopefully none of this business is necessary in case @qfrank finds a solution. It's quite late for me now, so I'm going to bed ๐๐ผ
- Export to an encrypted database.
- (Optionally) modify the DB in any SQL client.
- Import the modified DB into the encrypted file in the root data directory.
It's long to explain the steps above because there are some gotchas, but it's not complicated. I didn't test with an iPhone (I can't) or with a profile using a keycard.
I extended the CLI in status-go with two new commands. Here's the branch https://github.com/status-im/status-go/compare/ilmotta/exportimport?expand=1 for you to double-check the code is not doing anything malicious. The code is not up to standards for merging into status-go develop, but it works well in my scenario. Please backup everything accordingly.
- Close the Status app.
- Grab the key UID from the profile you want to export the DB and manipulate the data. For example:
0x859d983970ce033c0e64725d1cae9e7d4b5c871899b6d8f650f432fb0dcd96c8can be found in<rootdatadir>/keystore/0x859d983970ce033c0e64725d1cae9e7d4b5c871899b6d8f650f432fb0dcd96c8/
$ key_uid="<key_uid>"
Build the status-go CLI:
$ cd status-go/
$ make shell
$ cd cmd/status-cli/
$ go build
Now we need to copy the files in the root dir from the mobile device to host machine. This part was super tricky for Android. The simple act of doing an adb pull and later adb push of the modified and encrypted database caused the mobile app to stop recognizing the DB. This was the case for me, always, login would stop working as well. From my checks, it has to be file metadata mismatches. Even using the -a flag to copy timestamps doesn't help.
The only solution I found was to first tar the root data dir from the mobile device, adb pull the tar'ed root dir, untar, etc. The steps below detail this tedious process (notice that no_backup is the name of the root data dir on Android). The steps below will require root access on the (real) Android device, or so I believe (I checked only inside emulator).
$ adb shell
$ cd /data/user/0/im.status.ethereum/
$ tar cf no_backup.tar no_backup/
$ exit
In the host machine:
$ adb pull -a /data/user/0/im.status.ethereum/no_backup.tar
$ tar xf no_backup.tar
$ rootdatadir=no_backup
In the cmd/status-cli directory:
Export the unencrypted db, which you can manipulate in a SQL client or save as well as backup data (your chats for instance, you could further export the sqlite tables to CSV, etc).
$ plainpwd=<plain-text-password>
$ ./status-cli export-unencrypted-db --password "$plainpwd" --key-uid $key_uid --root-data-dir "$rootdatadir" --debug --output export.db
Backup the unencrypted DB:
$ cp export.db export.db.bak
Modify the unencrypted export.db file in a SQL client and import back onto the encrypted file in the root dir.
$ ./status-cli import-unencrypted-db --password "$plainpwd" --key-uid $key_uid --root-data-dir "$rootdatadir" --debug --input export.db
Optionally, you can test you can login with the newest and modified DB without running the mobile app:
$ ./status-cli serve --password "$plainpwd" --key-uid $key_uid --root-data-dir "$rootdatadir" --debug
We now need to tar the root data dir and send it back to the mobile device to replace the existing root dir. Before this operation, make sure the original files are backed up.
$ tar cf modified-db.tar "$rootdatadir"
$ adb push modified-db.tar /data/user/0/im.status.ethereum
$ adb shell
$ cd /data/user/0/im.status.ethereum
$ tar xf modified-db.tar
Identify the owner and group of the original files in the root data dir. When moving files with adb we may need to restore (I always had).
$ chgrp -R <original_group> no_backup
$ chown -R <original_owner> no_backup
I guess it wouldnt be possible to just type the parameters of SQLChiper here?
@ilmotta I'll try that, but would be nice if I could edit the database without decrypting, so I can do the fixes in the database, and export them back to the device and enjoy Status. Maybe the tool can output me the raw key?
Btw, I can also remove any sensitive information from the database, and share with you, because it seems that whats corrupted is the schema, and a update script can be built in Status to repair these databases.
@3esmit in that case if you don't want the decrypted db, you can try:
Password: It's the "0x" string concatenated with the hex keccak256 of the plain text password https://github.com/status-im/status-go/blob/4106224acb80004858d30ab8fb73ef37d42918bb/mobile/status.go#L2154 Using commands like openssl or rhash don't work for me. One way to get this hash correctly is to run a failing unit test for the Sha3 function in status-go, like so:
modified mobile/status_test.go
@@ -47,3 +47,7 @@ func TestIntendedPanic(t *testing.T) {
IntendedPanic(message)
})
}
+
+func TestSha3(t *testing.T) {
+ require.Equal(t, "foo", Sha3("your-secret"))
+}
Page size: 8192
KDF Iterations: 3200 (you can find this value from the accounts.sql file)
HMAC algorithm: SHA1 (HMAC_SHA1)
KDF algorithm: SHA1 (PBKDF2_HMAC_SHA1)
Plaintext Header Size: 0
Maybe in older DBs like yours the values are different, but this works for me in any DB created by Status 2.32.0.
Using commands like
opensslorrhashdon't work for me.
This happens because status-go is based on ethereum-go, which uses the old version of Keccak, which is an early version of SHA3 with different padding.
you can use this tool: https://emn178.github.io/online-tools/keccak_256.html
Trying to open accounts.sql in sqlite explorer, the data from 2 devices simply does not work (seems corrupted), and other, there is no entries. I'll try to recover from journal.
seems corrupted
What I find strange is that the logs show it can read the accounts information, such as keycard pairing code, but when I download the data to PC, I can't find it besides on the logs.