MovingBlocks / Terasology

Terasology - open source voxel world
http://terasology.org
Apache License 2.0
3.64k stars 1.32k forks source link

Crash when trying to start the game #5216

Closed Rukki13 closed 3 months ago

Rukki13 commented 4 months ago

GENERAL INFO

Terasology Launcher Version: 4.8.0 Terasology Version: 5.3.0 Operating System: Windows 11 Home Single Onboard / Dedicated Graphics: GTX 1650 TI Java Version: Version 8 Update 202

I tried starting a single player match (template: Core Gameplay), but an error showed up: image I tried changing to different templates but the error persisted.

LOGS

Attached are the menu, game, init, and "player" logs: Terasology-menu.log Terasology-Game.log Terasology-init.log Terasology-rukk.log

BenjaminAmos commented 4 months ago
 java.lang.IllegalArgumentException: Out of bounds: (-33, -33) for region BlockArea[(-30, -30)...(30, 30)]
  at org.terasology.engine.world.generation.facets.base.BaseFacet2D.getWorldIndex(BaseFacet2D.java:41)
  at org.terasology.engine.world.generation.facets.base.BaseFieldFacet2D.getWorld(BaseFieldFacet2D.java:31)
  at org.terasology.core.world.generator.facetProviders.DensityNoiseProvider.process(DensityNoiseProvider.java:59)
  at org.terasology.engine.world.generation.ScalableFacetProvider.process(ScalableFacetProvider.java:10)
  at org.terasology.engine.world.generation.RegionImpl.getFacet(RegionImpl.java:41)
  at org.terasology.engine.logic.spawner.AbstractSpawner.findSpawnPosition(AbstractSpawner.java:46)
  at org.terasology.engine.logic.spawner.FixedSpawner.getSpawnPosition(FixedSpawner.java:36)
  at org.terasology.core.world.generator.worldGenerators.SimplexFacetedWorldGenerator.getSpawnPosition(SimplexFacetedWorldGenerator.java:51)
  at org.terasology.engine.logic.players.PlayerSystem.onConnect(PlayerSystem.java:143)
  at org.terasology.engine.logic.players.PlayerSystemMethodAccess.invoke(Unknown Source)
  at org.terasology.engine.entitySystem.event.internal.EventSystemImpl$ByteCodeEventHandlerInfo.invoke(EventSystemImpl.java:399)
  at org.terasology.engine.entitySystem.event.internal.EventSystemImpl.sendStandardEvent(EventSystemImpl.java:264)
  at org.terasology.engine.entitySystem.event.internal.EventSystemImpl.send(EventSystemImpl.java:255)
  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.network.internal.NetworkSystemImpl.connectClient(NetworkSystemImpl.java:892)
  at org.terasology.engine.network.internal.NetworkSystemImpl.joinLocal(NetworkSystemImpl.java:325)
  at org.terasology.engine.core.modes.loadProcesses.SetupLocalPlayer.step(SetupLocalPlayer.java:29)
  at org.terasology.engine.core.modes.StateLoading.update(StateLoading.java:259)
  at org.terasology.engine.core.TerasologyEngine.tick(TerasologyEngine.java:512)
  at org.terasology.engine.core.TerasologyEngine.mainLoop(TerasologyEngine.java:472)
  at org.terasology.engine.core.TerasologyEngine.runMain(TerasologyEngine.java:448)
  at org.terasology.engine.core.TerasologyEngine.run(TerasologyEngine.java:414)
  at org.terasology.engine.Terasology.call(Terasology.java:190)
  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)```
This looks like the same issue as #5056.

```java
11:13:42.050 [main] INFO  o.t.e.w.b.internal.BlockManagerImpl - Registered Block CoreAssets:TallGrass1 with id 10
11:13:42.050 [main] ERROR o.t.e.w.b.internal.BlockManagerImpl - Failed to register block family 'Optional[BlockFamily[symmetric,CoreAssets:TallGrass1]]'
java.lang.NullPointerException: null

This appears to be a different issue. It may be harmless though, I am not sure.

soloturn commented 3 months ago

@BenjaminAmos @jdrueckert is there anything left to do a new release, to not have bug reports like this one?

jdrueckert commented 3 months ago

@soloturn The bug report does not go away just because we create a new release. The Out of bounds sporadic bug is one that we see from time to time but we didn't fix it yet, partially because it's only appearing sporadically and, thus, is hard to reproduce.

@Rukki13 From what I've seen so far, this is a sporadic issue, so restarting Terasology and retrying to start the CoreGameplay template typically helps. If the issue persists for you that is on one hand unfortunate but on the other hand this would actually be quite valuable for us because we currently cannot reproduce it consistently so debugging and fixing it is quite hard.

@BenjaminAmos as the main issue is a duplicate of #5056 should we close it as such? Or do you want to keep this issue due to the secondary issue you observed in the logs?

BenjaminAmos commented 3 months ago

This is mostly likely a duplicate of #5056, so I think we can keep the discussion there for now.

11:13:42.050 [main] ERROR o.t.e.w.b.internal.BlockManagerImpl - Failed to register block family 'Optional[BlockFamily[symmetric,CoreAssets:TallGrass1]]'

Since this is explicitly an optional type, it is probably a harmless error. At worst, a particular block shape would not be available in-game. I will close this as a duplicate for now but if it occurs again then it is worth investigating further.