forked from erigontech/erigon
-
Notifications
You must be signed in to change notification settings - Fork 56
Open
Description
Bug Description
The txpool_content RPC method crashes with error code -32000 "method handler crashed" when called on a BSC mainnet archive node running Erigon v1.4.3.
Environment
- Version: erigon/1.4.3/linux-amd64/go1.24.11 (commit: 1.4.3-dev-4a9d2ee4)
- Network: BSC Mainnet
- Node Type: Archive (
--prune.mode archive) - API Configuration:
--http.api eth,debug,net,trace,web3,erigon,txpool
Steps to Reproduce
- Start bsc-erigon v1.4.3 with archive mode and txpool API enabled
- Call the txpool_content method:
curl -X POST -H "Content-Type: application/json" \
--data '{"jsonrpc":"2.0","method":"txpool_content","params":[],"id":1}' \
http://localhost:8545Expected Behavior
The method should return transaction pool content with pending, baseFee, and queued transactions, similar to:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"pending": {...},
"baseFee": {...},
"queued": {...}
}
}Actual Behavior
The method crashes and returns:
{"jsonrpc":"2.0","id":1,"error":{"code":-32000,"message":"method handler crashed"}}Additional Context
- Other txpool methods work fine:
- ✅
txpool_statusreturns:{"pending":"0x3e7","baseFee":"0x0","queued":"0x80"}
- ✅
- The txpool API is properly initialized and enabled
- The crash appears to be in the
Content()method implementation inrpc/jsonrpc/txpool_api.go - Possible crash points:
api.db.BeginTemporalRo(ctx)- database handle initialization issuenewRPCPendingTransaction()- transaction formatting bug
Impact
This affects production BSC RPC providers who need to expose txpool_content for their users. The method is documented as available but crashes in practice.
Code Reference
Implementation: https://github.com/node-real/bsc-erigon/blob/v1.4.3/rpc/jsonrpc/txpool_api.go#L48-L115
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels