electrum icon indicating copy to clipboard operation
electrum copied to clipboard

Jade blockstream stopped working

Open evgeniy-emelyanchyk opened this issue 1 year ago • 4 comments
trafficstars

I've tried to setup Jade+Electrum multisig 2/2 for BTC Testnet and it was setup without any problem, but when I tried to sign transaction I've got the error:

145.65 | E | gui.qt.main_window.[payment_megatest2] | on_error
Traceback (most recent call last):
  File "electrum/gui/qt/util.py", line 913, in run
  File "electrum/wallet.py", line 2399, in sign_transaction
  File "electrum/plugin.py", line 362, in wrapper
  File "electrum/plugin.py", line 355, in run_in_hwd_thread
  File "concurrent/futures/_base.py", line 446, in result
  File "concurrent/futures/_base.py", line 391, in __get_result
  File "concurrent/futures/thread.py", line 58, in run
  File "electrum/plugins/jade/jade.py", line 287, in sign_transaction
    multisig_name = _register_multisig_wallet(wallet, self, txout.address)
  File "electrum/plugins/jade/jade.py", line 64, in _register_multisig_wallet
    signers.append({'fingerprint': bytes.fromhex(fingerprint),
TypeError: fromhex() argument must be str, not None
347.01 | E | gui.qt.main_window.[payment_megatest2] | on_error
Traceback (most recent call last):
  File "electrum/gui/qt/util.py", line 913, in run
  File "electrum/wallet.py", line 2399, in sign_transaction
  File "electrum/plugin.py", line 362, in wrapper
  File "electrum/plugin.py", line 355, in run_in_hwd_thread
  File "concurrent/futures/_base.py", line 446, in result
  File "concurrent/futures/_base.py", line 391, in __get_result
  File "concurrent/futures/thread.py", line 58, in run
  File "electrum/plugins/jade/jade.py", line 287, in sign_transaction
    multisig_name = _register_multisig_wallet(wallet, self, txout.address)
  File "electrum/plugins/jade/jade.py", line 64, in _register_multisig_wallet
    signers.append({'fingerprint': bytes.fromhex(fingerprint),
TypeError: fromhex() argument must be str, not None

Then I try to setup standard wallet electrum+Jade and got another error when I try to sign trx:

qt.qpa.window: <QNSWindow: 0x7fe65a0b25d0; contentView=<QNSView: 0x7fe65a0b21d0; QCocoaWindow(0x6000039fb180, window=QWidgetWindow(0x6000024e1380, name="QPushButtonClassWindow"))>> has active key-value observers (KVO)! These will stop working now that the window is recreated, and will result in exceptions when the observers are removed. Break in QCocoaWindow::recreateWindowIfNeeded to debug.
1829.65 | E | gui.qt.main_window.[hw-wallet-jabe-testnet] | on_error
Traceback (most recent call last):
  File "serial/serialposix.py", line 621, in write
OSError: [Errno 6] Device not configured

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "electrum/gui/qt/util.py", line 1050, in run
  File "electrum/wallet.py", line 2556, in sign_transaction
  File "electrum/plugin.py", line 406, in wrapper
  File "electrum/plugin.py", line 399, in run_in_hwd_thread
  File "concurrent/futures/_base.py", line 458, in result
  File "concurrent/futures/_base.py", line 403, in __get_result
  File "concurrent/futures/thread.py", line 58, in run
  File "electrum/plugins/jade/jade.py", line 310, in sign_transaction
    signatures = client.sign_tx(txn_bytes, jade_inputs, change)
  File "electrum/plugin.py", line 406, in wrapper
  File "electrum/plugin.py", line 396, in run_in_hwd_thread
  File "electrum/plugins/jade/jade.py", line 197, in sign_tx
    self.authenticate()
  File "electrum/plugin.py", line 406, in wrapper
  File "electrum/plugin.py", line 396, in run_in_hwd_thread
  File "electrum/plugins/jade/jade.py", line 134, in authenticate
    authenticated = self.jade.auth_user(self._network(), http_request_fn=_http_request)
  File "electrum/plugins/jade/jadepy/jade.py", line 744, in auth_user
    return self._jadeRpc('auth_user', params,
  File "electrum/plugins/jade/jadepy/jade.py", line 325, in _jadeRpc
    reply = self.jade.make_rpc_call(request, long_timeout)
  File "electrum/plugins/jade/jadepy/jade.py", line 2087, in make_rpc_call
    self.write_request(request)
  File "electrum/plugins/jade/jadepy/jade.py", line 1964, in write_request
    written += self.write(msg[written:])
  File "electrum/plugins/jade/jadepy/jade.py", line 1948, in write
    wrote = self.impl.write(bytes_)
  File "electrum/plugins/jade/jadepy/jade_serial.py", line 78, in write
    return self.ser.write(bytes_)
  File "serial/serialposix.py", line 655, in write
serial.serialutil.SerialException: write failed: [Errno 6] Device not configured

Electrum version is 4.5.5 Jade hw have the latest firmware 1.0.30

evgeniy-emelyanchyk avatar Jul 24 '24 23:07 evgeniy-emelyanchyk

I can't reproduce this issue - was it resolved ?

JamieDriver avatar Sep 04 '24 16:09 JamieDriver

4.5.5 is still latest, and I can confirm I know (other) users experiencing this issue.

luke-jr avatar Sep 12 '24 07:09 luke-jr

I've tried to setup Jade+Electrum multisig 2/2 for BTC Testnet and it was setup without any problem, but when I tried to sign transaction I've got the error: [...]

  File "electrum/plugins/jade/jade.py", line 287, in sign_transaction
    multisig_name = _register_multisig_wallet(wallet, self, txout.address)
  File "electrum/plugins/jade/jade.py", line 64, in _register_multisig_wallet
    signers.append({'fingerprint': bytes.fromhex(fingerprint),
TypeError: fromhex() argument must be str, not None

If you go to menubar>Wallet>Information, and you click through the keystore radio buttons, it shows the "BIP32 root fingerprint" at the bottom. Is it "unknown" for that/any keystore?

SomberNight avatar Sep 13 '24 10:09 SomberNight

I can confirm I know (other) users experiencing this issue.

Which issue specifically? I mean, the two tracebacks in OP look unrelated. Also, I just tested wallet creation and tx signing across a bunch of platforms and configs, and did not see problems. Not sure how to narrow down the specifics, but more details to reproduce would be useful.

SomberNight avatar Sep 13 '24 11:09 SomberNight

From OP:

  File "electrum/plugins/jade/jade.py", line 64, in _register_multisig_wallet
    signers.append({'fingerprint': bytes.fromhex(fingerprint),
TypeError: fromhex() argument must be str, not None

It is normal for fingerprint to be None here, AFAIK

luke-jr avatar Nov 23 '24 18:11 luke-jr

might worth a check before 4.6.0 to see if not passing fingerprint, or passing None is suitable here

accumulator avatar Apr 05 '25 10:04 accumulator

Just tested with a recently flashed jade, could not reproduce the issue. ( flashed with firmware version 1.0.34 )

ecdsa avatar Apr 10 '25 09:04 ecdsa

closing this; I believe it is a firmware issue. will reopen if you tell me it occurs with recent firmware.

ecdsa avatar Apr 10 '25 14:04 ecdsa