From dccd1271538ccce333e66e97f3d5d8f7b2300768 Mon Sep 17 00:00:00 2001 From: Sally MacFarlane Date: Thu, 12 Mar 2026 17:15:02 +1000 Subject: [PATCH] logging improvements for breach of protocol for rlp Signed-off-by: Sally MacFarlane --- .../besu/ethereum/eth/manager/EthProtocolManager.java | 6 ++++-- .../besu/ethereum/eth/manager/RequestManager.java | 3 ++- .../besu/ethereum/eth/manager/snap/SnapProtocolManager.java | 6 +++++- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/manager/EthProtocolManager.java b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/manager/EthProtocolManager.java index 86143925ca2..c9cc17317c9 100644 --- a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/manager/EthProtocolManager.java +++ b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/manager/EthProtocolManager.java @@ -315,10 +315,12 @@ public void processMessage(final Capability capability, final Message message) { } } catch (final RLPException e) { LOG.atDebug() - .setMessage("Received malformed message {} (BREACH_OF_PROTOCOL), disconnecting: {}, {}") + .setMessage( + "Received malformed message code={} data={} (BREACH_OF_PROTOCOL), disconnecting: {}") + .addArgument(code) .addArgument(messageData::getData) .addArgument(ethPeer::toString) - .addArgument(e::toString) + .setCause(e) .log(); ethPeer.disconnect( diff --git a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/manager/RequestManager.java b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/manager/RequestManager.java index 828addc57f2..20d7c31dfdd 100644 --- a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/manager/RequestManager.java +++ b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/manager/RequestManager.java @@ -80,7 +80,8 @@ public void dispatchResponse(final EthMessage ethMessage) { () -> peer.recordUselessResponse("Request ID incorrect")); } catch (final RLPException e) { LOG.debug( - "Received malformed message {} (BREACH_OF_PROTOCOL), disconnecting: {}", + "Received malformed message code={} data={} (BREACH_OF_PROTOCOL), disconnecting: {}", + ethMessage.getData().getCode(), ethMessage.getData(), peer, e); diff --git a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/manager/snap/SnapProtocolManager.java b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/manager/snap/SnapProtocolManager.java index cd805983460..0b42c35a578 100644 --- a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/manager/snap/SnapProtocolManager.java +++ b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/manager/snap/SnapProtocolManager.java @@ -127,7 +127,11 @@ public void processMessage(final Capability cap, final Message message) { .map(responseData -> responseData.wrapMessageData(requestIdAndEthMessage.getKey())); } catch (final RLPException e) { LOG.debug( - "Received malformed message {} , disconnecting: {}", messageData.getData(), ethPeer, e); + "Received malformed message code={} data={} (BREACH_OF_PROTOCOL), disconnecting: {}", + messageData.getCode(), + messageData.getData(), + ethPeer, + e); ethPeer.disconnect(DisconnectReason.BREACH_OF_PROTOCOL_MALFORMED_MESSAGE_RECEIVED); } maybeResponseData.ifPresent(