2xsaiko / QuackLib

Abstraction layer for Minecraft mods
https://therealfarfetchd.github.io/quacklib
MIT License
4 stars 2 forks source link

QuackLib crashes while loading blocks if Sponge is installed #1

Closed 2xsaiko closed 6 years ago

2xsaiko commented 6 years ago

Imported from QuackLib#5

In the following, the error. Please also think about switiching to github. I'm in no way interested to need to have thirty accounts on pages i don't want to have and needed 45 minutes to find a working trash mail provider to be able to register here.

[14:17:16] [Server thread/ERROR]: Encountered an unexpected exception
java.lang.RuntimeException: java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:663) ~[EventBus.class:?]
at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:589) ~[EventBus.class:?]
at net.minecraftforge.registries.GameData.fireRegistryEvents(GameData.java:734) ~[GameData.class:?]
at net.minecraftforge.fml.common.Loader.preinitializeMods(Loader.java:604) ~[Loader.class:?]
at net.minecraftforge.fml.server.FMLServerHandler.beginServerLoading(FMLServerHandler.java:98) ~[FMLServerHandler.class:?]
at net.minecraftforge.fml.common.FMLCommonHandler.onServerStart(FMLCommonHandler.java:332) ~[FMLCommonHandler.class:?]
at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:125) ~[nz.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:484) [MinecraftServer.class:?]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_151]
Caused by: java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
at java.util.Collections$SingletonList.get(Collections.java:4815) ~[?:1.8.0_151]
at kotlin.reflect.jvm.internal.impl.types.TypeSubstitutor.substituteTypeArguments(TypeSubstitutor.java:275) ~[TypeSubstitutor.class:?]
at kotlin.reflect.jvm.internal.impl.types.TypeSubstitutor.substituteCompoundType(TypeSubstitutor.java:256) ~[TypeSubstitutor.class:?]
at kotlin.reflect.jvm.internal.impl.types.TypeSubstitutor.unsafeSubstitute(TypeSubstitutor.java:224) ~[TypeSubstitutor.class:?]
at kotlin.reflect.jvm.internal.impl.types.TypeSubstitutor.substituteTypeArguments(TypeSubstitutor.java:277) ~[TypeSubstitutor.class:?]
at kotlin.reflect.jvm.internal.impl.types.TypeSubstitutor.substituteCompoundType(TypeSubstitutor.java:256) ~[TypeSubstitutor.class:?]
at kotlin.reflect.jvm.internal.impl.types.TypeSubstitutor.unsafeSubstitute(TypeSubstitutor.java:224) ~[TypeSubstitutor.class:?]
at kotlin.reflect.jvm.internal.impl.types.TypeSubstitutor.substituteWithoutApproximation(TypeSubstitutor.java:123) ~[TypeSubstitutor.class:?]
at kotlin.reflect.jvm.internal.impl.types.TypeSubstitutor.substitute(TypeSubstitutor.java:108) ~[TypeSubstitutor.class:?]
at kotlin.reflect.jvm.internal.impl.types.TypeSubstitutor.substitute(TypeSubstitutor.java:101) ~[TypeSubstitutor.class:?]
at kotlin.reflect.jvm.internal.impl.descriptors.impl.PropertyDescriptorImpl.doSubstitute(PropertyDescriptorImpl.java:353) ~[PropertyDescriptorImpl.class:?]
at kotlin.reflect.jvm.internal.impl.descriptors.impl.PropertyDescriptorImpl$CopyConfiguration.build(PropertyDescriptorImpl.java:329) ~[PropertyDescriptorImpl$CopyConfiguration.class:?]
at kotlin.reflect.jvm.internal.impl.descriptors.impl.PropertyDescriptorImpl.substitute(PropertyDescriptorImpl.java:238) ~[PropertyDescriptorImpl.class:?]
at kotlin.reflect.jvm.internal.impl.descriptors.impl.PropertyDescriptorImpl.substitute(PropertyDescriptorImpl.java:36) ~[PropertyDescriptorImpl.class:?]
at kotlin.reflect.jvm.internal.impl.resolve.scopes.SubstitutingScope.substitute(SubstitutingScope.kt:47) ~[SubstitutingScope.class:?]
at kotlin.reflect.jvm.internal.impl.resolve.scopes.SubstitutingScope.substitute(SubstitutingScope.kt:65) ~[SubstitutingScope.class:?]
at kotlin.reflect.jvm.internal.impl.resolve.scopes.SubstitutingScope.getContributedVariables(SubstitutingScope.kt:72) ~[SubstitutingScope.class:?]
at kotlin.reflect.jvm.internal.impl.serialization.deserialization.descriptors.DeserializedClassDescriptor$DeserializedClassMemberScope.computeNonDeclaredProperties(DeserializedClassDescriptor.kt:252) ~[DeserializedClassDescriptor$DeserializedClassMemberScope.class:?]
at kotlin.reflect.jvm.internal.impl.serialization.deserialization.descriptors.DeserializedMemberScope.computeProperties(DeserializedMemberScope.kt:124) ~[DeserializedMemberScope.class:?]
at kotlin.reflect.jvm.internal.impl.serialization.deserialization.descriptors.DeserializedMemberScope.access$computeProperties(DeserializedMemberScope.kt:35) ~[DeserializedMemberScope.class:?]
at kotlin.reflect.jvm.internal.impl.serialization.deserialization.descriptors.DeserializedMemberScope$properties$1.invoke(DeserializedMemberScope.kt:61) ~[DeserializedMemberScope$properties$1.class:?]
at kotlin.reflect.jvm.internal.impl.serialization.deserialization.descriptors.DeserializedMemberScope$properties$1.invoke(DeserializedMemberScope.kt:35) ~[DeserializedMemberScope$properties$1.class:?]
at kotlin.reflect.jvm.internal.impl.storage.LockBasedStorageManager$MapBasedMemoizedFunction.invoke(LockBasedStorageManager.java:408) ~[LockBasedStorageManager$MapBasedMemoizedFunction.class:?]
at kotlin.reflect.jvm.internal.impl.storage.LockBasedStorageManager$MapBasedMemoizedFunctionToNotNull.invoke(LockBasedStorageManager.java:483) ~[LockBasedStorageManager$MapBasedMemoizedFunctionToNotNull.class:?]
at kotlin.reflect.jvm.internal.impl.serialization.deserialization.descriptors.DeserializedMemberScope.getContributedVariables(DeserializedMemberScope.kt:137) ~[DeserializedMemberScope.class:?]
at kotlin.reflect.jvm.internal.impl.serialization.deserialization.descriptors.DeserializedClassDescriptor$DeserializedClassMemberScope.getContributedVariables(DeserializedClassDescriptor.kt:232) ~[DeserializedClassDescriptor$DeserializedClassMemberScope.class:?]
at kotlin.reflect.jvm.internal.impl.resolve.scopes.SubstitutingScope.getContributedVariables(SubstitutingScope.kt:72) ~[SubstitutingScope.class:?]
at kotlin.reflect.jvm.internal.impl.serialization.deserialization.descriptors.DeserializedClassDescriptor$DeserializedClassMemberScope.computeNonDeclaredProperties(DeserializedClassDescriptor.kt:252) ~[DeserializedClassDescriptor$DeserializedClassMemberScope.class:?]
at kotlin.reflect.jvm.internal.impl.serialization.deserialization.descriptors.DeserializedMemberScope.computeProperties(DeserializedMemberScope.kt:124) ~[DeserializedMemberScope.class:?]
at kotlin.reflect.jvm.internal.impl.serialization.deserialization.descriptors.DeserializedMemberScope.access$computeProperties(DeserializedMemberScope.kt:35) ~[DeserializedMemberScope.class:?]
at kotlin.reflect.jvm.internal.impl.serialization.deserialization.descriptors.DeserializedMemberScope$properties$1.invoke(DeserializedMemberScope.kt:61) ~[DeserializedMemberScope$properties$1.class:?]
at kotlin.reflect.jvm.internal.impl.serialization.deserialization.descriptors.DeserializedMemberScope$properties$1.invoke(DeserializedMemberScope.kt:35) ~[DeserializedMemberScope$properties$1.class:?]
at kotlin.reflect.jvm.internal.impl.storage.LockBasedStorageManager$MapBasedMemoizedFunction.invoke(LockBasedStorageManager.java:408) ~[LockBasedStorageManager$MapBasedMemoizedFunction.class:?]
at kotlin.reflect.jvm.internal.impl.storage.LockBasedStorageManager$MapBasedMemoizedFunctionToNotNull.invoke(LockBasedStorageManager.java:483) ~[LockBasedStorageManager$MapBasedMemoizedFunctionToNotNull.class:?]
at kotlin.reflect.jvm.internal.impl.serialization.deserialization.descriptors.DeserializedMemberScope.getContributedVariables(DeserializedMemberScope.kt:137) ~[DeserializedMemberScope.class:?]
at kotlin.reflect.jvm.internal.impl.serialization.deserialization.descriptors.DeserializedClassDescriptor$DeserializedClassMemberScope.getContributedVariables(DeserializedClassDescriptor.kt:232) ~[DeserializedClassDescriptor$DeserializedClassMemberScope.class:?]
at kotlin.reflect.jvm.internal.impl.serialization.deserialization.descriptors.DeserializedMemberScope.addFunctionsAndProperties(DeserializedMemberScope.kt:185) ~[DeserializedMemberScope.class:?]
at kotlin.reflect.jvm.internal.impl.serialization.deserialization.descriptors.DeserializedMemberScope.computeDescriptors(DeserializedMemberScope.kt:153) ~[DeserializedMemberScope.class:?]
at kotlin.reflect.jvm.internal.impl.serialization.deserialization.descriptors.DeserializedClassDescriptor$DeserializedClassMemberScope$allDescriptors$1.invoke(DeserializedClassDescriptor.kt:218) ~[DeserializedClassDescriptor$DeserializedClassMemberScope$allDescriptors$1.class:?]
at kotlin.reflect.jvm.internal.impl.serialization.deserialization.descriptors.DeserializedClassDescriptor$DeserializedClassMemberScope$allDescriptors$1.invoke(DeserializedClassDescriptor.kt:211) ~[DeserializedClassDescriptor$DeserializedClassMemberScope$allDescriptors$1.class:?]
at kotlin.reflect.jvm.internal.impl.storage.LockBasedStorageManager$LockBasedLazyValue.invoke(LockBasedStorageManager.java:323) ~[LockBasedStorageManager$LockBasedLazyValue.class:?]
at kotlin.reflect.jvm.internal.impl.storage.LockBasedStorageManager$LockBasedNotNullLazyValue.invoke(LockBasedStorageManager.java:370) ~[LockBasedStorageManager$LockBasedNotNullLazyValue.class:?]
at kotlin.reflect.jvm.internal.impl.serialization.deserialization.descriptors.DeserializedClassDescriptor$DeserializedClassMemberScope.getContributedDescriptors(DeserializedClassDescriptor.kt:223) ~[DeserializedClassDescriptor$DeserializedClassMemberScope.class:?]
at kotlin.reflect.jvm.internal.impl.resolve.scopes.InnerClassesScopeWrapper.getContributedDescriptors(InnerClassesScopeWrapper.kt:35) ~[InnerClassesScopeWrapper.class:?]
at kotlin.reflect.jvm.internal.impl.resolve.scopes.InnerClassesScopeWrapper.getContributedDescriptors(InnerClassesScopeWrapper.kt:27) ~[InnerClassesScopeWrapper.class:?]
at kotlin.reflect.jvm.internal.impl.resolve.scopes.ResolutionScope$DefaultImpls.getContributedDescriptors$default(ResolutionScope.kt:40) ~[ResolutionScope$DefaultImpls.class:?]
at kotlin.reflect.jvm.internal.KClassImpl$Data$nestedClasses$2.invoke(KClassImpl.kt:96) ~[KClassImpl$Data$nestedClasses$2.class:?]
at kotlin.reflect.jvm.internal.KClassImpl$Data$nestedClasses$2.invoke(KClassImpl.kt:43) ~[KClassImpl$Data$nestedClasses$2.class:?]
at kotlin.reflect.jvm.internal.ReflectProperties$LazySoftVal.invoke(ReflectProperties.java:93) ~[ReflectProperties$LazySoftVal.class:?]
at kotlin.reflect.jvm.internal.ReflectProperties$Val.getValue(ReflectProperties.java:32) ~[ReflectProperties$Val.class:?]
at kotlin.reflect.jvm.internal.KClassImpl$Data.getNestedClasses(KClassImpl.kt) ~[KClassImpl$Data.class:?]
at kotlin.reflect.jvm.internal.KClassImpl.getNestedClasses(KClassImpl.kt:224) ~[KClassImpl.class:?]
at kotlin.reflect.full.KClasses.getCompanionObject(KClasses.kt:51) ~[KClasses.class:?]
at therealfarfetchd.quacklib.common.api.util.IBlockDefinition$Companion.populateBlockDefs(AutoRegistry.kt:97) ~[IBlockDefinition$Companion.class:?]
at therealfarfetchd.quacklib.common.Proxy.registerBlocks(Proxy.kt:143) ~[Proxy.class:?]
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_716_Proxy_registerBlocks_Register.invoke(.dynamic) ~[?:?]
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90) ~[ASMEventHandler.class:?]
at net.minecraftforge.fml.common.eventhandler.EventBus$1.invoke(EventBus.java:143) ~[EventBus$1.class:?]
at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:655) ~[EventBus.class:?]
... 8 more
2xsaiko commented 6 years ago

