18f0f8d1ca
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 312281ea PR-742: Make World implement Keyed CraftBukkit Changes: 2ac7fa7a SPIGOT-7014: getLootTable API should not persistently update loot table 7fdd7941 PR-1046: Make World implement Keyed 7bc728a6 PR-1045: Revert changes to persistence required checks Spigot Changes: b6d12d17 Rebuild patches
30 lines
1.8 KiB
Diff
30 lines
1.8 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Bjarne Koll <lynxplay101@gmail.com>
|
|
Date: Sat, 12 Feb 2022 03:20:36 +0100
|
|
Subject: [PATCH] Log exceptions thrown during chat processing
|
|
|
|
Previously the async chat executor service would take chat handling
|
|
using the #submit method, which wraps the logic in a future task.
|
|
The future takes full ownership of the task, including any potential
|
|
exception, meaning that the uncaught exception handler never gets
|
|
notified about potential exceptions thrown during async chat logic.
|
|
|
|
As the chat task does neither need to be cancelled nor returns something
|
|
required later on, this commit moves from #submit to #execute, skipping
|
|
any future task creation. This properly propagates any exception upwards
|
|
to the worker thread in the executor service, allowing the server to
|
|
catch and properly log the exception to the console.
|
|
|
|
diff --git a/src/main/java/net/minecraft/network/protocol/game/ServerboundChatPacket.java b/src/main/java/net/minecraft/network/protocol/game/ServerboundChatPacket.java
|
|
index 8a0ced3f9b9099913ade4b71181aff6cafbc4ee6..21588ce5a408fed3454c317b56c05439ad3af27d 100644
|
|
--- a/src/main/java/net/minecraft/network/protocol/game/ServerboundChatPacket.java
|
|
+++ b/src/main/java/net/minecraft/network/protocol/game/ServerboundChatPacket.java
|
|
@@ -31,7 +31,7 @@ public class ServerboundChatPacket implements Packet<ServerGamePacketListener> {
|
|
public void handle(final ServerGamePacketListener listener) {
|
|
if ( !this.message.startsWith("/") )
|
|
{
|
|
- ServerboundChatPacket.executors.submit( new Runnable()
|
|
+ ServerboundChatPacket.executors.execute( new Runnable() // Paper - Use #execute to propagate exceptions up instead of swallowing them
|
|
{
|
|
|
|
@Override
|