LOOHP/ImageFrame

NullPointerException on BiConsumer.accept(Object, Object)

Closed this issue · 1 comments

So recently my server hit its disk space capacity limit, so I extended the partition size but after booting up the server again it seems about a dozen or so out of the 509 total imageframes gave exceptions in the console. The exceptions all looked identical to eachother. here is one.
[09:43:59] [Craft Scheduler Thread - 6 - ImageFrame/INFO]: [ImageFrame] Unable to load ImageMap data in /home/opc/plugins/ImageFrame/data/387 [09:43:59] [Craft Scheduler Thread - 6 - ImageFrame/WARN]: java.lang.reflect.InvocationTargetException [09:43:59] [Craft Scheduler Thread - 6 - ImageFrame/WARN]: at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:119) [09:43:59] [Craft Scheduler Thread - 6 - ImageFrame/WARN]: at java.base/java.lang.reflect.Method.invoke(Method.java:578) [09:43:59] [Craft Scheduler Thread - 6 - ImageFrame/WARN]: at ImageFrame-1.7.3.3.jar//com.loohp.imageframe.objectholders.ImageMap.load(ImageMap.java:77) [09:43:59] [Craft Scheduler Thread - 6 - ImageFrame/WARN]: at ImageFrame-1.7.3.3.jar//com.loohp.imageframe.objectholders.ImageMapManager.loadMaps(ImageMapManager.java:234) [09:43:59] [Craft Scheduler Thread - 6 - ImageFrame/WARN]: at ImageFrame-1.7.3.3.jar//com.loohp.imageframe.ImageFrame.lambda$onEnable$1(ImageFrame.java:242) [09:43:59] [Craft Scheduler Thread - 6 - ImageFrame/WARN]: at org.bukkit.craftbukkit.v1_19_R3.scheduler.CraftTask.run(CraftTask.java:101) [09:43:59] [Craft Scheduler Thread - 6 - ImageFrame/WARN]: at org.bukkit.craftbukkit.v1_19_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:57) [09:43:59] [Craft Scheduler Thread - 6 - ImageFrame/WARN]: at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) [09:43:59] [Craft Scheduler Thread - 6 - ImageFrame/WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) [09:43:59] [Craft Scheduler Thread - 6 - ImageFrame/WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) [09:43:59] [Craft Scheduler Thread - 6 - ImageFrame/WARN]: at java.base/java.lang.Thread.run(Thread.java:1623) [09:43:59] [Craft Scheduler Thread - 6 - ImageFrame/WARN]: Caused by: javax.imageio.IIOException: Can't read input file! [09:43:59] [Craft Scheduler Thread - 6 - ImageFrame/WARN]: at java.desktop/javax.imageio.ImageIO.read(ImageIO.java:1308) [09:43:59] [Craft Scheduler Thread - 6 - ImageFrame/WARN]: at ImageFrame-1.7.3.3.jar//com.loohp.imageframe.objectholders.URLAnimatedImageMap.load(URLAnimatedImageMap.java:133) [09:43:59] [Craft Scheduler Thread - 6 - ImageFrame/WARN]: at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) [09:43:59] [Craft Scheduler Thread - 6 - ImageFrame/WARN]: ... 10 more

After going through each exception and deleting each plugins/imageframe/data/ folder that generated an exception, the only exception left were about 2 of the following that were files located in world/data/map_.dat

