Consensys / linea-tracer

Part of the Linea stack responsible for extracting data from the execution of an EVM client in order to construct large matrices called execution traces.
https://linea.build
Other
35 stars 22 forks source link

new instance of `CountOnlyModule` doesn't create new `CountOnlyOperation` #1119

Closed letypequividelespoubelles closed 1 month ago

letypequividelespoubelles commented 1 month ago

spotted by @fab-10

fab-10 commented 1 month ago

How to reproduce:

  1. go to linea-sequencer repo
  2. checkout branch update-linea-besu-and-tracer2
  3. run ./gradlew acceptanceTests --tests linea.plugin.acc.test.TransactionTraceLimitTest.transactionsMinedInSeparateBlocksTest2
  4. open the Junit reports to see the logs

In the logs you will find that 2 deploy contract txs are included in 2 different blocks, but counters for precompiles are not reset between blocks, example:

block #1

tx #1

{"jsonrpc":"2.0","method":"eth_sendRawTransaction","params":["0xf904d58084f4610900838954408080b90481608060405234801561001057600080fd5b50610461806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80634ed3885e146100465780636d4ce63c1461005b57806387db03b714610079575b600080fd5b610059610054366004610185565b61008c565b005b6100636100aa565b6040516100709190610235565b60405180910390f35b610059610087366004610283565b61013c565b805160000361009a57600080fd5b60006100a68282610325565b5050565b6060600080546100b99061029c565b80601f01602080910402602001604051908101604052809291908181526020018280546100e59061029c565b80156101325780601f1061010757610100808354040283529160200191610132565b820191906000526020600020905b81548152906001019060200180831161011557829003601f168201915b5050505050905090565b60005b818112156100a65760018054906000610157836103fa565b9190505550808061016790610413565b91505061013f565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561019757600080fd5b81356001600160401b03808211156101ae57600080fd5b818401915084601f8301126101c257600080fd5b8135818111156101d4576101d461016f565b604051601f8201601f19908116603f011681019083821181831017156101fc576101fc61016f565b8160405282815287602084870101111561021557600080fd5b826020860160208301376000928101602001929092525095945050505050565b600060208083528351808285015260005b8181101561026257858101830151858201604001528201610246565b506000604082860101526040601f19601f8301168501019250505092915050565b60006020828403121561029557600080fd5b5035919050565b600181811c908216806102b057607f821691505b6020821081036102d057634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561032057600081815260208120601f850160051c810160208610156102fd5750805b601f850160051c820191505b8181101561031c57828155600101610309565b5050505b505050565b81516001600160401b0381111561033e5761033e61016f565b6103528161034c845461029c565b846102d6565b602080601f831160018114610387576000841561036f5750858301515b600019600386901b1c1916600185901b17855561031c565b600085815260208120601f198616915b828110156103b657888601518255948401946001909101908401610397565b50858210156103d45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b60006001820161040c5761040c6103e4565b5060010190565b60006001600160ff1b01820161040c5761040c6103e456fea26469706673582212205884d4a206b60752acecf0bc2c2c609fe62bb68198c9461c4f41c548d7a6edc364736f6c63430008130033820a95a0c35de2bbf75559a513e6fd997ab1738ac0a056266c96d0a2b31ab2389f1cba75a020072d0c9988f69efcf1a9a13cb5e2667f66afe5b684af787258bd0d6034a5b8"],"id":2}

tx #1 hash = {"jsonrpc":"2.0","id":2,"result":"0x63ea5c9ec0f0fae53683c1b5f1998fe806f1ad5b655a1d03a9771f1976be45a9"}

| Tx 0x63ea5c9ec0f0fae53683c1b5f1998fe806f1ad5b655a1d03a9771f1976be45a9 line count per module: [EXT=7/7/32768,ADD=1/1/7000,LOG_INFO=6/6/262144,MXP=15/15/524288,TXN_DATA=17/17/262144,WCP=90/90/262144,ROM_LEX=3/3/1048576,PRECOMPILE_BLAKE_ROUNDS=9/9/512,BLOCK_TRANSACTIONS=1/1/200,BLOCK_L1_SIZE=400/400/1000000,LOG_DATA=1/1/262144,TRM=39/39/131072,PRECOMPILE_ECPAIRING_MILLER_LOOPS=9/9/64,SHF=15/15/65536,EUC=12/12/16384,PRECOMPILE_SHA2_BLOCKS=9/9/10000,HUB=50/50/10000,EC_DATA=11/11/4096,PRECOMPILE_BLAKE_EFFECTIVE_CALLS=9/9/10000,PRECOMPILE_ECADD_EFFECTIVE_CALLS=9/9/10000,PRECOMPILE_MODEXP_EFFECTIVE_CALLS=9/9/10000,MMIO=205/205/1048576,RLP_TXN=1270/1270/262144,BLOCK_KECCAK=25/25/8192,MOD=7/7/131072,OOB=8/8/262144,MUL=9/9/65536,PRECOMPILE_ECPAIRING_G2_MEMBERSHIP_CALLS=9/9/10000,PRECOMPILE_RIPEMD_BLOCKS=9/9/10000,BIN=15/15/262144,BLOCK_DATA=13/13/13,RLP_ADDR=15/15/262144,PRECOMPILE_ECPAIRING_FINAL_EXPONENTIATIONS=9/9/10000,ROM=2369/2369/1048576,PRECOMPILE_ECMUL_EFFECTIVE_CALLS=9/9/10000,MMU=175/175/524288,RLP_TXN_RCPT=91/91/262144,BLOCK_HASH=1/1/1,EXP=5/5/32760,PRECOMPILE_ECRECOVER_EFFECTIVE_CALLS=9/9/10000]

