Closed DreamVoid closed 2 months ago
Please try the latest jenkins build and test if the problem persists
Please try the latest jenkins build and test if the problem persists
Still
18:59:18 INFO]: [packetevents] Loading packetevents v2.3.1-SNAPSHOT
[18:59:22 ERROR]: [org.bukkit.craftbukkit.v1_12_R1.CraftServer] Java heap space initializing packetevents v2.3.1-SNAPSHOT (Is it up to date?)
java.lang.OutOfMemoryError: Java heap space
at java.util.LinkedHashMap.newNode(Unknown Source) ~[?:?]
at java.util.HashMap.putVal(Unknown Source) ~[?:?]
at java.util.HashMap.put(Unknown Source) ~[?:?]
at com.github.retrooper.packetevents.protocol.nbt.NBTCompound.setTag(NBTCompound.java:195) ~[?:?]
at com.github.retrooper.packetevents.protocol.nbt.serializer.DefaultNBTSerializer.lambda$new$22(DefaultNBTSerializer.java:141) ~[?:?]
at com.github.retrooper.packetevents.protocol.nbt.serializer.DefaultNBTSerializer$$Lambda$449/0x00007fef7c7ba4b8.readTag(Unknown Source) ~[?:?]
at com.github.retrooper.packetevents.protocol.nbt.serializer.NBTSerializer.readTag(NBTSerializer.java:116) ~[?:?]
at com.github.retrooper.packetevents.protocol.nbt.serializer.DefaultNBTSerializer.lambda$new$20(DefaultNBTSerializer.java:118) ~[?:?]
at com.github.retrooper.packetevents.protocol.nbt.serializer.DefaultNBTSerializer$$Lambda$447/0x00007fef7c7ba058.readTag(Unknown Source) ~[?:?]
at com.github.retrooper.packetevents.protocol.nbt.serializer.NBTSerializer.readTag(NBTSerializer.java:116) ~[?:?]
at com.github.retrooper.packetevents.protocol.nbt.serializer.DefaultNBTSerializer.lambda$new$22(DefaultNBTSerializer.java:139) ~[?:?]
at com.github.retrooper.packetevents.protocol.nbt.serializer.DefaultNBTSerializer$$Lambda$449/0x00007fef7c7ba4b8.readTag(Unknown Source) ~[?:?]
at com.github.retrooper.packetevents.protocol.nbt.serializer.NBTSerializer.readTag(NBTSerializer.java:116) ~[?:?]
at com.github.retrooper.packetevents.protocol.nbt.serializer.DefaultNBTSerializer.lambda$new$20(DefaultNBTSerializer.java:118) ~[?:?]
at com.github.retrooper.packetevents.protocol.nbt.serializer.DefaultNBTSerializer$$Lambda$447/0x00007fef7c7ba058.readTag(Unknown Source) ~[?:?]
at com.github.retrooper.packetevents.protocol.nbt.serializer.NBTSerializer.readTag(NBTSerializer.java:116) ~[?:?]
at com.github.retrooper.packetevents.protocol.nbt.serializer.DefaultNBTSerializer.lambda$new$22(DefaultNBTSerializer.java:139) ~[?:?]
at com.github.retrooper.packetevents.protocol.nbt.serializer.DefaultNBTSerializer$$Lambda$449/0x00007fef7c7ba4b8.readTag(Unknown Source) ~[?:?]
at com.github.retrooper.packetevents.protocol.nbt.serializer.NBTSerializer.readTag(NBTSerializer.java:116) ~[?:?]
at com.github.retrooper.packetevents.protocol.nbt.serializer.NBTSerializer.deserializeTag(NBTSerializer.java:62) ~[?:?]
at com.github.retrooper.packetevents.protocol.nbt.serializer.NBTSerializer.deserializeTag(NBTSerializer.java:51) ~[?:?]
at com.github.retrooper.packetevents.util.mappings.MappingHelper.decompress(MappingHelper.java:42) ~[?:?]
at com.github.retrooper.packetevents.protocol.world.states.WrappedBlockState.loadModern(WrappedBlockState.java:278) ~[?:?]
at com.github.retrooper.packetevents.protocol.world.states.WrappedBlockState.<clinit>(WrappedBlockState.java:53) ~[?:?]
at io.github.retrooper.packetevents.factory.spigot.SpigotPacketEventsBuilder$1.load(SpigotPacketEventsBuilder.java:105) ~[?:?]
at io.github.retrooper.packetevents.PacketEventsPlugin.onLoad(PacketEventsPlugin.java:40) ~[?:?]
at org.bukkit.craftbukkit.v1_12_R1.CraftServer.loadPlugins(CraftServer.java:326) ~[patched_1.12.2.jar:git-Dionysus-"8d3095e"]
at net.minecraft.server.v1_12_R1.DedicatedServer.init(DedicatedServer.java:226) ~[patched_1.12.2.jar:git-Dionysus-"8d3095e"]
at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:630) ~[patched_1.12.2.jar:git-Dionysus-"8d3095e"]
at java.lang.Thread.run(Unknown Source) ~[?:?]
I couldn't reproduce. Memory jumps from ~300MB to 600MB usage without/with packetevents. (Building latest version of 2.0 branch)
I couldn't reproduce. Memory jumps from ~300MB to 600MB usage without/with packetevents. (Building latest version of 2.0 branch)
“600MB”
Nice comment and please rewatch my issue
Nice comment and please rewatch my issue
I am saying like that more ram usage doesn't automatically indicate a memory leak.
Has been fixed in the development builds.
Has been fixed in the development builds.
When is the stable version ETA?
[13:26:47 INFO]: [packetevents] Loading packetevents v2.4.0-SNAPSHOT
[13:26:51 ERROR]: [org.bukkit.craftbukkit.v1_12_R1.CraftServer] Java heap space initializing packetevents v2.4.0-SNAPSHOT (Is it up to date?)
java.lang.OutOfMemoryError: Java heap space
at java.lang.StringUTF16.compress(Unknown Source) ~[?:?]
at java.lang.String.<init>(Unknown Source) ~[?:?]
at java.lang.String.<init>(Unknown Source) ~[?:?]
at java.io.DataInputStream.readUTF(Unknown Source) ~[?:?]
at java.io.DataInputStream.readUTF(Unknown Source) ~[?:?]
at com.github.retrooper.packetevents.protocol.nbt.serializer.DefaultNBTSerializer.lambda$new$1(DefaultNBTSerializer.java:41) ~[?:?]
at com.github.retrooper.packetevents.protocol.nbt.serializer.DefaultNBTSerializer$$Lambda$427/0x00007fb1607c17d8.readName(Unknown Source) ~[?:?]
at com.github.retrooper.packetevents.protocol.nbt.serializer.NBTSerializer.readTagName(NBTSerializer.java:108) ~[?:?]
at com.github.retrooper.packetevents.protocol.nbt.serializer.DefaultNBTSerializer.lambda$new$22(DefaultNBTSerializer.java:138) ~[?:?]
at com.github.retrooper.packetevents.protocol.nbt.serializer.DefaultNBTSerializer$$Lambda$449/0x00007fb1607cf3b0.readTag(Unknown Source) ~[?:?]
at com.github.retrooper.packetevents.protocol.nbt.serializer.NBTSerializer.readTag(NBTSerializer.java:116) ~[?:?]
at com.github.retrooper.packetevents.protocol.nbt.serializer.DefaultNBTSerializer.lambda$new$20(DefaultNBTSerializer.java:118) ~[?:?]
at com.github.retrooper.packetevents.protocol.nbt.serializer.DefaultNBTSerializer$$Lambda$447/0x00007fb1607cef50.readTag(Unknown Source) ~[?:?]
at com.github.retrooper.packetevents.protocol.nbt.serializer.NBTSerializer.readTag(NBTSerializer.java:116) ~[?:?]
at com.github.retrooper.packetevents.protocol.nbt.serializer.DefaultNBTSerializer.lambda$new$22(DefaultNBTSerializer.java:139) ~[?:?]
at com.github.retrooper.packetevents.protocol.nbt.serializer.DefaultNBTSerializer$$Lambda$449/0x00007fb1607cf3b0.readTag(Unknown Source) ~[?:?]
at com.github.retrooper.packetevents.protocol.nbt.serializer.NBTSerializer.readTag(NBTSerializer.java:116) ~[?:?]
at com.github.retrooper.packetevents.protocol.nbt.serializer.DefaultNBTSerializer.lambda$new$20(DefaultNBTSerializer.java:118) ~[?:?]
at com.github.retrooper.packetevents.protocol.nbt.serializer.DefaultNBTSerializer$$Lambda$447/0x00007fb1607cef50.readTag(Unknown Source) ~[?:?]
at com.github.retrooper.packetevents.protocol.nbt.serializer.NBTSerializer.readTag(NBTSerializer.java:116) ~[?:?]
at com.github.retrooper.packetevents.protocol.nbt.serializer.DefaultNBTSerializer.lambda$new$22(DefaultNBTSerializer.java:139) ~[?:?]
at com.github.retrooper.packetevents.protocol.nbt.serializer.DefaultNBTSerializer$$Lambda$449/0x00007fb1607cf3b0.readTag(Unknown Source) ~[?:?]
at com.github.retrooper.packetevents.protocol.nbt.serializer.NBTSerializer.readTag(NBTSerializer.java:116) ~[?:?]
at com.github.retrooper.packetevents.protocol.nbt.serializer.NBTSerializer.deserializeTag(NBTSerializer.java:62) ~[?:?]
at com.github.retrooper.packetevents.protocol.nbt.serializer.NBTSerializer.deserializeTag(NBTSerializer.java:51) ~[?:?]
at com.github.retrooper.packetevents.util.mappings.MappingHelper.decompress(MappingHelper.java:42) ~[?:?]
at com.github.retrooper.packetevents.protocol.world.states.WrappedBlockState.loadModern(WrappedBlockState.java:278) ~[?:?]
at com.github.retrooper.packetevents.protocol.world.states.WrappedBlockState.<clinit>(WrappedBlockState.java:53) ~[?:?]
at io.github.retrooper.packetevents.factory.spigot.SpigotPacketEventsBuilder$1.load(SpigotPacketEventsBuilder.java:105) ~[?:?]
at io.github.retrooper.packetevents.PacketEventsPlugin.onLoad(PacketEventsPlugin.java:40) ~[?:?]
at org.bukkit.craftbukkit.v1_12_R1.CraftServer.loadPlugins(CraftServer.java:326) ~[patched_1.12.2.jar:git-Dionysus-"8d3095e"]
at net.minecraft.server.v1_12_R1.DedicatedServer.init(DedicatedServer.java:226) ~[patched_1.12.2.jar:git-Dionysus-"8d3095e"]
PE needs a fair amount of ram to load everything up. The stacktrace doesn't indicate any memory leak.
PE needs a fair amount of ram to load everything up. The stacktrace doesn't indicate any memory leak.
So, why does such a plugin need to create so many instances during loading state to keep running?
I have never seen an out of memory error in the past years, and this is the first time.
Plugins or applications in general need data to perform task. PE contains version specific mapping file to function. All the extra overhead is cleared after all the mapping files loads up.
An improvement is being worked on by @AbhigyaKrishna to keep the memory usage at a low during this loading of mappings.
Mappings loading are now optimized. Try using the latest version of packetevents and check the results.
Mappings loading are now optimized. Try using the latest version of packetevents and check the results.
It works well, thanks for your work.
Describe the bug
Software brand Dinoysus 1.12.2
Plugins
How To Reproduce
java.lang.OutOfMemoryError: Java heap space
Expected behavior Memory should not be leaked
Screenshots No need more screenshots
Additional context The server running on Java 17 and allocated 256MB of memory. Other plugins works well. When allocated 1GB memory, process will take 1,100 MB(without packetevents installed it only take less 200MB) and start normally while no player joined