[09:43:11] [Server thread/ERROR]: Error loading saved data: map_234 java.lang.ArrayIndexOutOfBoundsException: arraycopy: length -1 is negative at java.lang.System.arraycopy(Native Method) ~[?:?] at java.io.PushbackInputStream.unread(PushbackInputStream.java:247) ~[?:?] at net.minecraft.world.level.storage.DimensionDataStorage.isGzip(DimensionDataStorage.java:115) ~[?:?] at net.minecraft.world.level.storage.DimensionDataStorage.readTagFromDisk(DimensionDataStorage.java:88) ~[?:?] at net.minecraft.world.level.storage.DimensionDataStorage.readSavedData(DimensionDataStorage.java:65) ~[?:?] at net.minecraft.world.level.storage.DimensionDataStorage.get(DimensionDataStorage.java:53) ~[?:?] at net.minecraft.server.level.ServerLevel.getMapData(ServerLevel.java:1928) ~[?:?] at org.bukkit.craftbukkit.v1_19_R3.CraftServer.getMap(CraftServer.java:1709) ~[paper-1.19.4.jar:git-Paper-538] at org.bukkit.craftbukkit.v1_19_R3.CraftServer.getMap(CraftServer.java:259) ~[paper-1.19.4.jar:git-Paper-538] at org.bukkit.Bukkit.getMap(Bukkit.java:868) ~[paper-api-1.19.4-R0.1-SNAPSHOT.jar:?] at org.bukkit.craftbukkit.v1_19_R3.inventory.CraftMetaMap.getMapView(CraftMetaMap.java:153) ~[paper-1.19.4.jar:git-Paper-538] at com.loohp.imageframe.utils.MapUtils.getItemMapView(MapUtils.java:287) ~[ImageFrame-1.7.3.3.jar:?] at com.loohp.imageframe.listeners.Events.onChunkLoad(Events.java:249) ~[ImageFrame-1.7.3.3.jar:?] at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor275.execute(Unknown Source) ~[?:?] at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:77) ~[paper-api-1.19.4-R0.1-SNAPSHOT.jar:?] at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:81) ~[paper-api-1.19.4-R0.1-SNAPSHOT.jar:git-Paper-538] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-api-1.19.4-R0.1-SNAPSHOT.jar:?] at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) ~[paper-1.19.4.jar:git-Paper-538] at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:126) ~[paper-1.19.4.jar:git-Paper-538] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:615) ~[paper-api-1.19.4-R0.1-SNAPSHOT.jar:?] at net.minecraft.world.level.chunk.LevelChunk.loadCallback(LevelChunk.java:910) ~[?:?] at net.minecraft.world.level.chunk.LevelChunk.onChunkLoad(LevelChunk.java:861) ~[?:?] at io.papermc.paper.chunk.system.scheduling.NewChunkHolder.handleFullStatusChange(NewChunkHolder.java:1311) ~[paper-1.19.4.jar:git-Paper-538] at io.papermc.paper.chunk.system.scheduling.ChunkHolderManager.processPendingFullUpdate(ChunkHolderManager.java:1057) ~[paper-1.19.4.jar:git-Paper-538] at io.papermc.paper.chunk.system.scheduling.ChunkHolderManager.processTicketUpdates(ChunkHolderManager.java:1041) ~[paper-1.19.4.jar:git-Paper-538] at io.papermc.paper.chunk.system.scheduling.ChunkHolderManager.processTicketUpdates(ChunkHolderManager.java:926) ~[paper-1.19.4.jar:git-Paper-538] at net.minecraft.server.level.ServerChunkCache.runDistanceManagerUpdates(ServerChunkCache.java:583) ~[?:?] at net.minecraft.server.level.ServerChunkCache$MainThreadExecutor.pollTask(ServerChunkCache.java:1005) ~[?:?] at net.minecraft.server.level.ServerChunkCache.pollTask(ServerChunkCache.java:579) ~[?:?] at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1330) ~[paper-1.19.4.jar:git-Paper-538] at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1312) ~[paper-1.19.4.jar:git-Paper-538] at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:136) ~[?:?] at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1389) ~[paper-1.19.4.jar:git-Paper-538] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1174) ~[paper-1.19.4.jar:git-Paper-538] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:320) ~[paper-1.19.4.jar:git-Paper-538] at java.lang.Thread.run(Thread.java:1623) ~[?:?]

Now after deleting those files, I now get random NullPointerExceptions. Here is what they look like

[23:01:54 WARN]: [ImageFrame] Plugin ImageFrame v1.7.3.3 generated an exception while executing task 1835737 java.lang.NullPointerException: Cannot invoke "java.util.function.BiConsumer.accept(Object, Object)" because "completionCallback" is null at com.loohp.imageframe.objectholders.RateLimitedPacketSendingManager.queue(RateLimitedPacketSendingManager.java:65) ~[ImageFrame-1.7.3.3.jar:?] at com.loohp.imageframe.utils.MapUtils.sendImageMap(MapUtils.java:240) ~[ImageFrame-1.7.3.3.jar:?] at com.loohp.imageframe.utils.MapUtils.sendImageMap(MapUtils.java:169) ~[ImageFrame-1.7.3.3.jar:?] at com.loohp.imageframe.utils.MapUtils.sendImageMap(MapUtils.java:145) ~[ImageFrame-1.7.3.3.jar:?] at com.loohp.imageframe.objectholders.ImageMap.send(ImageMap.java:218) ~[ImageFrame-1.7.3.3.jar:?] at com.loohp.imageframe.objectholders.ImageMap.send(ImageMap.java:213) ~[ImageFrame-1.7.3.3.jar:?] at com.loohp.imageframe.objectholders.AnimatedFakeMapManager.lambda$tick$7(AnimatedFakeMapManager.java:193) ~[ImageFrame-1.7.3.3.jar:?] at org.bukkit.craftbukkit.v1_19_R3.scheduler.CraftTask.run(CraftTask.java:101) ~[paper-1.19.4.jar:git-Paper-538] at org.bukkit.craftbukkit.v1_19_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:57) ~[paper-1.19.4.jar:git-Paper-538] at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) ~[paper-1.19.4.jar:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?] at java.lang.Thread.run(Thread.java:1623) ~[?:?]

Currently Using:
Paper-1.19.4-538
ImageFrame-1.7.3.3
Oracle Cloud VM Hosting

LOOHP commented

Should be fixed in 1.7.3.4