mirror of
https://github.com/PaperMC/Waterfall.git
synced 2024-07-03 09:54:58 +02:00
When we changed the disconnect check to use proper concurrent behavior (using CAS), the disconnecting flag wasn't set the first time we disconnect because the OR short-circited the CAS. Upstream doesn't have this issue because they don't set the flag in the if statement (with CAS), and therefore aren't short circuted. I have no idea why this check was an OR statement in the first place, so maybe this will cause more crazy bugs.
24 lines
1.2 KiB
Diff
24 lines
1.2 KiB
Diff
From b9e07cfb20542a5db8f08539c6472c3178e6e39a Mon Sep 17 00:00:00 2001
|
|
From: Techcable <Techcable@techcable.net>
|
|
Date: Tue, 5 Apr 2016 11:00:16 -0700
|
|
Subject: [PATCH] Print stack trace when the ByteBuf is not direct.
|
|
|
|
The issue with ByteBufs not being direct should be fixed as of netty 4.1, and stacktraces provide valuable information.
|
|
|
|
diff --git a/protocol/src/main/java/net/md_5/bungee/protocol/Varint21FrameDecoder.java b/protocol/src/main/java/net/md_5/bungee/protocol/Varint21FrameDecoder.java
|
|
index 29e54db..6da27fc 100644
|
|
--- a/protocol/src/main/java/net/md_5/bungee/protocol/Varint21FrameDecoder.java
|
|
+++ b/protocol/src/main/java/net/md_5/bungee/protocol/Varint21FrameDecoder.java
|
|
@@ -51,7 +51,7 @@ public class Varint21FrameDecoder extends ByteToMessageDecoder
|
|
if ( !DIRECT_WARNING )
|
|
{
|
|
DIRECT_WARNING = true;
|
|
- System.out.println( "Netty is not using direct IO buffers." );
|
|
+ new Throwable("Using a " + in.getClass().getTypeName() + ", not a direct byte buf!").printStackTrace();
|
|
}
|
|
|
|
// See https://github.com/SpigotMC/BungeeCord/issues/1717
|
|
--
|
|
2.8.3
|
|
|