Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Not asked for password and can't sign #8374

Closed
mcnalu opened this issue May 1, 2023 · 8 comments · Fixed by #8385
Closed

Not asked for password and can't sign #8374

mcnalu opened this issue May 1, 2023 · 8 comments · Fixed by #8385
Assignees
Milestone

Comments

@mcnalu
Copy link

mcnalu commented May 1, 2023

I'm using Electrum 4.4.1 on a phone with Android 10. I have a standard wallet with a small but worthwhile amount of bitcoin in it which I use infrequently but I now cannot access.

Following some update to Electrum that must have been between 26 Jan 2023 and 30 April 2023 I can no longer send bitcoin. On opening the app it does not ask for my password which it definitely did before. I can view all my past transactions. When I try to send bitcoin it offers me the Sign button but it does nothing when I tap it. If I try to view my seed, it does ask for a password but when I enter it, nothing happens.

I noticed that the App was denied permission to access Storage in the Android settings, so I allowed that but it made no difference. I'm not sure how this became denied nor how it was able to get my public key to show me transactions in the app without it. I have tried clearing the cache but it made no difference.

I created a new standard test wallet and it behaves exactly as I would expect in that it asks for the password when I start using it and shows me the seed etc

If other info would help diagnose what has gone wrong here, let me know what's needed, logs etc

@mcnalu
Copy link
Author

mcnalu commented May 1, 2023

A few more clues...

I think the previous time I used electrum and it all worked fine was 4.3.3 back in January.

Looking at the logs, I do not see "| W | gui.qml.qeapp | wallet requires password" when loading the default_wallet which was the wallet I was using and which definitely did have a password. I do see this line when loading wallet_test which I created to troubleshoot the issue.

Log lines related to default_wallet:

05-01 20:49:25.163 13999 14023 I python  :   2.85 | D | gui.qml.qedaemon | load wallet /data/data/org.electrum.electrum/files/data/wallets/default_wallet
05-01 20:49:25.163 13999 14023 I python  :   2.85 | D | gui.qml.qewalletdb | setting path: /data/data/org.electrum.electrum/files/data/wallets/default_wallet
05-01 20:49:25.164 13999 14023 I python  :   2.85 | I | storage.WalletStorage | wallet path /data/data/org.electrum.electrum/files/data/wallets/default_wallet
05-01 20:49:25.189 13999 14023 I python  :   2.88 | D | util.profiler | WalletDB._load_transactions 0.0176 sec
05-01 20:49:25.192 13999 14047 I python  :   2.88 | I | storage.WalletStorage | wallet path /data/data/org.electrum.electrum/files/data/wallets/default_wallet
05-01 20:49:25.193 13999 14023 I python  :   2.88 | D | gui.qml.qeapp.QEAppController | received intent: 'None'
05-01 20:49:25.193 13999 14023 I python  :   2.88 | D | util.profiler | ElectrumGui.__init__ 1.0984 sec
05-01 20:49:25.193 13999 14023 I python  :   2.88 | I | gui.qml.ElectrumGui | Entering main loop
05-01 20:49:25.220 13999 14047 I python  :   2.91 | D | util.profiler | WalletDB._load_transactions 0.0213 sec
05-01 20:49:25.222 13999 14047 I python  :   2.91 | D | util.profiler | AddressSynchronizer.load_local_history 0.0015 sec
05-01 20:49:25.224 13999 14047 I python  :   2.91 | D | util.profiler | AddressSynchronizer.check_history 0.0009 sec
05-01 20:49:25.242 13999 14047 I python  :   2.93 | D | util.profiler | Daemon._load_wallet 0.0521 sec
05-01 20:49:25.243 13999 14047 I python  :   2.93 | I | gui.qml.qedaemon | use single password: False
05-01 20:49:25.272 13999 14038 I python  :   2.96 | I | w/wallet.Standard_Wallet.[default_wallet] | starting taskgroup.
05-01 20:49:25.285 13999 14023 I python  :   2.97 | D | gui.qml.qedaemon | _on_backend_wallet_loaded
05-01 20:49:25.287 13999 14023 I python  :   2.97 | D | gui.qml.qewallet.[default_wallet] | SYNC False -> True
05-01 20:49:25.289 13999 14023 I python  :   2.98 | D | gui.qml.qetransactionlistmodel | retrieving history
05-01 20:49:25.303 13999 14023 I python  :   2.99 | D | util.profiler | Abstract_Wallet.get_full_history 0.0132 sec

