ProtocolLib icon indicating copy to clipboard operation
ProtocolLib copied to clipboard

Cannot invoke "java.lang.Class.getEnumConstantsShared()" because "klass" is null

Open bridgelol opened this issue 1 year ago • 8 comments

  • [x] This issue is not solved in a development build Cannot invoke "java.lang.Class.getEnumConstantsShared()" because "klass" is null at java.lang.System$2.getEnumConstantsShared(System.java:2371) at java.util.EnumSet.getUniverse(EnumSet.java:410) at java.util.EnumSet.noneOf(EnumSet.java:113) at com.comphenix.protocol.wrappers.EnumWrappers.createEmptyEnumSet(EnumWrappers.java:847) at com.comphenix.protocol.events.AbstractStructure.lambda$getPlayerInfoActions$1(AbstractStructure.java:675) at com.comphenix.protocol.wrappers.Converters$6.getGeneric(Converters.java:193) at com.comphenix.protocol.wrappers.Converters$6.getGeneric(Converters.java:188) at com.comphenix.protocol.wrappers.Converters$1.getGeneric(Converters.java:55) at com.comphenix.protocol.reflect.StructureModifier.writeInternal(StructureModifier.java:357) at com.comphenix.protocol.reflect.StructureModifier.write(StructureModifier.java:321)

Implementation:

Writing to AbstractStructure#getPlayerInfoActions() throws this the first time around for some reason, only does it one-off

5.2.0-SNAPSHOT-679

bridgelol avatar Jun 04 '24 17:06 bridgelol

Issue was also reported here: #2061

bridgelol avatar Jun 04 '24 17:06 bridgelol

does this just happen the first time, or is it seemingly random? would be good to understand specifically how it happens to better fix it

dmulloy2 avatar Jun 04 '24 20:06 dmulloy2

does this just happen the first time, or is it seemingly random? would be good to understand specifically how it happens to better fix it

First time only

bridgelol avatar Jun 05 '24 14:06 bridgelol

which version are you using?

dmulloy2 avatar Jun 05 '24 19:06 dmulloy2

which version are you using?

5.2.0-SNAPSHOT-679

bridgelol avatar Jun 06 '24 16:06 bridgelol

@bridgelol does this still happen on the latest dev build?

dmulloy2 avatar Jun 14 '24 19:06 dmulloy2

@bridgelol does this still happen on the latest dev build?

Seems fine but breaks scoreboard team packet functionality (unless I'm unaware of it changing).

FieldAccessExceptionnetherite Field index 0 is out of bounds for length 0

at com.comphenix.protocol.reflect.FieldAccessException.fromFormat(FieldAccessException.java:49) at com.comphenix.protocol.reflect.StructureModifier.write(StructureModifier.java:318) at gg.netherite.plugin.paper.protocol.wrapper.PacketWrapperScoreboardTeam$Update.build(PacketWrapperScoreboardTeam.kt:65) at gg.netherite.plugin.paper.protocol.wrapper.PacketWrapperScoreboardTeam$Create.build(PacketWrapperScoreboardTeam.kt:43) at gg.netherite.plugin.paper.protocol.ExtensionKt.sendPacketWrapper(extension.kt:40) at gg.netherite.plugin.paper.nametag.NametagManager$setup$1$1.invokeSuspend(NametagManager.kt:94) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104) 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:1583)

This is on a 1.20.4 paper server

bridgelol avatar Jun 15 '24 02:06 bridgelol

Any update on this @dmulloy2?

bridgelol avatar Jul 04 '24 23:07 bridgelol