I assume both of the Electrum clients are on the same version?
It's hard to tell which part of Electrum is throwing that error and what is causing it. Could you go to Tools>Preferences and check "Write Logs to File". Afterwards, restart it and do the same QR code signing again. When it throws an exception, go to your data directory (usually %appdata%/Electrum for Windows) and go into the Log folder. Open the log file with the latest edit and check the contents for the exception. There should be certain files and lines referenced. Omit all the sensitive information (shouldn't be too much) and share only the specific part.
I can't replicate your error no matter how many times I've tried.
Yes, both clients are 4.1.2. But I also tried both with an older version 4.x.x before updating in an attempt to fix this error.
20210429T072254.005389Z | INFO | plugin.DeviceMgr | getting client for keystore
20210429T072254.005389Z | INFO | plugin.DeviceMgr | scanning devices...
20210429T072254.061315Z | DEBUG | util.profiler | DeviceMgr.scan_devices 0.0559
20210429T072254.061315Z | INFO | plugin.DeviceMgr | end client for keystore
20210429T072254.092567Z | INFO | plugin.DeviceMgr | getting client for keystore
20210429T072254.092567Z | INFO | plugin.DeviceMgr | scanning devices...
20210429T072254.155052Z | DEBUG | util.profiler | DeviceMgr.scan_devices 0.0625
20210429T072254.155052Z | INFO | plugin.DeviceMgr | end client for keystore
20210429T072254.155052Z | INFO | plugin.DeviceMgr | getting client for keystore
20210429T072254.155052Z | INFO | plugin.DeviceMgr | scanning devices...
20210429T072254.204624Z | DEBUG | util.profiler | DeviceMgr.scan_devices 0.0496
20210429T072254.204624Z | INFO | plugin.DeviceMgr | end client for keystore
20210429T072254.204624Z | ERROR | plugins.ledger.ledger.Ledger_KeyStore |
Traceback (most recent call last):
File "C:\Program Files (x86)\Electrum\electrum\plugins\ledger\ledger.py", line 459, in sign_transaction
txtmp = bitcoinTransaction(bfh(utxo[0]))
TypeError: fromhex() argument must be str, not None
20210429T072254.204624Z | INFO | plugins.ledger.ledger | fromhex() argument must be str, not None
I probably should have added that I'm using a Nano S to sign the transaction, but I didn't think it relevant, because it works when the transaction is transferred via USB and signed with the Nano S on this offline device, but not via QR.
Google of that error message (txtmp = bitcoinTransaction(bfh(utxo[0]))) takes me here: (
https://github.com/spesmilo/electrum/issues/3302 ) which looks like it was fixed for segwit transactions (and hence it works for my situation when transferring via file and USB) but doesn't explain why it won't work when transferring via QR. Is less information transferred (even when using Export -> For hardware device, include Xpubs -> Show as QR) when using QR Code?
The transaction is a nested segwit transaction.