Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
Transactions stuck in pending queue, gasPrice = 0 #1
The GUI wallet estimates the gas price and successfully sends coins from one account to another.
Sometimes when trying to send coins from the GUI wallet, the wallet shows the gas price as 0, and after pressing send, the transaction does not go through (it is never processed). Also, any transactions attempted subsequently to the failed GUI wallet transaction, with gas price correctly set, do not go through as they are stuck in the pending transaction queue.
Checking the list of pending transactions from the console (eth.pendingTransactions) confirms that the transaction is sitting there and not being processed by the network. The 'gas' value is 121000 which is correct, however the 'gasPrice' value is 0, which is incorrect. Calling eth.gasPrice returns a value of 2000000 which is extremely low, due to the very low volume of transactions on the network at present (mostly just mining pool payouts). It appears that extremely low gas price values result in the original Mist code setting gasPrice to 0, creating an invalid transaction.
Fix by the developer - GUI wallet code has been updated as follows:
Artificially set the gasPrice field in the transaction to a typical minimum value (4000000000) if the actual price is being detected as 0 by web3.eth.getGasPrice (sendTransactionConfirmation.js).
Fix for affected users to remove pending transactions to allow new transactions to go through:
As nobody has reported this issue, it is possible that nobody has been affected. Here is a fix anyway in case somebody doesn't upgrade their wallet and has a problem in future.
This is a quick and dirty fix. If any coins have been sent from your account to a third party and got stuck in pending transactions, it may be safer to create a new personal account and transfer all your coins from your old account into this new one in case for some reason the transaction goes through unexpectedly days / weeks in the future (it shouldn't happen).
Note: Steps 2 to 5 are only necessary if you have had the problem above. If not, just backup your keystore, delete the old GUI wallet (version 0.0.3), and install the new one.
Default data directory locations are as follows (these hold the keystore and transactions.rlp file):