-
Notifications
You must be signed in to change notification settings - Fork 860
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
Intermittent 400 Bad Request when sending a transaction #4212
Comments
Can you provide an example call please? A curl statement would be fine. |
I'm going to play go-between here. "Literally just send any transaction" ... I assume if you just send enough tx, do include those that call contracts, you'll see the issue. |
In response to the above situation, this happens to my program from time to time, but after I use the metamask wallet to send data once, my original program can work again. (my program works the same as metamask) |
I use 4G wireless module to post the eth_sendRawTransaction:this error {\n "jsonrpc" : "2.0",\n "id" : 60246,\n "error" : {\n "code" : -32602,\n "message" : "Invalid params"\n }\n} occured many times。 when error occured,I use metamask to send a Transaction using same wallet address,then the 4G wireless module can send data to besu with the same wallet address. |
Hi @samsondav we are taking a look at RPC issues this sprint. Are you able to provide any more context re the intermittency of this issue - anything unusual about how you're sending the transactions in general, or the ones that fail? We're also working on adding more info to the "invalid params" error logging so hopefully that may assist #4326 |
Don't have any more context, it seems completely random, but if you send enough tx you will see it. |
I am also seeing this behavior intermittently on our private 4 node QBFT network. We load test ~10,000 transactions of the same contract interaction type, and we see about 4 of these
We are running Besu |
This is still a blocker for Chainlink. We cannot use Besu because of this bug. To reproduce, send literally any transaction with a contract call and do it over and over again. Eventually you will hit this. |
@samsondav how are you sending the multiple transactions? I tried to reproduce with a simple get/set contract, sending set transaction repeatedly, incrementing the nonce and signing, sending via RPC batch request. Somewhere around 600-800 I hit the "Transaction nonce is too distant from current sender nonce" - which admittedly we only introduced more recently. |
Also - in #4510 we added more detail at DEBUG level for Invalid params. If you can turn logging up to debug (even just for jsonrpc) and send us the log - that would help us diagnose. |
so you would get a message with the invalid call eg |
please note with #4965 the default max batch size changes to 1, you can increase this using the CLI option if required. |
@macfarla - ok to close? |
@samsondav Could you try to reproduce it with the latest release that's coming out soon? V.23.1.0.? |
Same here. The problem we noticed is that is intermitent.. so its really hard to reproduce. It happens maybe 1 tx very 5000 txs. We cannot identify the root issue.. but sending the same exact transaction after it failed works, so the data itself doesnt looks like the issue. Example of a transaction that failed: NOTE: we updated from 22.4.2 into 22.7.7 when we started to obtain this errors randomly. |
Also seeing this same behavior on a private network, been seeing this for a while now.
We have been seeing these errors since 22.4.4. |
recent AT fail with invalid params - might be a clue https://app.circleci.com/pipelines/github/hyperledger/besu/22285/workflows/dad5b738-a624-4db5-8a90-1a7c8c304019/jobs/138045/tests - possibly related to exception handling, with invalid params used as default error typoe |
Closed as completed via #5506 (might not solve the initial problem, but will give more info about the cause of the errors). Curious to see any results on this load level with the new approach here. |
Further improved by #6143 |
We are seeing intermittent errors trying to send transactions on Besu (consensus client - teku). It only occurs on some RPC nodes and not all the time.
We are using
eth_sendRawTransaction
call.Occasionally, we see this response:
400 Bad Request: {\n \"jsonrpc\" : \"2.0\",\n \"id\" : 60246,\n \"error\" : {\n \"code\" : -32602,\n \"message\" : \"Invalid params\"\n }\n}
This is a blocker for us to run Chainlink on Besu. We need reliable transaction sending.
Could be related to this issue? #2251
The text was updated successfully, but these errors were encountered: