electrum: Hanging "Please wait" window

If I attempt to make a transaction and type a wrong password I get a hanging “Please wait” window. It is not possible to close the window. screenshot from 2018-02-21 21-34-18

appmenu-qt: registerWindow 206 "&File"
appmenu-qt: registerWindow 206 "&Wallet"
appmenu-qt: registerWindow 206 "&View"
appmenu-qt: registerWindow 206 "&Tools"
appmenu-qt: registerWindow 206 "&Help"
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/electrum/bitcoin.py", line 167, in aes_decrypt_with_iv
    return strip_PKCS7_padding(data)
  File "/usr/local/lib/python3.5/dist-packages/electrum/bitcoin.py", line 138, in strip_PKCS7_padding
    raise InvalidPadding("invalid padding byte (large)")
electrum.bitcoin.InvalidPadding: invalid padding byte (large)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/electrum/bitcoin.py", line 196, in pw_decode
    d = to_string(DecodeAES(secret, s), "utf8")
  File "/usr/local/lib/python3.5/dist-packages/electrum/bitcoin.py", line 182, in DecodeAES
    s = aes_decrypt_with_iv(secret, iv, e)
  File "/usr/local/lib/python3.5/dist-packages/electrum/bitcoin.py", line 169, in aes_decrypt_with_iv
    raise InvalidPassword()
electrum.util.InvalidPassword: Incorrect password

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/electrum_gui/qt/util.py", line 587, in run
    result = task.task()
  File "/usr/local/lib/python3.5/dist-packages/electrum/wallet.py", line 1153, in sign_transaction
    k.sign_transaction(tx, password)
  File "/usr/local/lib/python3.5/dist-packages/electrum/keystore.py", line 99, in sign_transaction
    self.check_password(password)
  File "/usr/local/lib/python3.5/dist-packages/electrum/keystore.py", line 291, in check_password
    xprv = pw_decode(self.xprv, password)
  File "/usr/local/lib/python3.5/dist-packages/electrum/bitcoin.py", line 198, in pw_decode
    raise InvalidPassword()
electrum.util.InvalidPassword: Incorrect password

Observed on Electrum 3.0.5 / Linux

About this issue

  • Original URL
  • State: open
  • Created 6 years ago
  • Comments: 24 (16 by maintainers)

Commits related to this issue

Most upvoted comments

Oh wait, actually; let’s do this:

diff --git a/gui/qt/util.py b/gui/qt/util.py
index 369c05e8..9f975e00 100644
--- a/gui/qt/util.py
+++ b/gui/qt/util.py
@@ -225,6 +225,7 @@ class WaitingDialog(WindowModalDialog):
         if isinstance(parent, MessageBoxMixin):
             parent = parent.top_level_window()
         WindowModalDialog.__init__(self, parent, _("Please wait"))
+        self.setAttribute(Qt.WA_DeleteOnClose)  # see #3956
         vbox = QVBoxLayout(self)
         vbox.addWidget(QLabel(message))
         self.accepted.connect(self.on_accepted)