Skip to content

Commit 8ee9bdd

Browse files
authored
Fix stacktrace deobf where thrownProxy got initialized before rewriting (#6684)
1 parent 2b404b0 commit 8ee9bdd

File tree

2 files changed

+20
-22
lines changed

2 files changed

+20
-22
lines changed

patches/server/0429-Deobfuscate-stacktraces-in-log-messages-crash-report.patch

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Subject: [PATCH] Deobfuscate stacktraces in log messages, crash reports, and
66

77

88
diff --git a/build.gradle.kts b/build.gradle.kts
9-
index eea412347cef390555166a988058ae877afdfa4a..b35e54380cb23758a813fa24d13b888f36906c23 100644
9+
index fd037da8b655b329ef016356519a69ca2621fd4f..03c9f894a2eaa065c456843eef4d3ab1a25565c3 100644
1010
--- a/build.gradle.kts
1111
+++ b/build.gradle.kts
1212
@@ -1,8 +1,12 @@
@@ -120,10 +120,10 @@ index 0bb4aaa546939b67a5d22865190f30478a9337c1..d3e619655382e50e9ac9323ed942502d
120120

121121
diff --git a/src/main/java/io/papermc/paper/logging/StacktraceDeobfuscatingRewritePolicy.java b/src/main/java/io/papermc/paper/logging/StacktraceDeobfuscatingRewritePolicy.java
122122
new file mode 100644
123-
index 0000000000000000000000000000000000000000..d019802a36dbaca4bf299a55d28381e43d6b976f
123+
index 0000000000000000000000000000000000000000..c701ef3c287f62aa0ebfbdbd6da6ed82a1c7793c
124124
--- /dev/null
125125
+++ b/src/main/java/io/papermc/paper/logging/StacktraceDeobfuscatingRewritePolicy.java
126-
@@ -0,0 +1,31 @@
126+
@@ -0,0 +1,38 @@
127127
+package io.papermc.paper.logging;
128128
+
129129
+import io.papermc.paper.util.StacktraceDeobfuscator;
@@ -132,7 +132,8 @@ index 0000000000000000000000000000000000000000..d019802a36dbaca4bf299a55d28381e4
132132
+import org.apache.logging.log4j.core.appender.rewrite.RewritePolicy;
133133
+import org.apache.logging.log4j.core.config.plugins.Plugin;
134134
+import org.apache.logging.log4j.core.config.plugins.PluginFactory;
135-
+import org.jetbrains.annotations.NotNull;
135+
+import org.apache.logging.log4j.core.impl.Log4jLogEvent;
136+
+import org.checkerframework.checker.nullness.qual.NonNull;
136137
+
137138
+@Plugin(
138139
+ name = "StacktraceDeobfuscatingRewritePolicy",
@@ -141,17 +142,23 @@ index 0000000000000000000000000000000000000000..d019802a36dbaca4bf299a55d28381e4
141142
+ printObject = true
142143
+)
143144
+public final class StacktraceDeobfuscatingRewritePolicy implements RewritePolicy {
145+
+ private StacktraceDeobfuscatingRewritePolicy() {
146+
+ }
147+
+
144148
+ @Override
145-
+ public @NotNull LogEvent rewrite(final @NotNull LogEvent rewrite) {
149+
+ public @NonNull LogEvent rewrite(final @NonNull LogEvent rewrite) {
146150
+ final Throwable thrown = rewrite.getThrown();
147151
+ if (thrown != null) {
148152
+ StacktraceDeobfuscator.INSTANCE.deobfuscateThrowable(thrown);
153+
+ return new Log4jLogEvent.Builder(rewrite)
154+
+ .setThrownProxy(null)
155+
+ .build();
149156
+ }
150157
+ return rewrite;
151158
+ }
152159
+
153160
+ @PluginFactory
154-
+ public static @NotNull StacktraceDeobfuscatingRewritePolicy createPolicy() {
161+
+ public static @NonNull StacktraceDeobfuscatingRewritePolicy createPolicy() {
155162
+ return new StacktraceDeobfuscatingRewritePolicy();
156163
+ }
157164
+}

patches/server/0726-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch

Lines changed: 7 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -230,26 +230,17 @@ index 0000000000000000000000000000000000000000..34734bb969a1a74c7a4f9c17d40ebf00
230230
+ }
231231
+}
232232
diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml
233-
index 2e421eaac80cf251b32e0bb504dd54a73edf4986..5704146ae84747cafd4b5f504ba071f6be99f425 100644
233+
index 2e421eaac80cf251b32e0bb504dd54a73edf4986..74ccc67e3c12dc5182602fb691ef3ddeb5b53280 100644
234234
--- a/src/main/resources/log4j2.xml
235235
+++ b/src/main/resources/log4j2.xml
236-
@@ -30,7 +30,7 @@
237-
<DefaultRolloverStrategy max="1000"/>
238-
</RollingRandomAccessFile>
239-
<Async name="Async">
240-
- <AppenderRef ref="rewrite"/>
241-
+ <AppenderRef ref="rewrite2"/>
236+
@@ -34,6 +34,10 @@
242237
</Async>
243238
<Rewrite name="rewrite">
244239
<StacktraceDeobfuscatingRewritePolicy />
245-
@@ -38,6 +38,10 @@
246-
<AppenderRef ref="TerminalConsole" level="info"/>
247-
<AppenderRef ref="ServerGuiConsole" level="info"/>
248-
</Rewrite>
240+
+ <AppenderRef ref="rewrite2"/>
241+
+ </Rewrite>
249242
+ <Rewrite name="rewrite2">
250243
+ <ExtraClassInfoRewritePolicy />
251-
+ <AppenderRef ref="rewrite"/>
252-
+ </Rewrite>
253-
</Appenders>
254-
<Loggers>
255-
<Root level="info">
244+
<AppenderRef ref="File"/>
245+
<AppenderRef ref="TerminalConsole" level="info"/>
246+
<AppenderRef ref="ServerGuiConsole" level="info"/>

0 commit comments

Comments
 (0)