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

Variable number of transactions received before returning "Transaction nonce is too distant from current sender nonce" error #4835

Closed
francescomiliani opened this issue Dec 16, 2022 · 1 comment

Comments

@francescomiliani
Copy link

Description

We are performing a performance test on Besu 22.10.2, IBFT2 consensus protocol, on a private network, gas price free, with 4 validators, 4 nodes, block time 2 sec.

By sending a burst of transactions to the node, from the same wallet, increasing the nonce by tx, we get the error "Transaction nonce is too distant from current sender nonce" for all transactions greater than 5 pending not yet mined (i.e., from 0 to 4, are received correctly by the node and managed, the others are immediately discarded with the previous error message).

Our question would be: is it possible to change this parameter (this value before the discard, currently equal to 5), and if so, how?

Acceptance Criteria

  • Variable number of transactions received before returning "Transaction nonce is too distant from current sender nonce" error

Steps to Reproduce (Bug)

  1. Start 4 validators, ibft 2 consensus protocol, gas price 0
  2. Start 4 nodes, ibft 2 consensus protocol, gas price 0
  3. Send 10 000 TXs to a node, non-validator, same wallet, varying the nonce in an increasing way: 0, 1, 2, ...
  4. Check the answers

Expected behavior:
Receipt of all txs without errors, or, be able to modify this parameter in the configuration

Actual behavior:
Returns "Transaction nonce is too distant from current sender nonce" after 5th tx from same wallet

Frequency:
Every time we perform this kind of test

Versions

  • Software version: 22.10.2

  • Java version:
    java version "17.0.5" 2022-10-18 LTS
    Java(TM) SE Runtime Environment (build 17.0.5+9-LTS-191)
    Java HotSpot(TM) 64-Bit Server VM (build 17.0.5+9-LTS-191, mixed mode, sharing)

  • OS Name & Version:
    NAME="Red Hat Enterprise Linux Server"
    VERSION="7.6 (Maipo)"
    ID="rhel"
    ID_LIKE="fedora"
    VARIANT="Server"
    VARIANT_ID="server"
    VERSION_ID="7.6"
    PRETTY_NAME="Red Hat Enterprise Linux Server 7.6 (Maipo)"
    ANSI_COLOR="0;31"
    CPE_NAME="cpe:/o:redhat:enterprise_linux:7.6:GA:server"
    HOME_URL="https://www.redhat.com/"
    BUG_REPORT_URL="https://bugzilla.redhat.com/"

REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 7"
REDHAT_BUGZILLA_PRODUCT_VERSION=7.6
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="7.6"
Red Hat Enterprise Linux Server release 7.6 (Maipo)
Red Hat Enterprise Linux Server release 7.6 (Maipo)

  • Kernel Version: Linux ethsv-ethval-p001 3.10.0-957.el7.x86_64 Update Jenkins Build for Pantheon → Besu considerations #1 SMP Thu Oct 4 20:48:51 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
  • Virtual Machine software & version: [vmware -v]
  • Docker Version:
    Client:
    Version: 1.13.1
    API version: 1.26
    Package version: docker-1.13.1-96.gitb2f74b2.el7.x86_64
    Go version: go1.10.8
    Git commit: b2f74b2/1.13.1
    Built: Tue Apr 2 21:01:07 2019
    OS/Arch: linux/amd64

Server:
Version: 1.13.1
API version: 1.26 (minimum version 1.12)
Package version: docker-1.13.1-96.gitb2f74b2.el7.x86_64
Go version: go1.10.8
Git commit: b2f74b2/1.13.1
Built: Tue Apr 2 21:01:07 2019
OS/Arch: linux/amd64
Experimental: false

  • Cloud VM, type, size: N/A

Smart contract information: N/A

Additional Information (Add any of the following or anything else that may be relevant)

  • Besu setup info - genesis file, config options
    {
    "config": {
    "chainId": 1111,
    "constantinopleFixBlock": 0,
    "ibft2": {
    "blockperiodseconds": 2,
    "epochlength": 30000,
    "requesttimeoutseconds": 8
    },
    "contractSizeLimit": 2147483647
    },
    "nonce": "0x0",
    "timestamp": "0x58ee40ba",
    "extraData": "f853a00000000000000000000000000000000000000000000000000000000000000000ea94fe3b557e8fb62b89f4916b721be55ceb828dbd7394627306090abab3a6e1400e9345bc60c78a8bef57808400000000c0",
    "gasLimit": "0x1fffffffffffff",
    "difficulty": "0x1",
    "mixHash": "0x63746963616c2062797a616e74696e65206661756c7420746f6c6572616e6365",
    "coinbase": "0x0000000000000000000000000000000000000000"
    }

  • System info - memory, CPU

memory:
RANGE SIZE STATE REMOVABLE BLOCK
0x0000000000000000-0x00000000bfffffff 3G online no 0-23
0x0000000100000000-0x000000013fffffff 1G online no 32-39

Memory block size: 128M
Total online memory: 4G
Total offline memory: 0B

cpu:

Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 8
On-line CPU(s) list: 0-7
Thread(s) per core: 1
Core(s) per socket: 1
Socket(s): 8
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 63
Model name: Intel(R) Xeon(R) Gold 6152 CPU @ 2.10GHz
Stepping: 0
CPU MHz: 2095.077
BogoMIPS: 4190.15
Hypervisor vendor: VMware
Virtualization type: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 1024K
L3 cache: 30976K
NUMA node0 CPU(s): 0-7

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

1 participant