Psi

Psi

45M Downloads

Death to psi overflow on armor event caused all further armor events to not select caster until server restart

vitrvvivs opened this issue ยท 5 comments

commented

Put too much power into my jump boost boots; instantly killed myself. Afterwards (trying lower-cost spells), the psi would be spent, but no effect would be applied. This was true for all armor pieces for all players. The debug trick would not print anything either. This was fixed when the server was restarted.

Using psi version r1.1-77 (direwolf20-1.12.2-v2.6.0) on openjdk version "1.8.0_242" on linux 5.3.18)

[06:19:08] [Server thread/INFO] [minecraft/DedicatedServer]: vitrvvivs_ overflowed their Psionic Energy
[06:19:08] [Server thread/ERROR] [FML]: Exception caught during firing event vazkii.psi.api.exosuit.PsiArmorEvent@40ac9d08: 
  java.lang.ClassCastException: null                                                   
[06:19:08] [Server thread/ERROR] [FML]: Index: 1 Listeners:                                                                 
[06:19:08] [Server thread/ERROR] [FML]: 0: NORMAL                                                   
[06:19:08] [Server thread/ERROR] [FML]: 1: ASM: class vazkii.psi.common.core.handler.PlayerDataHandler$EventHandler onPsiArmorEvent(Lvazkii/psi/api/exosuit/PsiArmorEvent;)V                     
[06:19:08] [Server thread/ERROR] [FML]: 2: ASM: mob_grinding_utils.events.ChickenFuseEvent@1e2073de startChickenFuse(Lnet/minecraftforge/event/entity/living/LivingEvent;)V                      
[06:19:08] [Server thread/FATAL] [minecraft/MinecraftServer]: Error executing task                                                                                                               
  java.util.concurrent.ExecutionException: java.lang.ClassCastException                                                                                                                            
      at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_242]                                                                                                            
      at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_242]                                                                                                               
      at net.minecraft.util.Util.func_181617_a(SourceFile:47) [h.class:?]                                                                                                                      
      at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:723) [MinecraftServer.class:?]                                                                                 
      at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:397) [nz.class:?]                                                                                    
      at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:668) [MinecraftServer.class:?]                                                                                 
      at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:526) [MinecraftServer.class:?]                                                                                          
      at java.lang.Thread.run(Thread.java:748) [?:1.8.0_242]                                                                                                                                   
Caused by: java.lang.ClassCastException
commented

Replicated the bug, and got a more verbose trace

[17:10:13] [Server thread/INFO] [minecraft/DedicatedServer]: vitrvvivs_ overflowed their Psionic Energy
[17:10:13] [Server thread/INFO] [enderio]: Galacticraft inventory inaccessable. Most likely because it is not installed.
[17:10:13] [Server thread/ERROR] [FML]: Exception caught during firing event vazkii.psi.api.exosuit.PsiArmorEvent@1226275a:
java.lang.ClassCastException: net.minecraft.item.ItemAir cannot be cast to vazkii.psi.api.cad.ICAD
        at vazkii.psi.common.item.ItemSpellBullet.castSpell(ItemSpellBullet.java:143) ~[ItemSpellBullet.class:?]
        at vazkii.psi.common.core.handler.capability.wrappers.AcceptorWrapper.castSpell(AcceptorWrapper.java:73) ~[AcceptorWrapper.class:?]
        at vazkii.psi.common.item.ItemCAD.cast(ItemCAD.java:267) ~[ItemCAD.class:?]
        at vazkii.psi.common.item.armor.ItemPsimetalArmor.cast(ItemPsimetalArmor.java:106) ~[ItemPsimetalArmor.class:?]
        at vazkii.psi.common.item.armor.ItemPsimetalArmor.onEvent(ItemPsimetalArmor.java:121) ~[ItemPsimetalArmor.class:?]
        at vazkii.psi.common.core.handler.PlayerDataHandler$EventHandler.onPsiArmorEvent(PlayerDataHandler.java:193) ~[PlayerDataHandler$EventHandler.class:?]
        at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_627_EventHandler_onPsiArmorEvent_PsiArmorEvent.invoke(.dynamic) ~[?:?]
        at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90) ~[ASMEventHandler.class:?]
        at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:182) ~[EventBus.class:?]
        at vazkii.psi.api.exosuit.PsiArmorEvent.post(PsiArmorEvent.java:55) ~[PsiArmorEvent.class:?]
        at vazkii.psi.common.network.message.MessageTriggerJumpSpell.lambda$handleMessage$0(MessageTriggerJumpSpell.java:14) ~[MessageTriggerJumpSpell.class:?]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_242]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_242]
        at net.minecraft.util.Util.func_181617_a(SourceFile:46) [h.class:?]
        at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:723) [MinecraftServer.class:?]
        at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:397) [nz.class:?]
        at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:668) [MinecraftServer.class:?]
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:526) [MinecraftServer.class:?]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_242]
[17:10:13] [Server thread/ERROR] [FML]: Index: 1 Listeners:
[17:10:13] [Server thread/ERROR] [FML]: 0: NORMAL
[17:10:13] [Server thread/ERROR] [FML]: 1: ASM: class vazkii.psi.common.core.handler.PlayerDataHandler$EventHandler onPsiArmorEvent(Lvazkii/psi/api/exosuit/PsiArmorEvent;)V
[17:10:13] [Server thread/ERROR] [FML]: 2: ASM: mob_grinding_utils.events.ChickenFuseEvent@bf183d9 startChickenFuse(Lnet/minecraftforge/event/entity/living/LivingEvent;)V
[17:10:13] [Server thread/FATAL] [minecraft/MinecraftServer]: Error executing task
java.util.concurrent.ExecutionException: java.lang.ClassCastException: net.minecraft.item.ItemAir cannot be cast to vazkii.psi.api.cad.ICAD
        at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_242]
        at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_242]
        at net.minecraft.util.Util.func_181617_a(SourceFile:47) [h.class:?]
        at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:723) [MinecraftServer.class:?]
        at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:397) [nz.class:?]
        at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:668) [MinecraftServer.class:?]
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:526) [MinecraftServer.class:?]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_242]
Caused by: java.lang.ClassCastException: net.minecraft.item.ItemAir cannot be cast to vazkii.psi.api.cad.ICAD
        at vazkii.psi.common.item.ItemSpellBullet.castSpell(ItemSpellBullet.java:143) ~[ItemSpellBullet.class:?]
        at vazkii.psi.common.core.handler.capability.wrappers.AcceptorWrapper.castSpell(AcceptorWrapper.java:73) ~[AcceptorWrapper.class:?]
        at vazkii.psi.common.item.ItemCAD.cast(ItemCAD.java:267) ~[ItemCAD.class:?]
        at vazkii.psi.common.item.armor.ItemPsimetalArmor.cast(ItemPsimetalArmor.java:106) ~[ItemPsimetalArmor.class:?]
        at vazkii.psi.common.item.armor.ItemPsimetalArmor.onEvent(ItemPsimetalArmor.java:121) ~[ItemPsimetalArmor.class:?]
        at vazkii.psi.common.core.handler.PlayerDataHandler$EventHandler.onPsiArmorEvent(PlayerDataHandler.java:193) ~[PlayerDataHandler$EventHandler.class:?]
        at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_627_EventHandler_onPsiArmorEvent_PsiArmorEvent.invoke(.dynamic) ~[?:?]
        at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90) ~[ASMEventHandler.class:?]
        at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:182) ~[EventBus.class:?]
        at vazkii.psi.api.exosuit.PsiArmorEvent.post(PsiArmorEvent.java:55) ~[PsiArmorEvent.class:?]
        at vazkii.psi.common.network.message.MessageTriggerJumpSpell.lambda$handleMessage$0(MessageTriggerJumpSpell.java:14) ~[MessageTriggerJumpSpell.class:?]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_242]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_242]
        at net.minecraft.util.Util.func_181617_a(SourceFile:46) ~[h.class:?]
        ... 5 more
commented

And here is the spell: https://imgur.com/sI1r5KM

commented

Any specific steps to replicate the bug or is it just a plain ol' put spell on boots and try to kill yourself with it?

commented

Cannot seem to replicate it in 1.15.2.

commented

Closing as it seems to be fixed, will reopen if it pops up again.