block #2

tx #2

{"jsonrpc":"2.0","method":"eth_sendRawTransaction","params":["0xf904d50184f4610900838954408080b90481608060405234801561001057600080fd5b50610461806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80634ed3885e146100465780636d4ce63c1461005b57806387db03b714610079575b600080fd5b610059610054366004610185565b61008c565b005b6100636100aa565b6040516100709190610235565b60405180910390f35b610059610087366004610283565b61013c565b805160000361009a57600080fd5b60006100a68282610325565b5050565b6060600080546100b99061029c565b80601f01602080910402602001604051908101604052809291908181526020018280546100e59061029c565b80156101325780601f1061010757610100808354040283529160200191610132565b820191906000526020600020905b81548152906001019060200180831161011557829003601f168201915b5050505050905090565b60005b818112156100a65760018054906000610157836103fa565b9190505550808061016790610413565b91505061013f565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561019757600080fd5b81356001600160401b03808211156101ae57600080fd5b818401915084601f8301126101c257600080fd5b8135818111156101d4576101d461016f565b604051601f8201601f19908116603f011681019083821181831017156101fc576101fc61016f565b8160405282815287602084870101111561021557600080fd5b826020860160208301376000928101602001929092525095945050505050565b600060208083528351808285015260005b8181101561026257858101830151858201604001528201610246565b506000604082860101526040601f19601f8301168501019250505092915050565b60006020828403121561029557600080fd5b5035919050565b600181811c908216806102b057607f821691505b6020821081036102d057634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561032057600081815260208120601f850160051c810160208610156102fd5750805b601f850160051c820191505b8181101561031c57828155600101610309565b5050505b505050565b81516001600160401b0381111561033e5761033e61016f565b6103528161034c845461029c565b846102d6565b602080601f831160018114610387576000841561036f5750858301515b600019600386901b1c1916600185901b17855561031c565b600085815260208120601f198616915b828110156103b657888601518255948401946001909101908401610397565b50858210156103d45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b60006001820161040c5761040c6103e4565b5060010190565b60006001600160ff1b01820161040c5761040c6103e456fea26469706673582212205884d4a206b60752acecf0bc2c2c609fe62bb68198c9461c4f41c548d7a6edc364736f6c63430008130033820a96a0e705b57eb45602bf073cfbcc17c67e6c9a4b5f984d90df3fdebe276d05779bbea00a495c56709c2b25e52feb435a2e51568673c3cf0f7debde4064d28228a893ee"],"id":6}

tx #2 hash = {"jsonrpc":"2.0","id":6,"result":"0x61ba25623d41e3d16f1e4afc53a4c2bf50252c15ee7223aa34921e724e7c3732"}

Tx 0x61ba25623d41e3d16f1e4afc53a4c2bf50252c15ee7223aa34921e724e7c3732 line count per module: [EXT=7/7/32768,ADD=1/1/7000,LOG_INFO=6/6/262144,MXP=15/15/524288,TXN_DATA=17/17/262144,WCP=90/90/262144,ROM_LEX=3/3/1048576,PRECOMPILE_BLAKE_ROUNDS=18/18/512,BLOCK_TRANSACTIONS=1/1/200,BLOCK_L1_SIZE=400/400/1000000,LOG_DATA=1/1/262144,TRM=39/39/131072,PRECOMPILE_ECPAIRING_MILLER_LOOPS=18/18/64,SHF=15/15/65536,EUC=12/12/16384,PRECOMPILE_SHA2_BLOCKS=18/18/10000,HUB=50/50/10000,EC_DATA=11/11/4096,PRECOMPILE_BLAKE_EFFECTIVE_CALLS=18/18/10000,PRECOMPILE_ECADD_EFFECTIVE_CALLS=18/18/10000,PRECOMPILE_MODEXP_EFFECTIVE_CALLS=18/18/10000,MMIO=205/205/1048576,RLP_TXN=1277/1277/262144,BLOCK_KECCAK=43/43/8192,MOD=7/7/131072,OOB=8/8/262144,MUL=9/9/65536,PRECOMPILE_ECPAIRING_G2_MEMBERSHIP_CALLS=18/18/10000,PRECOMPILE_RIPEMD_BLOCKS=18/18/10000,BIN=15/15/262144,BLOCK_DATA=13/13/13,RLP_ADDR=15/15/262144,PRECOMPILE_ECPAIRING_FINAL_EXPONENTIATIONS=18/18/10000,ROM=2369/2369/1048576,PRECOMPILE_ECMUL_EFFECTIVE_CALLS=18/18/10000,MMU=175/175/524288,RLP_TXN_RCPT=91/91/262144,BLOCK_HASH=1/1/1,EXP=5/5/32760,PRECOMPILE_ECRECOVER_EFFECTIVE_CALLS=18/18/10000]