EngineHub / WorldGuard

🛡️ Protect your Minecraft server and lets players claim areas
https://enginehub.org/worldguard/
Other
819 stars 537 forks source link

Error disabling WorldGuard v7.0.12 - "IllegalStateException: zip file closed" #2148

Closed servicomcr closed 2 hours ago

servicomcr commented 2 hours ago

WorldEdit Version

v7.0.12+829a4a4

WorldGuard Version

v7.0.12+829a4a4

Platform Version

1.21 (Purpur-1.21-2284)

Confirmations

Bug Description

Description: When disabling WorldGuard on my Minecraft server, an error occurs. The error log points to an IllegalStateException: zip file closed related to the PluginClassLoader and a ProtectionStones interaction. Below is the full error log for reference.

Steps to Reproduce:

Run a server using Purpur version 1.21 with the following plugins: WorldGuard v7.0.12 ProtectionStones v2.10.5 Disable the WorldGuard plugin while the server is running. Observe the error during the disabling process. Expected behavior: WorldGuard should disable cleanly without throwing any exceptions.

ERROR LOG [21:40:24 ERROR]: Error occurred while disabling WorldGuard v7.0.12+829a4a4 java.lang.IllegalStateException: zip file closed at java.base/java.util.zip.ZipFile.ensureOpen(ZipFile.java:846) ~[?:?] at java.base/java.util.zip.ZipFile.getEntry(ZipFile.java:338) ~[?:?] at java.base/java.util.jar.JarFile.getEntry(JarFile.java:516) ~[?:?] at java.base/java.util.jar.JarFile.getJarEntry(JarFile.java:471) ~[?:?] at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:209) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:?] ...

Server Information:

Minecraft Version: 1.21 (Purpur-1.21-2284) WorldGuard Version: 7.0.12+829a4a4 ProtectionStones Version: 2.10.5 WorldEdit Version: 7.3.6+6892-3d660b8 Java Version: OpenJDK 17 Additional Context: It seems like the error is triggered during interaction between WorldGuard and ProtectionStones, particularly related to handling flags when shutting down the session. The error occurs during server shutdown or when WorldGuard is manually disabled.

https://www.spigotmc.org/resources/protectionstones-updated-for-1-20-6.61797/

Expected Behavior

[21:40:24 ERROR]: Error occurred while disabling WorldGuard v7.0.12+829a4a4 java.lang.IllegalStateException: zip file closed at java.base/java.util.zip.ZipFile.ensureOpen(ZipFile.java:846) ~[?:?] at java.base/java.util.zip.ZipFile.getEntry(ZipFile.java:338) ~[?:?] at java.base/java.util.jar.JarFile.getEntry(JarFile.java:516) ~[?:?] at java.base/java.util.jar.JarFile.getJarEntry(JarFile.java:471) ~[?:?] at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:209) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:?] at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:593) ~[?:?] at org.bukkit.plugin.java.PluginClassLoader.loadClass0(PluginClassLoader.java:169) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:?] at org.bukkit.plugin.java.PluginClassLoader.loadClass(PluginClassLoader.java:164) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:?] at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526) ~[?:?] at ProtectionStones-2.10.5.jar/dev.espi.protectionstones.flags.FarewellFlagHandler.onAbsentValue(FarewellFlagHandler.java:73) ~[ProtectionStones-2.10.5.jar:?] at ProtectionStones-2.10.5.jar/dev.espi.protectionstones.flags.FarewellFlagHandler.onAbsentValue(FarewellFlagHandler.java:37) ~[ProtectionStones-2.10.5.jar:?] at worldguard-bukkit-7.0.12-dist.jar/com.sk89q.worldguard.session.handler.FlagValueChangeHandler.onClearValue(FlagValueChangeHandler.java:86) ~[worldguard-bukkit-7.0.12-dist.jar:?] at worldguard-bukkit-7.0.12-dist.jar/com.sk89q.worldguard.session.handler.FlagValueChangeHandler.uninitialize(FlagValueChangeHandler.java:50) ~[worldguard-bukkit-7.0.12-dist.jar:?] at worldguard-bukkit-7.0.12-dist.jar/com.sk89q.worldguard.session.Session.uninitialize(Session.java:144) ~[worldguard-bukkit-7.0.12-dist.jar:?] at worldguard-bukkit-7.0.12-dist.jar/com.sk89q.worldguard.bukkit.session.BukkitSessionManager.shutdown(BukkitSessionManager.java:92) ~[worldguard-bukkit-7.0.12-dist.jar:?] at worldguard-bukkit-7.0.12-dist.jar/com.sk89q.worldguard.bukkit.BukkitWorldGuardPlatform.unload(BukkitWorldGuardPlatform.java:149) ~[worldguard-bukkit-7.0.12-dist.jar:?] at worldguard-bukkit-7.0.12-dist.jar/com.sk89q.worldguard.WorldGuard.disable(WorldGuard.java:206) ~[worldguard-bukkit-7.0.12-dist.jar:?] at worldguard-bukkit-7.0.12-dist.jar/com.sk89q.worldguard.bukkit.WorldGuardPlugin.onDisable(WorldGuardPlugin.java:266) ~[worldguard-bukkit-7.0.12-dist.jar:?] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:291) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:?] at io.papermc.paper.plugin.manager.PaperPluginInstanceManager.disablePlugin(PaperPluginInstanceManager.java:237) ~[purpur-1.21.jar:1.21-2284-4e55e26] at io.papermc.paper.plugin.manager.PaperPluginInstanceManager.disablePlugins(PaperPluginInstanceManager.java:161) ~[purpur-1.21.jar:1.21-2284-4e55e26] at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.disablePlugins(PaperPluginManagerImpl.java:97) ~[purpur-1.21.jar:1.21-2284-4e55e26] at org.bukkit.plugin.SimplePluginManager.disablePlugins(SimplePluginManager.java:541) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:?] at org.bukkit.craftbukkit.CraftServer.disablePlugins(CraftServer.java:623) ~[purpur-1.21.jar:1.21-2284-4e55e26] at net.minecraft.server.MinecraftServer.stopServer(MinecraftServer.java:1058) ~[purpur-1.21.jar:1.21-2284-4e55e26] at net.minecraft.server.dedicated.DedicatedServer.stopServer(DedicatedServer.java:883) ~[purpur-1.21.jar:1.21-2284-4e55e26] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1389) ~[purpur-1.21.jar:1.21-2284-4e55e26] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:333) ~[purpur-1.21.jar:1.21-2284-4e55e26] at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?] [21:40:24 INFO]: [WorldEdit] Disabling WorldEdit v7.3.6+6892-3d660b8

Reproduction Steps

  1. ...
  2. ... x1.21 (Purpur-1.21-2284)

Optional WorldGuard-Report

https://paste.enginehub.org/sTek1WWQZ.report

Anything Else?

n/a

wizjany commented 2 hours ago

https://madelinemiller.dev/blog/minecraft-zip-file-closed/