Skip to content

Commit c40d9c1

Browse files
committed
Add some debug info for issue #109
1 parent cd7894f commit c40d9c1

File tree

1 file changed

+30
-6
lines changed

1 file changed

+30
-6
lines changed

ProtocolLib/src/main/java/com/comphenix/protocol/compat/netty/independent/NettyProtocolInjector.java

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -269,18 +269,42 @@ public synchronized void close() {
269269
}
270270
}
271271

272-
@Override
273-
public PacketEvent onPacketSending(Injector injector, Object packet, NetworkMarker marker) {
272+
@Override
273+
public PacketEvent onPacketSending(Injector injector, Object packet, NetworkMarker marker) {
274274
Class<?> clazz = packet.getClass();
275-
275+
276276
if (sendingFilters.contains(clazz) || marker != null) {
277-
PacketContainer container = new PacketContainer(PacketRegistry.getPacketType(clazz), packet);
278-
return packetQueued(container, injector.getPlayer(), marker);
277+
try {
278+
PacketContainer container = new PacketContainer(PacketRegistry.getPacketType(clazz), packet);
279+
return packetQueued(container, injector.getPlayer(), marker);
280+
} catch (LinkageError er) {
281+
// Issue #109
282+
if (isDebug()) {
283+
try {
284+
System.out.println("Encountered a LinkageError in onPacketSending");
285+
System.out.println("injector=" + injector);
286+
System.out.println("packet=" + packet);
287+
System.out.println("marker=" + marker);
288+
289+
Thread curr = Thread.currentThread();
290+
System.out.println("current thread=" + curr.getName());
291+
System.out.println("class loader=" + curr.getContextClassLoader());
292+
293+
Class<PacketContainer> container = PacketContainer.class;
294+
System.out.println("packet container=" + container);
295+
System.out.println("class loader=" + container.getClassLoader());
296+
} catch (LinkageError e1) {
297+
e1.printStackTrace();
298+
}
299+
}
300+
301+
er.printStackTrace();
302+
}
279303
}
280304

281305
// Don't change anything
282306
return null;
283-
}
307+
}
284308

285309
@Override
286310
public PacketEvent onPacketReceiving(Injector injector, Object packet, NetworkMarker marker) {

0 commit comments

Comments
 (0)