Can't reproduce, starts fine on the server. Outdated versions?

D3nnis3n commented 6 years ago

Still happening here.

D3nnis3n commented 6 years ago

What could i do to help you tracking it down? I'll have some time the day after tomorrow.

2xsaiko commented 6 years ago

Hmm, I might have fixed this when I changed things. Have you tried with the latest commit of both? (QuackLib, RetroComputers)

D3nnis3n commented 6 years ago

I'll try with the latest QuackLib Commit, but it's about RSWires - not RetroComputers.

2xsaiko commented 6 years ago

hold on, both you and the other guy have sponge installed, would you mind removing that as a test?

2xsaiko commented 6 years ago

Oh, whoops.

2xsaiko commented 6 years ago

Looks like this is indeed related to Sponge, I'll see if I can find a fix. Since Sponge messes with a lot of the internal code, I'm not sure if it'll be that easy. Probably possible, though

D3nnis3n commented 6 years ago

Oh, another Sponge Issue. If found them to be very helpful on their tracker.

2xsaiko commented 6 years ago

This is definitely a strange issue, since that code is only related to reflecting into my own classes and therefore not something Sponge should ever touch. I have no idea how to even try to fix this since most of the stacktrace is in Kotlin's reflection code and not therefore something I can edit. Would you mind reporting this to their issue tracker?

D3nnis3n commented 6 years ago

I referenced the issue over there.

2xsaiko commented 6 years ago

Oops this has been fixed a long time ago. facepalm