smartcontractkit / smartcontractkit/chainlink

OCR 1.4.0, EIP-1559 on GEth 1.10.17 MainNet => rlp: expected input list for types.LegacyTx

Open
#6,596 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

investigating
Dominant language
Go
Stars
8.2k
Forks
2k
Avg merge
1d 23h
Merged PRs (30d)
202

Description

Description
Having configured my OCR node with "EvmEIP1559DynamicFees": true, I have a lot of errors in the geth node logs with matching errors in OCR log :

May 10 19:06:09 geth00-ethereum-mainnet-ovh geth[1285852]: {"conn":"10.170.1.121:36760","duration":"229.231µs","err":"rlp: expected input list for types.LegacyTx","lvl":"warn","msg":"Served eth_sendRawTransaction","reqid":"4922","t":"2022-05-10T19:06:09.170368209Z"}

May 10 19:06:09 offchainreporting00-chainlink-ovh docker[2946033]: 2022-05-10T19:06:09.125Z [INFO]  Re-sending 1 unconfirmed transactions that were last sent over 1m0s ago. These transactions are taking longer than usual to be mined. WARNING: If this happens a lot, it may be a sign that your eth node has a connectivity problem, and your transactions are not making it to any miners. It is recommended to run Chainlink with multiple primary and sendonly nodes for redundancy and to ensure fast and reliable transaction propagation.                                  evmChainID=1 logger=1.4.0@a5f089f.EVM.Txm.EthResender n=1

May 10 20:06:33 geth00-ethereum-mainnet-ovh geth[1285852]: {"conn":"10.170.1.121:36770","duration":"122.723µs","err":"rlp: expected input list for types.LegacyTx","lvl":"warn","msg":"Served eth_sendRawTransaction","reqid":"9799","t":"2022-05-10T20:06:33.876100438Z"}

May 10 20:06:33 offchainreporting00-chainlink-ovh docker[2946033]: 2022-05-10T20:06:33.771Z [INFO]  Re-sending 1 unconfirmed transactions that were last sent over 1m0s ago. These transactions are taking longer than usual to be mined. WARNING: If this happens a lot, it may be a sign that your eth node has a connectivity problem, and your transactions are not making it to any miners. It is recommended to run Chainlink with multiple primary and sendonly nodes for redundancy and to ensure fast and reliable transaction propagation.                                  evmChainID=1 logger=1.4.0@a5f089f.EVM.Txm.EthResender n=1

Basic Information

  • Network: Ethereum Mainnet
  • Blockchain Client: Geth v1.10.17
  • Go Version: ? (geth one or chainlink one ? Using official geth deb packages & official chainlink dockerhub container)
  • Operating System: Ubuntu 20.04 LTS + HWE kernel (5.13)
  • Commit: [INFO] Starting Chainlink Node 1.4.0 at commit a5f089fb069cd474581d4380f8fdb7aeff112203 SHA=a5f089fb069cd474581d4380f8fdb7aeff112203 Version=1.4.0 logger=1.4.0@a5f089f.RunNode
  • Hosting Provider: self-hosted
  • Startup Command: /usr/bin/docker run --rm --name %N --cap-drop ALL --env ALLOW_ORIGINS --env BLOCK_HISTORY_ESTIMATOR_BATCH_SIZE --env BLOCK_HISTORY_ESTIMATOR_PERCENTILE --env CHAINLINK_PORT --env CHAINLINK_TLS_PORT --env DATABASE_BACKUP_DIR --env DATABASE_BACKUP_MODE --env DATABASE_TIMEOUT --env DATABASE_URL --env ENABLE_BULLETPROOF_TX_MANAGER --env ETH_BALANCE_MONITOR_BLOCK_DELAY --env ETH_GAS_BUMP_THRESHOLD --env ETH_GAS_BUMP_WEI --env ETH_LOG_BACKFILL_BATCH_SIZE --env ETH_MAX_GAS_PRICE_WEI --env ETH_RPC_DEFAULT_BATCH_SIZE --env EVM_NODES --env EXPLORER_ACCESS_KEY --env EXPLORER_SECRET --env EXPLORER_URL --env FLAGS_CONTRACT_ADDRESS --env GAS_ESTIMATOR_MODE --env LINK_CONTRACT_ADDRESS --env LOG_LEVEL --env LOG_TO_DISK --env MINIMUM_CONTRACT_PAYMENT_LINK_JUELS --env MIN_INCOMING_CONFIRMATIONS --env MIN_OUTGOING_CONFIRMATIONS --env SECURE_COOKIES --env FEATURE_OFFCHAIN_REPORTING --env OCR_INCOMING_MESSAGE_BUFFER_SIZE --env OCR_KEY_BUNDLE_ID --env OCR_OUTGOING_MESSAGE_BUFFER_SIZE --env OCR_TRACE_LOGGING --env OCR_TRANSMITTER_ADDRESS --env P2P_ANNOUNCE_IP --env P2P_ANNOUNCE_PORT --env P2P_LISTEN_IP --env P2P_LISTEN_PORT --env P2P_PEER_ID --net host --security-opt no-new-privileges --volume /etc/chainlink:/etc/chainlink:ro smartcontract/chainlink:1.4.0-nonroot local node --api /etc/chainlink/api --password /etc/chainlink/password

