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

Electrum crash and double spending #1543

Closed
vgam7 opened this issue Nov 6, 2015 · 6 comments
Closed

Electrum crash and double spending #1543

vgam7 opened this issue Nov 6, 2015 · 6 comments

Comments

@vgam7
Copy link

vgam7 commented Nov 6, 2015

Hi,
I'm using electrum version 2.1.1 on Gentoo. Today I was trying to send 0.13 BTC to somebody. First time, I've changed my mind on the middle of transaction - I have the option to show transaction details before broadcast. So I thought the transaction will not be actualized until I press "Broadcast" button. So I did not press it, I've just closed the dialog with the info. As I said, I was sure that the transaction wasn't made, so I did it again (to another address already), and this time I did click "Broadcast" button.

Now, when I look at this transaction on Blockchain site, it warns that it was double spent and shows ~0.27 instead of ~0.13 BTC.
Moreover, I can't start up the electrum app anymore - it crashes. The error as follows:

Traceback (most recent call last):
File "/usr/lib/python-exec/python2.7/electrum", line 254, in
gui.main(url)
File "/usr/lib64/python2.7/site-packages/electrum_gui/qt/init.py", line 224, in main
w.load_wallet(wallet)
File "/usr/lib64/python2.7/site-packages/electrum_gui/qt/main_window.py", line 216, in load_wallet
self.update_history_tab()
File "/usr/lib64/python2.7/site-packages/electrum_gui/qt/main_window.py", line 580, in update_history_tab
h = self.wallet.get_history(domain)
File "/usr/lib64/python2.7/site-packages/electrum/wallet.py", line 743, in get_history
c, u = self.get_balance(domain)
File "/usr/lib64/python2.7/site-packages/electrum/wallet.py", line 572, in get_balance
c, u = self.get_addr_balance(addr)
File "/usr/lib64/python2.7/site-packages/electrum/wallet.py", line 487, in get_addr_balance
coins = self.get_addr_utxo(address)
File "/usr/lib64/python2.7/site-packages/electrum/wallet.py", line 472, in get_addr_utxo
coins.pop(txi)
KeyError: u'[xxxxxxxxxxx]:1'

@ecdsa
Copy link
Member

ecdsa commented Nov 6, 2015

please upgrade to latest version, and report if that fixes it

@vgam7
Copy link
Author

vgam7 commented Nov 6, 2015

Latest version works fine, thanks. But can you explain what exactly happened? Why the transaction appears as "double spend"?

BTW, the 'history' tab shows that there was only one 0.13 BTC sending. Why Blockchain says 0.27 and double spend?

@ecdsa
Copy link
Member

ecdsa commented Nov 6, 2015

electrum versions lower than 2.5.1 create transactions with high-S values (google malleability)

@ecdsa ecdsa closed this as completed Nov 6, 2015
@vgam7
Copy link
Author

vgam7 commented Nov 6, 2015

OK, thank you. So, just to be sure - is there indeed was sending double amount or just 0.13 BTC was sent as supposed to be? Who is right - blockchain, which say "0.27", or electrum, which say "0.13"?

@kyuupichan
Copy link
Contributor

Blockchain is counting the "malleated" and original transactions, both of which exist but of which only one can be confirmed. So both are right, depending on how you want to look at it, but the maximum capable of being spent is just 0.13.

@vgam7
Copy link
Author

vgam7 commented Nov 7, 2015

Thank you, Neil!

Toporin pushed a commit to Toporin/electrum-satochip that referenced this issue Sep 25, 2019
Fonts: Use UNIX line endings for fonts.xml
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

3 participants