2xsaiko / hctm-base

MIT License
2 stars 3 forks source link

Crashing issue with RSWires calling method in hctm #3

Closed i509VCB closed 3 years ago

i509VCB commented 3 years ago

Crash log:

net.minecraft.class_148: Exception ticking world
    at net.minecraft.server.MinecraftServer.method_3813(MinecraftServer.java:875) ~[intermediary-server.jar:?]
    at net.minecraft.class_3176.method_3813(class_3176.java:312) ~[intermediary-server.jar:?]
    at net.minecraft.server.MinecraftServer.method_3748(MinecraftServer.java:811) ~[intermediary-server.jar:?]
    at net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:670) ~[intermediary-server.jar:?]
    at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:257) ~[intermediary-server.jar:?]
    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_275]
Caused by: java.lang.IllegalArgumentException: Cannot get property class_2746{name=up, clazz=class java.lang.Boolean, values=[true, false]} as it does not exist in Block{minecraft:air}
    at net.minecraft.class_2688.method_11654(class_2688.java:95) ~[intermediary-server.jar:?]
    at net.dblsaiko.hctm.common.block.WireUtils.getOccupiedSides(WireUtils.java:360) ~[99419b49-36db-44ca-bdbf-4266bce3ac04.jar:?]
    at net.dblsaiko.rswires.common.block.RedstoneWireUtils.isReceivingPower(RedstoneWireUtils.java:347) ~[rswires-4.9.1.jar:?]
    at net.dblsaiko.rswires.common.block.RedAlloyWirePartExt.getInput(RedAlloyWirePartExt.java:203) ~[rswires-4.9.1.jar:?]
    at net.dblsaiko.rswires.common.block.RedstoneWireUtils.updateState(RedstoneWireUtils.java:336) ~[rswires-4.9.1.jar:?]
    at net.dblsaiko.rswires.common.block.RedstoneWireUtils.flushUpdates(RedstoneWireUtils.java:328) ~[rswires-4.9.1.jar:?]
    at net.dblsaiko.rswires.RSWires$onInitialize$1.tick(RSWires.java:23) ~[rswires-4.9.1.jar:?]
    at net.fabricmc.fabric.api.event.world.WorldTickCallback.lambda$null$0(WorldTickCallback.java:41) ~[3f464377-e5bd-4882-b32e-170745e6247d.jar:?]
    at net.fabricmc.fabric.impl.event.lifecycle.LegacyEventInvokers.lambda$onInitialize$3(LegacyEventInvokers.java:35) ~[3f464377-e5bd-4882-b32e-170745e6247d.jar:?]
    at net.fabricmc.fabric.api.event.lifecycle.v1.ServerTickEvents.lambda$static$6(ServerTickEvents.java:108) ~[f243fff7-4866-4a24-9103-6bfa992ac267.jar:?]
    at net.minecraft.class_1937.handler$cab000$tickWorldAfterBlockEntities(class_1937.java:6775) ~[intermediary-server.jar:?]
    at net.minecraft.class_1937.method_18471(class_1937.java:557) ~[intermediary-server.jar:?]
    at net.minecraft.class_3218.method_18765(class_3218.java:429) ~[intermediary-server.jar:?]
    at net.minecraft.server.MinecraftServer.method_3813(MinecraftServer.java:871) ~[intermediary-server.jar:?]

Likely culprit - Not checking if state supports the property: https://github.com/2xsaiko/hctm-base/blob/faf075e3d284e89947da936b4931129f9fec7817/src/main/kotlin/common/block/BaseWire.kt#L358

Yoghurt4C commented 3 years ago

I have encountered the same issue of RSWires causing sudden, but reproducible crashes while trying to debug a bug. I’m still not sure if it’s because I have forgotten to install certain drivers or that RSWires has some sort of behavior I haven’t noticed. It’s probably some combination of the two. Either way, RSWires is not very useful to debug your device.

Finally, I must report that I do not recommend using RSWires with my-router on ARM. I haven’t tested with any other microcontroller, but my experiences with my-router on my ARM device are non-trivial. In some cases, it seems to fail.

Yoghurt4C commented 3 years ago

woah........