Environment Variables

ALLOW_ORIGINS=*
BLOCK_HISTORY_ESTIMATOR_BATCH_SIZE=100
BLOCK_HISTORY_ESTIMATOR_PERCENTILE=60
CHAINLINK_PORT=6688
CHAINLINK_TLS_PORT=0
DATABASE_BACKUP_DIR=/tmp/
DATABASE_BACKUP_MODE=full
DATABASE_TIMEOUT=0
DATABASE_URL=[redacted]
ENABLE_BULLETPROOF_TX_MANAGER=true
ETH_BALANCE_MONITOR_BLOCK_DELAY=3
ETH_GAS_BUMP_THRESHOLD=8
ETH_GAS_BUMP_WEI=7100000000
ETH_LOG_BACKFILL_BATCH_SIZE=1000
ETH_MAX_GAS_PRICE_WEI=2500000000000
ETH_RPC_DEFAULT_BATCH_SIZE=1000
EVM_NODES=[{"evmChainId": 1, "httpUrl": "http://geth00.ethereum-mainnet.ovh.int.kaiko.com:8545", "name": "primary_geth00", "sendOnly": false, "wsUrl": "ws://geth00.ethereum-mainnet.ovh.int.kaiko.com:8546"}, {"evmChainId": 1, "httpUrl": "http://geth01.ethereum-mainnet.ovh.int.kaiko.com:8545", "name": "primary_geth01", "sendOnly": false, "wsUrl": "ws://geth01.ethereum-mainnet.ovh.int.kaiko.com:8546"}]
EXPLORER_ACCESS_KEY=[redacted]
EXPLORER_SECRET=[redacted]
EXPLORER_URL=wss://explorer.chain.link
FEATURE_OFFCHAIN_REPORTING=true
FLAGS_CONTRACT_ADDRESS=[redacted]
GAS_ESTIMATOR_MODE=BlockHistory
LINK_CONTRACT_ADDRESS=[redacted]
LOG_LEVEL=info
LOG_TO_DISK=false
MIN_INCOMING_CONFIRMATIONS=1
MIN_OUTGOING_CONFIRMATIONS=2
MINIMUM_CONTRACT_PAYMENT_LINK_JUELS=0
OCR_INCOMING_MESSAGE_BUFFER_SIZE=100
OCR_KEY_BUNDLE_ID=[redacted]
OCR_OUTGOING_MESSAGE_BUFFER_SIZE=100
OCR_TRACE_LOGGING=true
OCR_TRANSMITTER_ADDRESS=[redacted]
P2P_ANNOUNCE_IP=[redacted]
P2P_ANNOUNCE_PORT=2000
P2P_LISTEN_IP=[redacted]
P2P_LISTEN_PORT=2000
P2P_PEER_ID=[redacted]
SECURE_COOKIES=false

Steps to Reproduce
Enable dynamic fees on ETH Mainnet with geth

Additional Information
https://ethereum.stackexchange.com/questions/124447/eth-sendrawtransaction-with-dynamicfeetx-returns-expected-input-list-for-types
https://ethereum.stackexchange.com/questions/119252/eip-1559-why-does-geth-expect-an-input-list-for-types-txdata

I suppose that it is linked to EIP-1559 but I'm not sure about it

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The report names no repository file, test, or entry point. Start by reproducing the failure with EvmEIP1559DynamicFees enabled against Geth v1.10.17, then trace the transaction submission and resending path. Done means dynamic-fee transactions are accepted without the reported RLP error or repeated unconfirmed resends.

Written by the indexing model from the issue text.

Assessment

Tech stack
blockchain, go
Domain
backend, blockchain
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.