Log lines relating to wallet_test:

05-01 20:49:33.707 13999 14023 I python  :  11.39 | D | gui.qml.qedaemon | load wallet /data/data/org.electrum.electrum/files/data/wallets/wallet_test
05-01 20:49:33.707 13999 14023 I python  :  11.39 | D | gui.qml.qewalletdb | setting path: /data/data/org.electrum.electrum/files/data/wallets/wallet_test
05-01 20:49:33.708 13999 14023 I python  :  11.40 | I | storage.WalletStorage | wallet path /data/data/org.electrum.electrum/files/data/wallets/wallet_test
05-01 20:49:33.724 13999 14023 I python  :  11.41 | W | gui.qml.qeapp | wallet requires password
05-01 20:49:33.730 13999 14023 I python  :  11.42 | D | gui.qml.qewalletdb | setting path: /data/data/org.electrum.electrum/files/data/wallets/wallet_test
05-01 20:49:33.758 13999 14023 I python  :  11.45 | I | storage.WalletStorage | wallet path /data/data/org.electrum.electrum/files/data/wallets/wallet_test
05-01 20:49:39.584 13999 14023 I python  :  17.27 | I | storage.WalletStorage | wallet path /data/data/org.electrum.electrum/files/data/wallets/wallet_test
05-01 20:49:39.595 13999 14023 I python  :  17.28 | D | util.profiler | WalletDB._load_transactions 0.0012 sec
05-01 20:49:39.596 13999 14023 I python  :  17.28 | D | gui.qml.qedaemon | load wallet /data/data/org.electrum.electrum/files/data/wallets/wallet_test
05-01 20:49:39.596 13999 14023 I python  :  17.28 | D | gui.qml.qewalletdb | setting path: /data/data/org.electrum.electrum/files/data/wallets/wallet_test
05-01 20:49:39.597 13999 14023 I python  :  17.28 | I | storage.WalletStorage | wallet path /data/data/org.electrum.electrum/files/data/wallets/wallet_test
05-01 20:49:39.607 13999 14023 I python  :  17.29 | D | util.profiler | WalletDB._load_transactions 0.0010 sec
05-01 20:49:39.609 13999 14094 I python  :  17.30 | I | storage.WalletStorage | wallet path /data/data/org.electrum.electrum/files/data/wallets/wallet_test
05-01 20:49:39.612 13999 14023 I python  :  17.30 | W | gui.qml.qeapp | wallet loading

@mcnalu mcnalu closed this as completed May 1, 2023
@mcnalu mcnalu reopened this May 1, 2023
@ecdsa
Copy link
Member

ecdsa commented May 2, 2023

question: did you have more than a single wallet on that phone (before creating the test wallet)?

@mcnalu
Copy link
Author

mcnalu commented May 2, 2023

There was only one wallet on the phone called default_wallet and it was created on that phone.

@ecdsa
Copy link
Member

ecdsa commented May 2, 2023

I see. The wallet file is not encrypted, but the keystore is encrypted.
The kivy APKs asks for the keystore password on startup, and encrypts the wallet file with it.
The QML app does not do that; it stores a None password instead, which prevents further decryption of the keystore.

I guess were using an older kivy APK, which does not encrypt the file.
The QML app should handle that case similar to kivy.

@mcnalu
Copy link
Author

mcnalu commented May 2, 2023

Thanks for the explanation.

Should I wait for a new version of the QML app or do you think it would it be safe to do a data preserving downgrade to a kivy APK which I knew worked, such as 4.3.3?

@SomberNight
Copy link
Member

Downgrading will not work. You should wait for a new version.

Alternatively, you can restore from seed on another device/PC.
Or, you can try to change the password for the wallet file -- that might result in getting the file/storage encrypted and side-stepping the bug -- haven't tested though.

@mcnalu
Copy link
Author

mcnalu commented May 2, 2023

Thanks. I'll wait for the new version.

@SomberNight SomberNight added this to the 4.4.2 milestone May 2, 2023
@accumulator
Copy link
Member

ref #8382

SomberNight added a commit to SomberNight/electrum that referenced this issue May 4, 2023
… wallets

This is a hugely hackish -- it uses the kivy approach, which uses this same hack...
I am not really content with it but it should be relatively easy to review,
and if ok, should hotfix the linked issue.

fixes spesmilo#8374
related spesmilo#8382
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants