servertap-io / servertap

ServerTap is a REST API for Bukkit/Spigot/Paper Minecraft servers
https://servertap.io
MIT License
226 stars 57 forks source link

setting 'websocketConsoleBuffer' to zero causes many exceptions #168

Closed dr-hagar closed 2 years ago

dr-hagar commented 2 years ago

The comments say "# Set to 0 to effectively disable this", but setting it to zero produces an exception for every log line:

[15:26:54 INFO]: [ServerTap] Enabling ServerTap v0.3.0
> 2022-08-04 15:26:54,422 Server thread WARN org.apache.logging.log4j.spi.AbstractLogger caught java.lang.IndexOutOfBoundsException logging ReusableSimpleMessage: [ServerTap] TLS is not enabled. java.lang.IndexOutOfBoundsException: Index 0 out of bounds for length 0
    at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)
    at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)
    at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:266)
    at java.base/java.util.Objects.checkIndex(Objects.java:359)
    at java.base/java.util.ArrayList.remove(ArrayList.java:504)
    at ServerTap-0.3.0.jar//io.servertap.api.v1.websockets.ConsoleListener.filter(ConsoleListener.java:24)
    at org.apache.logging.log4j.core.filter.CompositeFilter.filter(CompositeFilter.java:590)
    at org.apache.logging.log4j.core.filter.AbstractFilterable.isFiltered(AbstractFilterable.java:154)
    at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:482)
    at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:417)
    at org.apache.logging.log4j.core.config.AwaitCompletionReliabilityStrategy.log(AwaitCompletionReliabilityStrategy.java:82)
    at org.apache.logging.log4j.core.Logger.log(Logger.java:161)
    at org.apache.logging.log4j.spi.AbstractLogger.tryLogMessage(AbstractLogger.java:2205)
    at org.apache.logging.log4j.spi.AbstractLogger.logMessageTrackRecursion(AbstractLogger.java:2159)
    at org.apache.logging.log4j.spi.AbstractLogger.logMessageSafely(AbstractLogger.java:2142)
    at org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:2017)
    at org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:1983)
    at org.apache.logging.log4j.spi.AbstractLogger.warn(AbstractLogger.java:2671)
    at org.bukkit.craftbukkit.v1_18_R2.util.ForwardLogHandler.publish(ForwardLogHandler.java:34)
    at java.logging/java.util.logging.Logger.log(Logger.java:980)
    at java.logging/java.util.logging.Logger.doLog(Logger.java:1007)
    at java.logging/java.util.logging.Logger.log(Logger.java:1030)
    at java.logging/java.util.logging.Logger.warning(Logger.java:1790)
    at ServerTap-0.3.0.jar//io.servertap.PluginEntrypoint.lambda$onEnable$2(PluginEntrypoint.java:133)
    at ServerTap-0.3.0.jar//io.javalin.core.JavalinConfig.applyUserConfig(JavalinConfig.java:205)
    at ServerTap-0.3.0.jar//io.javalin.Javalin.create(Javalin.java:93)
    at ServerTap-0.3.0.jar//io.servertap.PluginEntrypoint.onEnable(PluginEntrypoint.java:101)
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:264)
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:370)
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:501)
    at org.bukkit.craftbukkit.v1_18_R2.CraftServer.enablePlugin(CraftServer.java:559)
    at org.bukkit.craftbukkit.v1_18_R2.CraftServer.enablePlugins(CraftServer.java:473)
    at net.minecraft.server.dedicated.DedicatedServer.e(DedicatedServer.java:289)
    at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:1163)
    at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:315)
    at java.base/java.lang.Thread.run(Thread.java:833)