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

RuntimeError('FirmwareError: firmware error') when trying to sign a simple transaction #3

Closed
hakonamatata opened this issue May 2, 2021 · 9 comments
Assignees

Comments

@hakonamatata
Copy link

Posted this in the Trezor Issue tracker, and they found an error in the code here:

return "Zcoin Testnet" if constants.net.TESTNET else "Zcoin"

Original post: trezor/trezor-firmware#1588

I am starting to get a bit worried. I can not sign transactions and spend/send. I have tried one input to one output. One input to an output and a change address. Basic transactions. Nothing works, I get this firmware error every time.

Firmware version and revision

Using Trezor model T

Firmware version
2.3.6

Desktop/smartphone setup (please complete the following information):
Tried using Trezor Suite and Electrum, same issue. Does not matter what wallet I use.

To Reproduce
Any transaction with Firo it seems. Fails with Firmware error every time.

Screenshots
image

Additional context
I am using Firo https://www.firo.org/

All my coins are locked with Trezor, but if I can't spend that is a big problem.

@a-bezrukov
Copy link

Are you using a custom firmware?
Zcoin was rebranded to Firo on March 25 trezor/trezor-firmware#1544 (comment)
The latest firmwares for Trezor are dated 15 February 2021 (Model T) and 10 February 2021 (Trezor One). So, this change should not be in the firmwares yet.

@hakonamatata
Copy link
Author

Are you using a custom firmware?
Zcoin was rebranded to Firo on March 25 trezor/trezor-firmware#1544 (comment)
The latest firmwares for Trezor are dated 15 February 2021 (Model T) and 10 February 2021 (Trezor One). So, this change should not be in the firmwares yet.

Using the standard hardware. Do you know when these new changed will be added to a new firmware release?

@a-bezrukov
Copy link

I think with the new firmware release. I am waiting for a new firmware release to change it here (quite the same as your PR does)... My Trezor One works fine with the latest firmware and coin=Zcoin. I am moving on with investigating the issue. In the meanwhile, you can spend your coins, recreating a software wallet from the seed phrase as described here: firoorg/electrum-firo-archived#21 (comment)

@a-bezrukov a-bezrukov self-assigned this May 3, 2021
@a-bezrukov
Copy link

@hakonamatata,
Could you run your electrum-firo with Trezor again, but this time please specify -vdebug flag for electrum-firo to produce a verbose debug output. Please post the relevant portion of logs right before the error happens.

@hakonamatata
Copy link
Author

@hakonamatata,
Could you run your electrum-firo with Trezor again, but this time please specify -vdebug flag for electrum-firo to produce a verbose debug output. Please post the relevant portion of logs right before the error happens.

20210504T100514.385790Z |     INFO | network | fee_histogram []
20210504T100514.914843Z |     INFO | network | fee_estimates {25: 11456, 10: 11456, 5: 11456, 2: 11456}
20210504T100516.129137Z |     INFO | network | fee_estimates {25: 11456, 10: 11456, 5: 11456, 2: 11456}
20210504T100516.211297Z |     INFO | network | fee_estimates {25: 11456, 10: 11456, 5: 11456, 2: 11456}
20210504T100517.148671Z |     INFO | network | fee_estimates {25: 11456, 10: 11456, 5: 11456, 2: 11456}
20210504T100528.627519Z |     INFO | plugin.DeviceMgr | getting client for keystore
20210504T100528.627519Z |     INFO | plugin.DeviceMgr | scanning devices...
20210504T100529.226918Z |    DEBUG | util.profiler | DeviceMgr.scan_devices 0.5994
20210504T100529.226918Z |     INFO | plugin.DeviceMgr | end client for keystore
20210504T100529.391844Z |     INFO | plugin.DeviceMgr | getting client for keystore
20210504T100529.392837Z |     INFO | plugin.DeviceMgr | scanning devices...
20210504T100530.006084Z |    DEBUG | util.profiler | DeviceMgr.scan_devices 0.6132
20210504T100530.007076Z |     INFO | plugin.DeviceMgr | end client for keystore
20210504T100543.984048Z |    ERROR | gui.qt.main_window.[default_wallet] | on_error
Traceback (most recent call last):
  File "electrum_firo\plugins\trezor\clientbase.py", line 257, in sign_tx
  File "trezorlib\tools.py", line 231, in wrapped_f
  File "trezorlib\btc.py", line 248, in sign_tx
  File "trezorlib\tools.py", line 231, in wrapped_f
  File "trezorlib\client.py", line 223, in call
trezorlib.exceptions.TrezorFailure: FirmwareError: Firmware error

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "electrum_firo\gui\qt\util.py", line 848, in run
  File "electrum_firo\wallet.py", line 1446, in sign_transaction
  File "electrum_firo\plugins\trezor\trezor.py", line 96, in sign_transaction
  File "electrum_firo\plugin.py", line 362, in wrapper
  File "electrum_firo\plugin.py", line 355, in run_in_hwd_thread
  File "concurrent\futures\_base.py", line 435, in result
  File "concurrent\futures\_base.py", line 384, in __get_result
  File "concurrent\futures\thread.py", line 57, in run
  File "electrum_firo\plugins\trezor\trezor.py", line 342, in sign_transaction
  File "electrum_firo\plugin.py", line 362, in wrapper
  File "electrum_firo\plugin.py", line 352, in run_in_hwd_thread
  File "electrum_firo\plugins\trezor\clientbase.py", line 257, in sign_tx
  File "electrum_firo\plugins\trezor\clientbase.py", line 85, in __exit__
RuntimeError: FirmwareError: Firmware error

@matejcik
Copy link

matejcik commented May 4, 2021

from @hakonamatata:

Got another error message trying to send now:

Failed to send transaction
Error details: Failed to decode message: memory allocation failed, allocating 13854 bytes

why is Firo Electrum sending 13-kilobyte messages to sign a 226-byte tx?

@a-bezrukov
Copy link

@hakonamatata , are you spending a Lelantus output?

@hakonamatata
Copy link
Author

@hakonamatata , are you spending a Lelantus output?

If I take this input https://explorer.zcoin.io/address/a9CG27PviynRVdnLCDiyzZD4GJdMovuHGN

and try to spend, I get the same firmware error. If that is what you are asking.

But, I have tried to spend different inputs, always get the same error.

prusnak added a commit to trezor/trezor-firmware that referenced this issue May 6, 2021
using Firo leads to unspendable coins, let's remove this coin
until we can spend the coins again

context:
- #1588
- firoorg/electrum-firo#3
@justanwar
Copy link
Member

Fixed in #8 and trezor/trezor-firmware/pull/1773

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants