Open Cervator opened 3 years ago
On the other hand it seemingly just happened again, just flying around too fast in MedievalCities, no main menu involved:
16:13:19.183 [main] INFO o.t.engine.logic.console.ConsoleImpl - [CONSOLE] High-speed mode activated
16:13:21.027 [main] INFO o.t.engine.logic.console.ConsoleImpl - [CONSOLE] Flight mode toggled
16:13:34.092 [main] ERROR o.t.engine.core.TerasologyEngine - Uncaught exception, attempting clean game shutdown
java.lang.NullPointerException: null
at org.terasology.module.health.systems.HealthClientSystem.onDamaged(HealthClientSystem.java:65)
at org.terasology.module.health.systems.HealthClientSystemMethodAccess.invoke(Unknown Source)
at org.terasology.engine.entitySystem.event.internal.EventSystemImpl$ByteCodeEventHandlerInfo.invoke(EventSystemImpl.java:379)
at org.terasology.engine.entitySystem.event.internal.EventSystemImpl.sendStandardEvent(EventSystemImpl.java:244)
at org.terasology.engine.entitySystem.event.internal.EventSystemImpl.send(EventSystemImpl.java:235)
at org.terasology.engine.core.bootstrap.eventSystem.AbstractEventSystemDecorator.send(AbstractEventSystemDecorator.java:67)
at org.terasology.engine.network.NetworkEventSystemDecorator.send(NetworkEventSystemDecorator.java:54)
at org.terasology.engine.core.bootstrap.eventSystem.AbstractEventSystemDecorator.send(AbstractEventSystemDecorator.java:67)
at org.terasology.engine.recording.RecordingEventSystemDecorator.send(RecordingEventSystemDecorator.java:34)
at org.terasology.engine.entitySystem.entity.internal.BaseEntityRef.send(BaseEntityRef.java:190)
at org.terasology.module.health.systems.DamageAuthoritySystem.doDamage(DamageAuthoritySystem.java:101)
at org.terasology.module.health.systems.DamageAuthoritySystem.checkDamage(DamageAuthoritySystem.java:130)
at org.terasology.module.health.systems.DamageAuthoritySystem.highSpeedDamage(DamageAuthoritySystem.java:211)
at org.terasology.module.health.systems.DamageAuthoritySystem.onLand(DamageAuthoritySystem.java:189)
at org.terasology.module.health.systems.DamageAuthoritySystemMethodAccess.invoke(Unknown Source)
at org.terasology.engine.entitySystem.event.internal.EventSystemImpl$ByteCodeEventHandlerInfo.invoke(EventSystemImpl.java:379)
at org.terasology.engine.entitySystem.event.internal.EventSystemImpl.sendStandardEvent(EventSystemImpl.java:244)
at org.terasology.engine.entitySystem.event.internal.EventSystemImpl.send(EventSystemImpl.java:235)
at org.terasology.engine.core.bootstrap.eventSystem.AbstractEventSystemDecorator.send(AbstractEventSystemDecorator.java:67)
at org.terasology.engine.network.NetworkEventSystemDecorator.send(NetworkEventSystemDecorator.java:54)
at org.terasology.engine.core.bootstrap.eventSystem.AbstractEventSystemDecorator.send(AbstractEventSystemDecorator.java:67)
at org.terasology.engine.recording.RecordingEventSystemDecorator.send(RecordingEventSystemDecorator.java:34)
at org.terasology.engine.entitySystem.entity.internal.BaseEntityRef.send(BaseEntityRef.java:190)
at org.terasology.engine.logic.characters.KinematicCharacterMover.walk(KinematicCharacterMover.java:677)
at org.terasology.engine.logic.characters.KinematicCharacterMover.updatePosition(KinematicCharacterMover.java:553)
at org.terasology.engine.logic.characters.KinematicCharacterMover.step(KinematicCharacterMover.java:85)
at org.terasology.engine.logic.characters.ServerCharacterPredictionSystem.stepState(ServerCharacterPredictionSystem.java:189)
at org.terasology.engine.logic.characters.ServerCharacterPredictionSystem.onPlayerInput(ServerCharacterPredictionSystem.java:136)
at org.terasology.engine.logic.characters.ServerCharacterPredictionSystemMethodAccess.invoke(Unknown Source)
at org.terasology.engine.entitySystem.event.internal.EventSystemImpl$ByteCodeEventHandlerInfo.invoke(EventSystemImpl.java:379)
at org.terasology.engine.entitySystem.event.internal.EventSystemImpl.sendStandardEvent(EventSystemImpl.java:244)
at org.terasology.engine.entitySystem.event.internal.EventSystemImpl.send(EventSystemImpl.java:235)
at org.terasology.engine.core.bootstrap.eventSystem.AbstractEventSystemDecorator.send(AbstractEventSystemDecorator.java:67)
at org.terasology.engine.network.NetworkEventSystemDecorator.send(NetworkEventSystemDecorator.java:54)
at org.terasology.engine.core.bootstrap.eventSystem.AbstractEventSystemDecorator.send(AbstractEventSystemDecorator.java:67)
at org.terasology.engine.recording.RecordingEventSystemDecorator.send(RecordingEventSystemDecorator.java:34)
at org.terasology.engine.entitySystem.entity.internal.BaseEntityRef.send(BaseEntityRef.java:190)
at org.terasology.engine.logic.players.LocalPlayerSystem.processInput(LocalPlayerSystem.java:175)
at org.terasology.engine.logic.players.LocalPlayerSystem.update(LocalPlayerSystem.java:134)
at org.terasology.engine.core.modes.StateIngame.update(StateIngame.java:179)
at org.terasology.engine.core.TerasologyEngine.tick(TerasologyEngine.java:500)
at org.terasology.engine.core.TerasologyEngine.mainLoop(TerasologyEngine.java:460)
at org.terasology.engine.core.TerasologyEngine.runMain(TerasologyEngine.java:436)
at org.terasology.engine.core.TerasologyEngine.run(TerasologyEngine.java:402)
at org.terasology.engine.Terasology.call(Terasology.java:207)
at org.terasology.engine.Terasology.call(Terasology.java:70)
at picocli.CommandLine.executeUserObject(CommandLine.java:1933)
at picocli.CommandLine.access$1200(CommandLine.java:145)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2332)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2326)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2291)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2159)
at picocli.CommandLine.execute(CommandLine.java:2058)
at org.terasology.engine.Terasology.main(Terasology.java:139)
16:13:34.092 [main] INFO o.t.engine.core.TerasologyEngine - Shutting down Terasology...
16:13:34.614 [main] INFO o.t.e.p.i.ReadWriteStorageManager - Saving - Creating game snapshot
16:13:34.642 [main] DEBUG reactor.util.Loggers - Using Slf4j logging framework
Also noticed this during startup logging on entering a world:
16:33:22.411 [main] INFO o.t.e.i18n.TranslationSystemImpl - Discovered CoreAdvancedAssets:game
16:33:22.436 [main] INFO o.t.p.c.PathfinderSystem - PathfinderSystem started
16:33:22.562 [main] ERROR o.t.e.core.ComponentSystemManager - Failed to initialise system org.terasology.module.health.systems.HealthClientSystem@4d2eebd1
java.lang.ClassCastException: org.terasology.rendering.nui.layers.hud.DirectionalDamageOverlay cannot be cast to org.terasology.module.health.ui.DirectionalDamageOverlay
at org.terasology.module.health.systems.HealthClientSystem.initialise(HealthClientSystem.java:39)
at org.terasology.engine.core.ComponentSystemManager.initialiseSystem(ComponentSystemManager.java:211)
at org.terasology.engine.core.ComponentSystemManager.initialise(ComponentSystemManager.java:194)
at org.terasology.engine.core.modes.loadProcesses.InitialiseSystems.step(InitialiseSystems.java:36)
at org.terasology.engine.core.modes.StateLoading.update(StateLoading.java:242)
at org.terasology.engine.core.TerasologyEngine.tick(TerasologyEngine.java:500)
at org.terasology.engine.core.TerasologyEngine.mainLoop(TerasologyEngine.java:460)
at org.terasology.engine.core.TerasologyEngine.runMain(TerasologyEngine.java:436)
at org.terasology.engine.core.TerasologyEngine.run(TerasologyEngine.java:402)
at org.terasology.engine.Terasology.call(Terasology.java:207)
at org.terasology.engine.Terasology.call(Terasology.java:70)
at picocli.CommandLine.executeUserObject(CommandLine.java:1933)
at picocli.CommandLine.access$1200(CommandLine.java:145)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2332)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2326)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2291)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2159)
at picocli.CommandLine.execute(CommandLine.java:2058)
at org.terasology.engine.Terasology.main(Terasology.java:139)
16:33:22.646 [main] INFO o.t.e.w.b.internal.BlockManagerImpl - Registered BlockFamily[freeform,StructuralResources:StoneBlocks]
16:33:22.647 [main] INFO o.t.e.w.b.internal.BlockManagerImpl - Registered Block StructuralResources:StoneBlocks with id 109
fyi @skaldarnar
I need to investigate the NullPointerException
more to figure out whether the implementation is missing a check there (https://github.com/MovingBlocks/Terasology/issues/4909#issuecomment-922374801).
The ClassCastException
issue (https://github.com/MovingBlocks/Terasology/issues/4909#issuecomment-922376970) seems to be an issue of renaming? 🤔 I need to check whether I forgot to change a reference, or whether that is an issue from loading a game state with (active?) damage overlay from an older version...
What you were trying to do
Test MetalRenegades. Fix is likely needed in the Health module, but maybe hardening against unexpected UI state is something we can help in the engine? If just a quick fix in Health then this is probably a small easy bug to handle.
What actually happened
Local RL baby helped me detect a bug by taking my attention away. Game had main menu up but it was night time and there were MawGooeys around. Came back to a crash I figured happened because one of them hit my character while the main menu was up thus some UI stuff wasn't in the right state to receive a damage effect. Mentally increased the baby's kill score.
How to reproduce
Log details and game version
Latest develop as of the time this is being submitted