Open TARS-bot opened 6 years ago
Can we get any further info about this seed from the reporter? What version was used to create it?
To the user: are you certain your seed only contains 8 words and that you have generated this seed using Electrum? If you have a longer seed but you only type 8 words and the next button becomes usable, you still need to enter the rest of the words. (It can happen by chance for a seed that a substring of it is also a valid seed.)
I guess people have a natural tendency to type 'next' as soon as the button is available. It can be interpreted as "the software does not need the last words of my seed because it is ungraying the next button".
People do not necessarily understand that all the words are needed, because this step looks like an identity verification.
could be fixed by:
def seed_type(x: str) -> str:
+ num_words = len(x.split())
if is_old_seed(x):
return 'old'
elif is_new_seed(x):
return 'standard'
elif is_new_seed(x, version.SEED_PREFIX_SW):
return 'segwit'
- elif is_new_seed(x, version.SEED_PREFIX_2FA):
+ elif is_new_seed(x, version.SEED_PREFIX_2FA) and ( num_words == 12 or num_words >= 20):
return '2fa'
- elif is_new_seed(x, version.SEED_PREFIX_2FA_SW):
+ elif is_new_seed(x, version.SEED_PREFIX_2FA_SW) and num_words == 12:
return '2fa_segwit'
return ''
Note: I am not sure whether we should change the test for 2fa_segwit
(the last line of the diff). The crash is only caused for 2fa
wallet types, and not 2fa_segwit
. However, creating a 2fa_segwit
wallet imposes twelve words, so it feels right to disable the next button in that case too.
Note: I am not sure whether we should change the test for 2fa_segwit (the last line of the diff).
I think we should leave "2fa_segwit" as-is. I would rather not needlessly tighten the restrictions on allowed seeds.
It makes sense to do it for "2fa" seeds as the ones we would be excluding can already not be restored -- it's basically a discrepancy between the seed validator function (seed_type
) and the key derivation function (xkeys_from_seed
).
Good afternoon @ecdsa,
I just received another crash report related to this issue. The crash occured on Electrum 4.0.7. I'm not sure which versions of Electrum include the fix but this is the first report from anything newer than 4.0.6 since you closed the issue.
Could you please check if this issue really is resolved? Here is the traceback that I just collected:
File "/home/user/wspace/electrum/.buildozer/android/platform/build-arm64-v8a/build/python-installs/Electrum/kivy/core/window/window_sdl2.py", line 747, in mainloop
File "/home/user/wspace/electrum/.buildozer/android/platform/build-arm64-v8a/build/python-installs/Electrum/kivy/core/window/window_sdl2.py", line 479, in _mainloop
File "/home/user/wspace/electrum/.buildozer/android/platform/build-arm64-v8a/build/python-installs/Electrum/kivy/base.py", line 339, in idle
File "/home/user/wspace/electrum/.buildozer/android/platform/build-arm64-v8a/build/python-installs/Electrum/kivy/clock.py", line 591, in tick
File "kivy/_clock.pyx", line 384, in kivy._clock.CyClockBase._process_events
File "kivy/_clock.pyx", line 414, in kivy._clock.CyClockBase._process_events
File "kivy/_clock.pyx", line 412, in kivy._clock.CyClockBase._process_events
File "kivy/_clock.pyx", line 167, in kivy._clock.ClockEvent.tick
File "/home/user/wspace/electrum/.buildozer/android/app/electrum/gui/kivy/uix/dialogs/password_dialog.py", line 223, in <lambda>
File "/home/user/wspace/electrum/.buildozer/android/app/electrum/gui/kivy/uix/dialogs/installwizard.py", line 1135, in on_success
File "/home/user/wspace/electrum/.buildozer/android/app/electrum/plugins/trustedcoin/trustedcoin.py", line 637, in <lambda>
File "/home/user/wspace/electrum/.buildozer/android/app/electrum/base_wizard.py", line 112, in run
File "/home/user/wspace/electrum/.buildozer/android/app/electrum/plugins/trustedcoin/trustedcoin.py", line 643, in on_restore_pw
File "/home/user/wspace/electrum/.buildozer/android/app/electrum/plugins/trustedcoin/trustedcoin.py", line 575, in xkeys_from_seed
Exception: unexpected seed type:
~ With robotic wishes
Good afternoon @ecdsa,
I just received another crash report related to this issue. The crash occured on Electrum 4.0.8. I'm not sure which versions of Electrum include the fix but this is the first report from anything newer than 4.0.7 since you closed the issue.
Could you please check if this issue really is resolved? Here is the traceback that I just collected:
File "/home/user/wspace/electrum/.buildozer/android/platform/build-arm64-v8a/build/python-installs/Electrum/kivy/core/window/window_sdl2.py", line 747, in mainloop
File "/home/user/wspace/electrum/.buildozer/android/platform/build-arm64-v8a/build/python-installs/Electrum/kivy/core/window/window_sdl2.py", line 479, in _mainloop
File "/home/user/wspace/electrum/.buildozer/android/platform/build-arm64-v8a/build/python-installs/Electrum/kivy/base.py", line 342, in idle
File "/home/user/wspace/electrum/.buildozer/android/platform/build-arm64-v8a/build/python-installs/Electrum/kivy/base.py", line 327, in dispatch_input
File "/home/user/wspace/electrum/.buildozer/android/platform/build-arm64-v8a/build/python-installs/Electrum/kivy/base.py", line 293, in post_dispatch_input
File "kivy/_event.pyx", line 707, in kivy._event.EventDispatcher.dispatch
File "/home/user/wspace/electrum/.buildozer/android/platform/build-arm64-v8a/build/python-installs/Electrum/kivy/uix/behaviors/button.py", line 179, in on_touch_up
File "kivy/_event.pyx", line 703, in kivy._event.EventDispatcher.dispatch
File "kivy/_event.pyx", line 1214, in kivy._event.EventObservers.dispatch
File "kivy/_event.pyx", line 1098, in kivy._event.EventObservers._dispatch
File "/home/user/wspace/electrum/.buildozer/android/platform/build-arm64-v8a/build/python-installs/Electrum/kivy/lang/builder.py", line 64, in custom_callback
File "<string>", line 24, in <module>
File "kivy/_event.pyx", line 707, in kivy._event.EventDispatcher.dispatch
File "/home/user/wspace/electrum/.buildozer/android/app/electrum/gui/kivy/uix/dialogs/installwizard.py", line 656, in on_release
File "/home/user/wspace/electrum/.buildozer/android/app/electrum/plugins/trustedcoin/trustedcoin.py", line 637, in <lambda>
File "/home/user/wspace/electrum/.buildozer/android/app/electrum/plugins/trustedcoin/trustedcoin.py", line 645, in on_choice
File "/home/user/wspace/electrum/.buildozer/android/app/electrum/plugins/trustedcoin/trustedcoin.py", line 601, in create_keystore
File "/home/user/wspace/electrum/.buildozer/android/app/electrum/plugins/trustedcoin/trustedcoin.py", line 575, in xkeys_from_seed
Exception: unexpected seed type:
~ With robotic wishes
Good evening @ecdsa,
I just received another crash report related to this issue. The crash occured on Electrum 4.0.9. I'm not sure which versions of Electrum include the fix but this is the first report from anything newer than 4.0.8 since you closed the issue.
Could you please check if this issue really is resolved? Here is the traceback that I just collected:
File "/home/user/wspace/electrum/.buildozer/android/platform/build-arm64-v8a/build/python-installs/Electrum/kivy/core/window/window_sdl2.py", line 747, in mainloop
File "/home/user/wspace/electrum/.buildozer/android/platform/build-arm64-v8a/build/python-installs/Electrum/kivy/core/window/window_sdl2.py", line 479, in _mainloop
File "/home/user/wspace/electrum/.buildozer/android/platform/build-arm64-v8a/build/python-installs/Electrum/kivy/base.py", line 342, in idle
File "/home/user/wspace/electrum/.buildozer/android/platform/build-arm64-v8a/build/python-installs/Electrum/kivy/base.py", line 327, in dispatch_input
File "/home/user/wspace/electrum/.buildozer/android/platform/build-arm64-v8a/build/python-installs/Electrum/kivy/base.py", line 293, in post_dispatch_input
File "kivy/_event.pyx", line 707, in kivy._event.EventDispatcher.dispatch
File "/home/user/wspace/electrum/.buildozer/android/platform/build-arm64-v8a/build/python-installs/Electrum/kivy/uix/behaviors/button.py", line 179, in on_touch_up
File "kivy/_event.pyx", line 703, in kivy._event.EventDispatcher.dispatch
File "kivy/_event.pyx", line 1214, in kivy._event.EventObservers.dispatch
File "kivy/_event.pyx", line 1098, in kivy._event.EventObservers._dispatch
File "/home/user/wspace/electrum/.buildozer/android/platform/build-arm64-v8a/build/python-installs/Electrum/kivy/lang/builder.py", line 64, in custom_callback
File "<string>", line 24, in <module>
File "kivy/_event.pyx", line 707, in kivy._event.EventDispatcher.dispatch
File "/home/user/wspace/electrum/.buildozer/android/app/electrum/gui/kivy/uix/dialogs/installwizard.py", line 656, in on_release
File "/home/user/wspace/electrum/.buildozer/android/app/electrum/plugins/trustedcoin/trustedcoin.py", line 637, in <lambda>
File "/home/user/wspace/electrum/.buildozer/android/app/electrum/plugins/trustedcoin/trustedcoin.py", line 645, in on_choice
File "/home/user/wspace/electrum/.buildozer/android/app/electrum/plugins/trustedcoin/trustedcoin.py", line 601, in create_keystore
File "/home/user/wspace/electrum/.buildozer/android/app/electrum/plugins/trustedcoin/trustedcoin.py", line 575, in xkeys_from_seed
Exception: unexpected seed type:
~ With robotic wishes
I can reproduce the new traceback: restore 2fa, enter a non-2fa seed, check bip39.
Good morning @ecdsa,
I just received another crash report related to this issue. The crash occured on Electrum 4.1.5. I'm not sure which versions of Electrum include the fix but this is the first report from anything newer than 4.0.9 since you closed the issue.
Could you please check if this issue really is resolved? Here is the traceback that I just collected:
Traceback (most recent call last):
File "electrum\gui\qt\main_window.py", line 677, in new_wallet
File "electrum\gui\qt\__init__.py", line 292, in wrapper
File "electrum\gui\qt\__init__.py", line 317, in start_new_window
File "electrum\gui\qt\__init__.py", line 359, in _start_wizard_to_select_or_create_wallet
File "electrum\base_wizard.py", line 115, in run
File "electrum\base_wizard.py", line 153, in new
File "electrum\gui\qt\installwizard.py", line 120, in func_wrapper
File "electrum\base_wizard.py", line 193, in on_wallet_type
File "electrum\base_wizard.py", line 115, in run
File "electrum\base_wizard.py", line 225, in choose_keystore
File "electrum\gui\qt\installwizard.py", line 120, in func_wrapper
File "electrum\base_wizard.py", line 115, in run
File "electrum\base_wizard.py", line 516, in restore_from_seed
File "electrum\gui\qt\installwizard.py", line 120, in func_wrapper
File "electrum\base_wizard.py", line 515, in <lambda>
File "electrum\base_wizard.py", line 115, in run
File "electrum\base_wizard.py", line 537, in on_restore_seed
File "electrum\base_wizard.py", line 112, in run
File "C:\Users\Asus\AppData\Local\Temp\_MEI167282\electrum\plugins\trustedcoin\trustedcoin.py", line 628, in on_restore_seed
wizard.passphrase_dialog(run_next=f) if is_ext else f('')
File "electrum\base_wizard.py", line 505, in passphrase_dialog
File "electrum\gui\qt\installwizard.py", line 120, in func_wrapper
File "C:\Users\Asus\AppData\Local\Temp\_MEI167282\electrum\plugins\trustedcoin\trustedcoin.py", line 627, in <lambda>
f = lambda x: self.restore_choice(wizard, seed, x)
File "C:\Users\Asus\AppData\Local\Temp\_MEI167282\electrum\plugins\trustedcoin\trustedcoin.py", line 641, in restore_choice
wizard.choice_dialog(choices=choices, message=msg, title=title, run_next=f)
File "electrum\gui\qt\installwizard.py", line 120, in func_wrapper
File "C:\Users\Asus\AppData\Local\Temp\_MEI167282\electrum\plugins\trustedcoin\trustedcoin.py", line 640, in <lambda>
f = lambda x: self.on_choice(wizard, seed, passphrase, x)
File "C:\Users\Asus\AppData\Local\Temp\_MEI167282\electrum\plugins\trustedcoin\trustedcoin.py", line 648, in on_choice
self.create_keystore(wizard, seed, passphrase)
File "C:\Users\Asus\AppData\Local\Temp\_MEI167282\electrum\plugins\trustedcoin\trustedcoin.py", line 603, in create_keystore
xprv1, xpub1, xprv2, xpub2 = self.xkeys_from_seed(seed, passphrase)
File "C:\Users\Asus\AppData\Local\Temp\_MEI167282\electrum\plugins\trustedcoin\trustedcoin.py", line 586, in xkeys_from_seed
raise Exception('old 2fa seed cannot have passphrase')
Exception: old 2fa seed cannot have passphrase
Exception: old 2fa seed cannot have passphrase
~ With robotic wishes
Good morning @ecdsa,
I just received another crash report related to this issue. The crash occured on Electrum 4.5.1. I'm not sure which versions of Electrum include the fix but this is the first report from anything newer than 4.1.5 since you closed the issue.
Could you please check if this issue really is resolved? Here is the traceback that I just collected:
Traceback (most recent call last):
File "/home/user/wspace/electrum/.buildozer/android/app/electrum/plugins/trustedcoin/common_qt.py", line 140, in createKeystore
File "/home/user/wspace/electrum/.buildozer/android/app/electrum/plugins/trustedcoin/trustedcoin.py", line 637, in create_keys
File "/home/user/wspace/electrum/.buildozer/android/app/electrum/plugins/trustedcoin/trustedcoin.py", line 560, in xkeys_from_seed
Exception: unexpected seed type:
Exception: unexpected seed type:
~ With robotic wishes
reopening for latest report
Good evening @ecdsa,
I just received another crash report related to this issue. The crash occured on Electrum 4.5.2. I'm not sure which versions of Electrum include the fix but this is the first report from anything newer than 4.5.1 since you closed the issue.
Could you please check if this issue really is resolved? Here is the traceback that I just collected:
Traceback (most recent call last):
File "electrum\gui\qt\wizard\wizard.py", line 212, in on_next_button_clicked
File "electrum\gui\qt\wizard\wizard.py", line 224, in submit
File "electrum\wizard.py", line 74, in resolve_next
File "electrum\plugins\trustedcoin\trustedcoin.py", line 664, in recovery_disable
xprv1, xpub1, xprv2, xpub2, xpub3, short_id = self.create_keys(wizard_data)
File "electrum\plugins\trustedcoin\trustedcoin.py", line 637, in create_keys
xprv1, xpub1, xprv2, xpub2 = self.xkeys_from_seed(wizard_data['seed'], wizard_data['seed_extra_words'])
File "electrum\plugins\trustedcoin\trustedcoin.py", line 569, in xkeys_from_seed
raise Exception('old 2fa seed cannot have passphrase')
Exception: old 2fa seed cannot have passphrase
Exception: old 2fa seed cannot have passphrase
~ With robotic wishes
Good morning @ecdsa,
I just received another crash report related to this issue. The crash occured on Electrum 4.5.4. I'm not sure which versions of Electrum include the fix but this is the first report from anything newer than 4.5.2 since you closed the issue.
Could you please check if this issue really is resolved? Here is the traceback that I just collected:
Traceback (most recent call last):
File "/home/user/wspace/electrum/.buildozer/android/app/electrum/plugins/trustedcoin/common_qt.py", line 140, in createKeystore
File "/home/user/wspace/electrum/.buildozer/android/app/electrum/plugins/trustedcoin/trustedcoin.py", line 637, in create_keys
File "/home/user/wspace/electrum/.buildozer/android/app/electrum/plugins/trustedcoin/trustedcoin.py", line 560, in xkeys_from_seed
Exception: unexpected seed type: ''
Exception: unexpected seed type: ''
~ With robotic wishes
Crash Report
This crash report was reported through the automatic crash reporting system 🤖
Traceback
Reporter
This issue was reported by 320 user(s):
Additional Information