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

eth_getTransactionByHash reports own confirmed transaction as not included in the block #7251

Open
gituser opened this issue Jul 8, 2024 · 2 comments
Assignees

Comments

@gituser
Copy link

gituser commented Jul 8, 2024

Description
When sending many transactions via eth_sendRawTransaction sometimes there is a bug, when certain transaction gets included in the block, but if you query this particular transaction by using eth_getTransactionByHash you will get:

blockHash       : null
blockNumber     : null
transactionIndex: null

If you try to get this transaction from the block by using eth_getBlockbyHash it will be there, also it will report as included in certain block if you use eth_getTransactionReceipt method.

Steps to Reproduce
In order to replicate the behavior, please provide a detailed list of steps:

  1. Send many transactions from the same address at the same time by using eth_sendRawTransaction
  2. Observe that some of the transactions are not included in the block according to eth_getTransactionByHash RPC call.

Actual behavior
eth_getTransaction reports confirmed transaction that it has:

blockHash       : null
blockNumber     : null
transactionIndex: null

Expected behavior
eth_getTransactionByHash should report correct status of the transaction if it was included in the block.

Desktop (please complete the following information):
Please provide the following information regarding your setup:

  • Operating System: Linux
  • Version: latest version v1.27.0, also old versions, e.g. v1.25.4 is affected too
  • Installation Method: built from source
  • Consensus Client: Lighthouse v5.2.1

Additional Context
This issue only happens to your own transactions sent out by using eth_sendRawTransaction.
if I switch my node to another Nethermind mode, this particular transaction has correct blockNumber, blockHash if I query it via eth_getTransactionByHash.

If you restart Nethermind eth_getTransactionByHash reports correct information for that transaction about block and transactionIndex.

Logs
I've checked logs nothing interesting there regarding this particular transaction.

@rjnrohit
Copy link
Contributor

Looking into now!

@gituser gituser changed the title eth_sendTransaction reports own confirmed transaction as not included in the block eth_getTransactionByHash reports own confirmed transaction as not included in the block Jul 23, 2024
@LukaszRozmej
Copy link
Member

@marcindsobczak So the root cause looks like local transaction isn't being deleted from tx pool after block inclusion

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

4 participants