- Organized 252 files across project - Root directory: 187 → 2 files (98.9% reduction) - Moved configuration guides to docs/04-configuration/ - Moved troubleshooting guides to docs/09-troubleshooting/ - Moved quick start guides to docs/01-getting-started/ - Moved reports to reports/ directory - Archived temporary files - Generated comprehensive reports and documentation - Created maintenance scripts and guides All files organized according to established standards.
4.5 KiB
VMID 2400 Besu Log Analysis - Failed Transactions
Date: 2026-01-27
VMID: 2400
Service: besu-rpc.service
Node: ThirdWeb RPC Node
Summary
No explicit transaction failures found in the Besu logs. However, several operational issues were identified:
- ✅ Transaction Execution: No transaction execution failures or revert errors detected
- ⚠️ Block Import Errors: Invalid block import error (block #580129) - resolved
- ⚠️ Thread Blocking: Multiple Vertx thread blocking warnings (performance issue)
Findings
1. Block Import Error (Historical)
Date: 2026-01-03 16:41:08
Error Type: InvalidBlockException
Block: #580129 (0x2aaa4f4809549c5365fa8f1f4944d8c25548027d3680bead3fb726ea6fa7ec55)
ERROR | BlockPropagationManager | Error importing pending blocks
org.hyperledger.besu.ethereum.eth.sync.tasks.exceptions.InvalidBlockException:
Failed to import block: Invalid block at #580129
Invalid block 580129: Optional[Parent block with hash
0xba5eb16a1cdde02e94955d8bee110760904f8ace38d6e0736d6853043d2cc848 not present]
Analysis:
- This is a block import error, not a transaction failure
- The block was rejected because its parent block was not present in the chain
- This is a normal occurrence during blockchain synchronization
- The error resolved itself as the chain caught up
- No impact on transaction processing
2. Thread Blocking Warnings (Performance)
Recent Occurrences:
- 2026-01-04 11:21:23: Thread blocked for 2243 ms (exceeded 2000 ms limit)
- 2026-01-04 11:35:30: Thread blocked for 5541 ms (exceeded 2000 ms limit)
- 2026-01-04 11:35:30: Thread blocked for 4812 ms (exceeded 2000 ms limit)
- 2026-01-03 16:41:06: Thread blocked for 2887 ms (exceeded 2000 ms limit)
- 2026-01-04 03:34:24: Thread blocked for 2275 ms (exceeded 2000 ms limit)
Analysis:
- Vertx event loop threads are being blocked
- This is a performance warning, not a transaction failure
- Common causes:
- Database compaction operations
- Large block imports
- Garbage collection cycles
- High RPC load
- Impact: May cause temporary RPC response delays, but does not cause transaction failures
3. Transaction Status
Blocks with Transactions (from recent logs):
- Block #600,135: 1 transaction (152,064 gas, 0.5% utilization) ✅
- Block #600,158: 1 transaction (152,064 gas, 0.5% utilization) ✅
- Block #600,170: 1 transaction (152,064 gas, 0.5% utilization) ✅
- Block #600,111: 1 transaction (152,064 gas, 0.5% utilization) ✅
- Block #600,078: 1 transaction (152,064 gas, 0.5% utilization) ✅
Analysis:
- Transactions are being included in blocks successfully
- No transaction execution failures logged
- No revert errors detected
- Gas usage is normal (152,064 gas per transaction)
Transaction Pool Status
Method Checked: txpool_status
Result: Method not available (expected - this is an RPC-only node)
Note: VMID 2400 is an RPC node and may not expose transaction pool methods. To check pending transactions, query the transaction pool on a validator node or use eth_getTransactionReceipt to check transaction status.
Recommendations
1. Monitor Thread Blocking
If thread blocking warnings become more frequent:
- Monitor system resources (CPU, memory, disk I/O)
- Consider increasing JVM heap size
- Optimize garbage collection settings
- Review database compaction settings
2. Check Transaction Receipts
To verify if transactions are actually failing, check transaction receipts:
# Check a specific transaction receipt
curl -X POST http://127.0.0.1:8545 \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc": "2.0",
"method": "eth_getTransactionReceipt",
"params": ["0x<transaction_hash>"],
"id": 1
}'
A failed transaction will have:
status: "0x0"(failed)status: "0x1"(success)
3. Monitor Block Import
The block import error was historical and resolved. Monitor for:
- Frequent invalid block errors
- Blocks not being imported
- Chain synchronization issues
Conclusion
✅ No transaction failures detected in the Besu logs for VMID 2400.
The errors found are:
- Historical block import error (resolved)
- Thread blocking warnings (performance issue, not transaction failures)
Next Steps:
- If you have a specific transaction hash that failed, check its receipt status
- Monitor thread blocking warnings if they become more frequent
- Check transaction receipts directly via RPC to verify transaction execution status
Last Updated: 2026-01-27