SentixDev / squaremarker

Simple marker addon for squaremap.
14 stars 4 forks source link

"Can't gen input stream from URL" causes server to crash #16

Open Dagrond opened 1 year ago

Dagrond commented 1 year ago

Hey, so I've been using squaremarker for a few months. But today (I did not changed anything in squaremarker for like 2 months), during daily server restart squaremarker caused this error: [04:40:53] [Server thread/ERROR]: Error occurred while enabling squaremarker v1.0.3-SNAPSHOT (Is it up to date?) javax.imageio.IIOException: Can't get input stream from URL! at javax.imageio.ImageIO.read(ImageIO.java:1407) ~[?:?] at dev.sentix.squaremarker.marker.API.registerIcons(API.kt:64) ~[squaremarker-paper-1.0.3-SNAPSHOT.jar:?] at dev.sentix.squaremarker.marker.API.init(API.kt:26) ~[squaremarker-paper-1.0.3-SNAPSHOT.jar:?] at dev.sentix.squaremarker.SquareMarker.init(SquareMarker.kt:35) ~[squaremarker-paper-1.0.3-SNAPSHOT.jar:?] at dev.sentix.squaremarker.paper.SquareMarkerPlugin.onEnable(SquareMarkerPlugin.kt:27) ~[squaremarker-paper-1.0.3-SNAPSHOT.jar:?] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:279) ~[purpur-api-1.19.4-R0.1-SNAPSHOT.jar:?] at io.papermc.paper.plugin.manager.PaperPluginInstanceManager.enablePlugin(PaperPluginInstanceManager.java:192) ~[purpur-1.19.4.jar:git-Purpur-1956] at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.enablePlugin(PaperPluginManagerImpl.java:104) ~[purpur-1.19.4.jar:git-Purpur-1956] at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:507) ~[purpur-api-1.19.4-R0.1-SNAPSHOT.jar:?] at org.bukkit.craftbukkit.v1_19_R3.CraftServer.enablePlugin(CraftServer.java:569) ~[purpur-1.19.4.jar:git-Purpur-1956] at org.bukkit.craftbukkit.v1_19_R3.CraftServer.enablePlugins(CraftServer.java:480) ~[purpur-1.19.4.jar:git-Purpur-1956] at net.minecraft.server.MinecraftServer.loadWorld0(MinecraftServer.java:643) ~[purpur-1.19.4.jar:git-Purpur-1956] at net.minecraft.server.MinecraftServer.loadLevel(MinecraftServer.java:442) ~[purpur-1.19.4.jar:git-Purpur-1956] at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:344) ~[purpur-1.19.4.jar:git-Purpur-1956] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1120) ~[purpur-1.19.4.jar:git-Purpur-1956] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:325) ~[purpur-1.19.4.jar:git-Purpur-1956] at java.lang.Thread.run(Thread.java:1589) ~[?:?] Caused by: java.io.IOException: Server returned HTTP response code: 429 for URL: https://i.imgur.com/rghhT0u.png at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1993) ~[?:?] at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1585) ~[?:?] at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:224) ~[?:?] at java.net.URL.openStream(URL.java:1162) ~[?:?] at javax.imageio.ImageIO.read(ImageIO.java:1405) ~[?:?] ... 16 more [04:40:53] [Server thread/INFO]: [squaremarker] Disabling squaremarker v1.0.3-SNAPSHOT [04:40:53] [Server thread/ERROR]: Error occurred (in the plugin loader) while disabling squaremarker v1.0.3-SNAPSHOT (Is it up to date?) dev.sentix.lib.kotlin.UninitializedPropertyAccessException: lateinit property squareMarker has not been initialized at dev.sentix.squaremarker.paper.SquareMarkerPlugin.onDisable(SquareMarkerPlugin.kt:36) ~[squaremarker-paper-1.0.3-SNAPSHOT.jar:?] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:281) ~[purpur-api-1.19.4-R0.1-SNAPSHOT.jar:?] at io.papermc.paper.plugin.manager.PaperPluginInstanceManager.disablePlugin(PaperPluginInstanceManager.java:227) ~[purpur-1.19.4.jar:git-Purpur-1956] at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.disablePlugin(PaperPluginManagerImpl.java:109) ~[purpur-1.19.4.jar:git-Purpur-1956] at org.bukkit.plugin.SimplePluginManager.disablePlugin(SimplePluginManager.java:537) ~[purpur-api-1.19.4-R0.1-SNAPSHOT.jar:?] at io.papermc.paper.plugin.manager.PaperPluginInstanceManager.enablePlugin(PaperPluginInstanceManager.java:196) ~[purpur-1.19.4.jar:git-Purpur-1956] at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.enablePlugin(PaperPluginManagerImpl.java:104) ~[purpur-1.19.4.jar:git-Purpur-1956] at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:507) ~[purpur-api-1.19.4-R0.1-SNAPSHOT.jar:?] at org.bukkit.craftbukkit.v1_19_R3.CraftServer.enablePlugin(CraftServer.java:569) ~[purpur-1.19.4.jar:git-Purpur-1956] at org.bukkit.craftbukkit.v1_19_R3.CraftServer.enablePlugins(CraftServer.java:480) ~[purpur-1.19.4.jar:git-Purpur-1956] at net.minecraft.server.MinecraftServer.loadWorld0(MinecraftServer.java:643) ~[purpur-1.19.4.jar:git-Purpur-1956] at net.minecraft.server.MinecraftServer.loadLevel(MinecraftServer.java:442) ~[purpur-1.19.4.jar:git-Purpur-1956] at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:344) ~[purpur-1.19.4.jar:git-Purpur-1956] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1120) ~[purpur-1.19.4.jar:git-Purpur-1956] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:325) ~[purpur-1.19.4.jar:git-Purpur-1956] at java.lang.Thread.run(Thread.java:1589) ~[?:?]

