Go-ethereum: Some transactions keep being pending on rinkeby

Created on 26 Jun 2017  Â·  32Comments  Â·  Source: ethereum/go-ethereum

I currently have a problem with rinkeby. Sometimes transactions keep stuck in pending state and never make it to the chain. Also replacing them with others and increasing gas-price does not help.
I was talking shortly with @karalabe on gitter about it and there seems to be a correlation with the hot-fix
for accepting 1wei txs

Péter Szilágyi @karalabe Jun. 23 17:16
there was a bug in the miners that made them accept 1 wei txs until now, fixed it today :stuck_out_tongue:

ligi @ligi Jun. 23 17:17
hm that might be the reason then - will investigate :wink:
and the rinkeby miners updated today?

Péter Szilágyi @karalabe Jun. 23 17:18
yup, 2 hours ago
I pushed out 1.6.6 stable into them

ligi @ligi Jun. 23 17:19
yea I think this is the point ERC-20 transfers stopped for me :wink:

Péter Szilágyi @karalabe Jun. 23 17:20
sry :grinning:

ligi @ligi Jun. 23 17:20
was also wondering because my chain-watcher does not see any other ERC-20 transfers currently
no worries - just wondering :wink:

Péter Szilágyi @karalabe Jun. 23 17:20
someone was abusing this bug btw, spamming with 1 wei txs
hence why I needed to fix asap

some more testing over the weekend: It does not only affect ERC-20 transfers - also normal ETH value transfers. It mainly happens with my main-account 0xfdf1210fc262c73d0436236a0e07be419babbbc4

https://rinkeby.etherscan.io/address/0xfdf1210fc262c73d0436236a0e07be419babbbc4

example for a stuck tx: https://rinkeby.etherscan.io/tx/0x7e3ffc00244eee6526c2cda98e5f098092c9a7fd088cfecdd1fa164c423052ca

Most helpful comment

You have nonce 1 of your account blocked with a 20 wei gasprice
transaction. You need to replace that with a high eniugh one for miners to
process.

On Nov 20, 2017 22:48, "snollidea" notifications@github.com wrote:

Hi all! I have same problem. My tx more then 2 hours in pending state. But
every 12-15 min tx time does down to zero.
https://rinkeby.etherscan.io/tx/0xd8987cc412f8c2be0a45ad6ad497
02235dcd2a540175a63541e143e71cc02d53

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ethereum/go-ethereum/issues/14708#issuecomment-345826596,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAH6GagogaRm6XAe1rieKgw81GaT9j4Bks5s4eWmgaJpZM4OFNdU
.

All 32 comments

On one of my full nodes on Rinkeby, the txpool contains

    0xfdf1210fc262c73d0436236a0e07be419babbbc4: {
      121: "0x0a057a87ce9c56d7e336b417c79cf30e8d27860b: 0 wei + 73000 × 2000000000 gas",
      122: "0xe89889f3cf1e02dc6a5f61892444f20513008659: 334000000000000000 wei + 121000 × 222000000000 gas"
    }

Which would explain why it's not included. I'm wondering though why your higher priced replacement tx didn't propagate to the node. Will need to look into this closer.

thanks!

Can you get me a raw RLP of that transaction?

The odd aspect is that none of the other nodes see your transaction either, it only appears on Etherscan.

Unfortunately I did not save the RLP of this particular transaction. I could craft a new replacement-transaction and send you the RLP of this one if you want. It might be that I only relayed this transaction to etherscan - because I am testing other stuff currently and things are just faster when I do not start the light-client - but etherscan should still propagate them - had no issue with this method before. But I would do everything to get to the bottom of this problem ;-)

Please send me an RLP here without broadcasting. Let me see what happens if I push it via my node.

0xf86c798509d350e60082520894e89889f3cf1e02dc6a5f61892444f205130086598805d7b144fa708000801ba01e7f6c7962cef13b3c449a57d6e6f92dc4b99ea065f558e14b8c71269e7d82a3a053853ba86ffd29339419a070b349b69923bba8aee357aeb4e4c51cb83ae2fc1c

Ok, trying to push that into Etherscan gives me {"jsonrpc":"2.0","id":1,"error":{"code":-32000,"message":"replacement transaction underpriced"}}, which should be expected, since you gave me one with 4.2 gwei.

My local node accepted it and now I see the higher gas limit as peding, but it's still below the 10gwei needed for mining :P Can I haz one that it above 10 gwei please?

Ah wait, it was 44, and it was indeed added to the chain.

This might actually be a bug in etherscan. If you look at your account, https://rinkeby.etherscan.io/address/0xfdf1210fc262c73d0436236a0e07be419babbbc4, it still shows nonce 121 as pending, even though there is a valid transaction with nonce 121 and also 122 already imported. Perhaps that original 121 got stuck in some etherscan pipeline. Any ideas @mtbitcoin ?

