finally, here are some further and more consolidated infos of my testing results of 1.7.3 (the major bugs
Here are some 1.7.3 specific bug reports (I have to revert back to 1.7.2 because there are too many regressions in 1.7.3):
I want to share some test results: I discovered the following bugs up to now, all are specific to 1.7.3 (i.e. works flawlessly in 1.7.2):
(1) In the default GUI, when using the new account selector in the "receive" tab, the "Addresses" column collapses in width to a very narrow width - I have to drag the column width back to normal width with the mouse. 100% reproducible.
I have that bug too, but I cannot trigger in in a reproducible way.
I think it has been there for a long time, and it is not correlated with the account selector as far as I can see.
it has been introduced with the column widths.
Well, if I start up the default GUI a few times, it happens quite soon. Both on Ubuntu 10.04 (Python 2.6.5) and Ubuntu 12.04 (Phython 2.7.3), but I have to correct myself, it is not 100% immediately reproducible. Typically I click the tabs back end forth a few times, then click the "Receive" tab, then when clicking the account selector back and forth a few times, it suddenly happens ("happens" means that the address column becomes very narrow and I have to re-adjust it manually). If it happens once, then it happens again 100% whenever I use the account selector. When I close the GUI and restart it, the error may be there again (most cases), or it is just gone...
(2) Command line "electrum mktx": When i have "use change address" activated in the GUI (and then close the GUI to memorize the new setting, and then make the command line "mktx"), my change is still going to another address, not to one of my change addresses (I did not check if it also happens when initiating the transactions from the GUI). Again only in 1.7.3. In 1.7.2 it works as expected.
are you sure?
recent versions of Electrum sometimes reuse the same change addresse several times, until the previous transactions at the address have 3 confirmations.
this is in order to avoid the creation of gaps in the sequence of change addresses, during blockchain forks.
100% sure now! On my Offline PC I made a wallet as follows: gap limit=5=default, and 6 imported private keys. One of the imported keys has a balance of ca. 0.39 BTC, all the other addresses have never been used. What I do is this:
1.) I deseed the wallet on the Offline PC and import it into my Online PC. The wallet name in both PCs is not the default one but an own one using the "-w" option.
Note: I have NOT prioritized or frozen any addresses.
2.) Then, on the Online PC, I create the following unsigned transaction: I transfer 0.1 BTC to the 3rd of my own deterministic addresses of my wallet (I don't know if this is important, I assume it would be the same outcome if I used a foreign address, just mentioning this in case it might be relevant...). tx_fee=default=0.0002 BTC.
The command is essentially this one (using bash syntax):electrum mktx -w $walletfile $targetaddress $amount > $outputfile
2.a,b,c,d) I do the step 2 above four times:
a) With electrum 1.7.3, after having set "use change address=no" in the GUI and having closed the GUI.
b) With electrum 1.7.2, after having set "use change address=no" in the GUI and having closed the GUI.
c) With electrum 1.7.3, after having set "use change address=yes" in the GUI and having closed the GUI.
d) With electrum 1.7.2, after having set "use change address=yes" in the GUI and having closed the GUI.
The operations (a), (b), and (d) are correct. However, for (c) the result is the same as for (a) and (b), i.e. the change is sent back to the sending address and is not, like in (d) sent to the 1st change addresses of my wallet.Update
: I also checked what happens when I generate the unsigned transaction file via the GUI: Outcome: The bug of 1.7.3 is exactly the same!!! So it is not something specific to the command line mode.
Here are further bugs:(5)
(Both in 1.7.2 and 1.7.3) In the settings, the pulldown menu for choice of the fiat currency is often not usable, the pull-down menu is just missing, it just displays "None", and I cannot select any currency, the list is just not showing up. Sometimes it helps clicking the tabs back and forth and trying again opening the settings window. Sometimes it helps closing the GUI and starting again. After many such tries eventually I succeed in setting the fiat currency.(6)
Only version 1.7.3 (works perfectly in 1.7.2) - another MAJOR
bug: Creation of a new wallet via the command line fails!
Command: electrum -w /home/michael/Dokumente/testbla.dat create
Here is the error message:
michael@michaels-EeePC:~/Dokumente/client_Electrum$ electrum -w /home/michael/Dokumente/testbla.dat createUpdate
Password (hit return if you do not wish to encrypt your wallet):
protocol [t=tcp;h=http;n=native] (default:s):
gap limit (default 5):
Traceback (most recent call last):
File "/usr/local/bin/electrum", line 272, in <module>
wallet.synchronize() # there is no wallet thread
File "/usr/local/lib/python2.7/dist-packages/electrum/wallet.py", line 394, in synchronize
new += self.synchronize_account(account)
File "/usr/local/lib/python2.7/dist-packages/electrum/wallet.py", line 387, in synchronize_account
new += self.synchronize_sequence(account, 0)
File "/usr/local/lib/python2.7/dist-packages/electrum/wallet.py", line 376, in synchronize_sequence
new_addresses.append( self.create_new_address(account, for_change) )
File "/usr/local/lib/python2.7/dist-packages/electrum/wallet.py", line 298, in create_new_address
address = self.get_new_address( account, for_change, n)
File "/usr/local/lib/python2.7/dist-packages/electrum/wallet.py", line 306, in get_new_address
return self.sequences[account].get_address((for_change, n))
File "/usr/local/lib/python2.7/dist-packages/electrum/bitcoin.py", line 443, in get_address
pubkey = self.get_pubkey(sequence)
File "/usr/local/lib/python2.7/dist-packages/electrum/bitcoin.py", line 459, in get_pubkey
z = self.get_sequence(sequence, mpk)
File "/usr/local/lib/python2.7/dist-packages/electrum/bitcoin.py", line 439, in get_sequence
return string_to_number( Hash( "%d:%d:"%(n,for_change) + mpk.decode('hex') ) )
AttributeError: 'NoneType' object has no attribute 'decode'
: The simpler command electrum create
fails as well with v.1.7.3.
PS: all the bugs occur with both Python 2.6.5 (ubuntu 10.04) and 2.7.3 (ubuntu 12.04)