diff --git a/router/java/src/net/i2p/router/tunnel/FragmentHandler.java b/router/java/src/net/i2p/router/tunnel/FragmentHandler.java index 7261845c1a90892c9ba5b7384bc14b0bb5b4c521..43e1d13144de93911a3c84eccdb6c1fac94a16ff 100644 --- a/router/java/src/net/i2p/router/tunnel/FragmentHandler.java +++ b/router/java/src/net/i2p/router/tunnel/FragmentHandler.java @@ -106,7 +106,18 @@ public class FragmentHandler { if (_log.shouldLog(Log.ERROR)) _log.error("Corrupt fragment received: offset = " + offset, e); _context.statManager().addRateData("tunnel.corruptMessage", 1, 1); - throw e; + // java.lang.IllegalStateException: wtf, don't get the completed size when we're not complete - null fragment i=0 of 1 + // at net.i2p.router.tunnel.FragmentedMessage.getCompleteSize(FragmentedMessage.java:194) + // at net.i2p.router.tunnel.FragmentedMessage.toByteArray(FragmentedMessage.java:223) + // at net.i2p.router.tunnel.FragmentHandler.receiveComplete(FragmentHandler.java:380) + // at net.i2p.router.tunnel.FragmentHandler.receiveSubsequentFragment(FragmentHandler.java:353) + // at net.i2p.router.tunnel.FragmentHandler.receiveFragment(FragmentHandler.java:208) + // at net.i2p.router.tunnel.FragmentHandler.receiveTunnelMessage(FragmentHandler.java:92) + // ... + // still trying to find root cause + // let's limit the damage here and skip the: + // .transport.udp.MessageReceiver: b0rked receiving a message.. wazza huzza hmm? + //throw e; } finally { // each of the FragmentedMessages populated make a copy out of the // payload, which they release separately, so we can release