@mtbitcoin What version of Geth is your rinkeby explorer running? Could you send me a dump of txpool.inspect from it?

yea the gas-price was 42,2 gwei and I see the transaction now - hm so the problem seems to be on etherscans side? Still odd - because this was working perfectly before and I got these problems after the change to the miners. But could also mistake correlation for causation here ..-)
Thanks for looking into this anyway!

Previously there was no notion with replacement transactions because everything was accepted and mined.

@karalabe was running one version late. Just updated to the latest. Here is the dump fro txpool.inspect https://gist.github.com/mtbitcoin/e753b4f6afbe4b8f6a8f623be71998af

@ligi Could you keep playing with this setup and see if it happens again?

@mtbitcoin Any change or surfacing the eth_getRawTransaction API call (or making it possible to retrieve the raw transaction dump from the explorer)?

@karalabe sure thing - doing some test-runs currently

@karalabe Can you elaborate on "Any change or surfacing the eth_getRawTransaction API call" ?

**chanCe oF

@mtbitcoin Sure. So you currently have https://rinkeby.etherscan.io/api?module=proxy&action=eth_sendRawTransaction&hex=0xf904808000831cfde080&apikey=YourApiKeyToken, where I can submit a raw transaction, and I was wondering if you could provide a similar endpoint for eth_getRawTransaction where I could get the raw form from etherscan.

Currently for some reason only etherscan saw this pending transaction and I would have liked to resubmit it from my node, but there was no way for me to retrieve the raw RLP of the transaction from your website.

seems to work fine so far! Just had a short moment where I thought replacing transactions might still be a problem - but it just seems that even 10gwei does not get mined - increasing it to 20gwei helped. Thanks @karalabe & @mtbitcoin for the really fast reaction - you rock! From my side this issue can be closed - will do some more testing - but I think the update of geth on etherscan solved the problem - thanks so much!!

@karalabe {"jsonrpc":"2.0","id":1,"error":{"code":-32601,"message":"The method eth_getRawTransaction does not exist/is not available"}}

@mtbitcoin Seems to work for me > eth.getRawTransaction("0xda340a4fd46a21b40c1da5e1292e28d0aa9fc387487be99b79aa12076925a16b") "0xf8ac8203388504a817c800830105ab94aec9ecdafaf2404f824b4b7087e9e4f90c77d08280b844799cd333623664633265663766323230343666353739383666646235333161643332343130626666306265396330343164616634343530613061646430653037393764362ca06ae43876cc17ee31a51291ef92de58e4792f70dee8793f7548fa1befbba0cf31a0530348dc332f105ae8a4fb291bc689245d1cdb9b3ee625828d820ce4bd5b7a80"

@ligi I think only one miner mines 10gwei, so it takes some time.

closing this issue as the update of etherscan to the latest geth version seems to have fixed this problem

Good day all! Have the same problem (more then 5 hours in pending state)
https://rinkeby.etherscan.io/tx/0x8ea419741a5f7b31b54564d1989affce88209f894866c23f0b85eac7b01c47ce

@reddec Could you please send me the raw transaction data so I could inspect it?

You should be ale to retrieve it from your own node via eth_getRawTransaction("0xc585b7aba4016613d78f96b5add29294aeeb44452116ae9bf1b6c14e38ae477b")

Ah, found the error. The gas price you specified for the blocked transaction is 0.21 gwei (all other txs you made are 21 gwei). The minimum a Rinkeby miner currently accepts is 1 gwei.

@karalabe Thanks! Sorry

Hi all! I have same problem. My tx more then 2 hours in pending state. But every 12-15 min tx time does down to zero.
https://rinkeby.etherscan.io/tx/0xd8987cc412f8c2be0a45ad6ad49702235dcd2a540175a63541e143e71cc02d53

You have nonce 1 of your account blocked with a 20 wei gasprice
transaction. You need to replace that with a high eniugh one for miners to
process.

On Nov 20, 2017 22:48, "snollidea" notifications@github.com wrote:

Hi all! I have same problem. My tx more then 2 hours in pending state. But
every 12-15 min tx time does down to zero.
https://rinkeby.etherscan.io/tx/0xd8987cc412f8c2be0a45ad6ad497
02235dcd2a540175a63541e143e71cc02d53

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ethereum/go-ethereum/issues/14708#issuecomment-345826596,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAH6GagogaRm6XAe1rieKgw81GaT9j4Bks5s4eWmgaJpZM4OFNdU
.

@karalabe Thank you!

@karalabe does gas price affect txn speed or is it first come first serve on Rinkeby? If there's documentation that discusses details, would love to see it.

The same rules apply as on mainnet.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ysqi picture ysqi  Â·  3Comments

tymat picture tymat  Â·  3Comments

carver picture carver  Â·  3Comments

JMaxU picture JMaxU  Â·  3Comments

VoR0220 picture VoR0220  Â·  3Comments