which is leading to

[04:40:57] [Server thread/ERROR]: Encountered an unexpected exception java.lang.NullPointerException: Cannot invoke "dev.sentix.lib.cloud.commandframework.CommandTree$Node.getValue()" because the return value of "dev.sentix.lib.cloud.commandframework.bukkit.BukkitCommand.namedNode()" is null at dev.sentix.lib.cloud.commandframework.bukkit.BukkitCommand.getUsage(BukkitCommand.java:200) ~[squaremarker-paper-1.0.3-SNAPSHOT.jar:?] at org.bukkit.help.GenericCommandHelpTopic.<init>(GenericCommandHelpTopic.java:50) ~[purpur-api-1.19.4-R0.1-SNAPSHOT.jar:?] at org.bukkit.craftbukkit.v1_19_R3.help.SimpleHelpMap.initializeCommands(SimpleHelpMap.java:135) ~[purpur-1.19.4.jar:git-Purpur-1956] at org.bukkit.craftbukkit.v1_19_R3.CraftServer.enablePlugins(CraftServer.java:494) ~[purpur-1.19.4.jar:git-Purpur-1956] at net.minecraft.server.MinecraftServer.loadWorld0(MinecraftServer.java:643) ~[purpur-1.19.4.jar:git-Purpur-1956] at net.minecraft.server.MinecraftServer.loadLevel(MinecraftServer.java:442) ~[purpur-1.19.4.jar:git-Purpur-1956] at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:344) ~[purpur-1.19.4.jar:git-Purpur-1956] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1120) ~[purpur-1.19.4.jar:git-Purpur-1956] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:325) ~[purpur-1.19.4.jar:git-Purpur-1956] at java.lang.Thread.run(Thread.java:1589) ~[?:?] [04:40:57] [Server thread/ERROR]: This crash report has been saved to: /home/ubuntu/s1/./crash-reports/crash-2023-04-28_04.40.57-server.txt [04:40:57] [Server thread/INFO]: Stopping server

Which is leading a server to crash. It seems like squaremarker cannot get input stream from URL, but why does that crash entire server? It should not work like this.

SentixDev commented 1 year ago

Heyo, as you can read in the stacktrace: "Server returned HTTP response code: 429 for URL: https://i.imgur.com/rghhT0u.png"

HTTP response code 429 usually means the server is getting too many requests on this endpoint and is rate limiting. This is very common for public image hostings like imgur. However I'm not sure why that crashes the server I'll need to take a look at the code later.