WorldGuard

WorldGuard

8M Downloads

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

servicomcr opened this issue ยท 1 comments

commented

WorldEdit Version

v7.0.12+829a4a4

WorldGuard Version

v7.0.12+829a4a4

Platform Version

1.21 (Purpur-1.21-2284)

Confirmations

  • I am using the most recent Minecraft release.
  • I am using a version of WorldEdit compatible with my Minecraft version.
  • I am using a version of WorldGuard compatible with my Minecraft version.
  • I am using the latest or recommended version of my platform software.
  • I am NOT using a hybrid server, e.g. a server that combines Bukkit and Forge. Examples include Arclight, Mohist, and Cardboard.
  • I am NOT using a fork of WorldEdit, such as FastAsyncWorldEdit (FAWE) or AsyncWorldEdit (AWE)

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