Immersive Aircraft [Fabric/Forge]

Immersive Aircraft [Fabric/Forge]

10M Downloads

Stack overflow on airplane crash when crash explosions are enabled

Aiq0 opened this issue ยท 1 comments

commented

Fabric 1.19.2
Immersive Aircraft 0.6.2

When enableCrashExplosion is enabled in config, crashing 2 airplanes causes stack overflow:

Airplane hurt creates explosion before destroying airplane, therefore explosion calls hurt, which calls explosion, which calls hurt, which calls explosion, ...

Also, the aircraft should be destroyed after dropping items, as this bug also causes a items duplication (on each explosion, it also drops items).

connected to server after restarting

Error:

java.lang.StackOverflowError: null
	at Not Enough Crashes deobfuscated stack trace.(1.19.2+build.28) ~[?:?]
	at net.minecraft.util.crash.CrashReport.create(CrashReport:259) ~[?:?]
	at net.minecraft.server.network.ServerPlayNetworkHandler.sendPacket(ServerPlayNetworkHandler:1258) ~[?:?]
	at net.minecraft.server.network.ServerPlayNetworkHandler.sendPacket(ServerPlayNetworkHandler:1251) ~[?:?]
	at net.minecraft.server.network.EntityTrackerEntry.sendPackets(EntityTrackerEntry:230) ~[?:?]
	at net.minecraft.server.network.EntityTrackerEntry.startTracking(EntityTrackerEntry:220) ~[?:?]
	at net.minecraft.server.world.ThreadedAnvilChunkStorage$EntityTracker.updateTrackedStatus(ThreadedAnvilChunkStorage:1416) ~[?:?]
	at net.minecraft.server.world.ThreadedAnvilChunkStorage$EntityTracker.updateTrackedStatus(ThreadedAnvilChunkStorage:1442) ~[?:?]
	at net.minecraft.server.world.ThreadedAnvilChunkStorage.loadEntity(ThreadedAnvilChunkStorage:1198) ~[?:?]
	at net.minecraft.server.world.ServerChunkManager.loadEntity(ServerChunkManager:477) ~[?:?]
	at net.minecraft.server.world.ServerWorld$ServerEntityHandler.startTracking(ServerWorld:1560) ~[?:?]
	at net.minecraft.server.world.ServerWorld$ServerEntityHandler.startTracking(ServerWorld:1538) ~[?:?]
	at net.minecraft.server.world.ServerEntityManager.startTracking(ServerEntityManager:217) ~[?:?]
	at net.minecraft.server.world.ServerEntityManager.addEntity(ServerEntityManager:187) ~[?:?]
	at net.minecraft.server.world.ServerEntityManager.addEntity(ServerEntityManager:168) ~[?:?]
	at net.minecraft.server.world.ServerWorld.addEntity(ServerWorld:865) ~[?:?]
	at net.minecraft.server.world.ServerWorld.spawnEntity(ServerWorld:816) ~[?:?]
	at net.minecraft.entity.Entity.dropStack(Entity:1876) ~[?:?]
	at net.minecraft.entity.Entity.dropItem(Entity:1857) ~[?:?]
	at net.minecraft.entity.Entity.dropItem(Entity:1852) ~[?:?]
	at immersive_aircraft.entity.VehicleEntity.drop(VehicleEntity.java:225) ~[immersive_aircraft-0.6.2+1.19.2-fabric.jar:?]
	at immersive_aircraft.entity.InventoryVehicleEntity.drop(InventoryVehicleEntity.java:92) ~[immersive_aircraft-0.6.2+1.19.2-fabric.jar:?]
	at immersive_aircraft.entity.VehicleEntity.damage(VehicleEntity.java:205) ~[immersive_aircraft-0.6.2+1.19.2-fabric.jar:?]
	at net.minecraft.world.explosion.Explosion.collectBlocksAndDamageEntities(Explosion:227) ~[?:?]
	at net.minecraft.server.world.ServerWorld.createExplosion(ServerWorld:1048) ~[?:?]
	at net.minecraft.world.World.createExplosion(World:494) ~[?:?]
	at immersive_aircraft.entity.VehicleEntity.damage(VehicleEntity.java:208) ~[immersive_aircraft-0.6.2+1.19.2-fabric.jar:?]
	at net.minecraft.world.explosion.Explosion.collectBlocksAndDamageEntities(Explosion:227) ~[?:?]
	at net.minecraft.server.world.ServerWorld.createExplosion(ServerWorld:1048) ~[?:?]
	at net.minecraft.world.World.createExplosion(World:494) ~[?:?]
	at immersive_aircraft.entity.VehicleEntity.damage(VehicleEntity.java:208) ~[immersive_aircraft-0.6.2+1.19.2-fabric.jar:?]
	at net.minecraft.world.explosion.Explosion.collectBlocksAndDamageEntities(Explosion:227) ~[?:?]
	at net.minecraft.server.world.ServerWorld.createExplosion(ServerWorld:1048) ~[?:?]
	at net.minecraft.world.World.createExplosion(World:494) ~[?:?]
	at immersive_aircraft.entity.VehicleEntity.damage(VehicleEntity.java:208) ~[immersive_aircraft-0.6.2+1.19.2-fabric.jar:?]
	at net.minecraft.world.explosion.Explosion.collectBlocksAndDamageEntities(Explosion:227) ~[?:?]
	at net.minecraft.server.world.ServerWorld.createExplosion(ServerWorld:1048) ~[?:?]
	at net.minecraft.world.World.createExplosion(World:494) ~[?:?]
	at immersive_aircraft.entity.VehicleEntity.damage(VehicleEntity.java:208) ~[immersive_aircraft-0.6.2+1.19.2-fabric.jar:?]
	at net.minecraft.world.explosion.Explosion.collectBlocksAndDamageEntities(Explosion:227) ~[?:?]
	at net.minecraft.server.world.ServerWorld.createExplosion(ServerWorld:1048) ~[?:?]
	at net.minecraft.world.World.createExplosion(World:494) ~[?:?]
	at immersive_aircraft.entity.VehicleEntity.damage(VehicleEntity.java:208) ~[immersive_aircraft-0.6.2+1.19.2-fabric.jar:?]
	at net.minecraft.world.explosion.Explosion.collectBlocksAndDamageEntities(Explosion:227) ~[?:?]
	at net.minecraft.server.world.ServerWorld.createExplosion(ServerWorld:1048) ~[?:?]
	at net.minecraft.world.World.createExplosion(World:494) ~[?:?]
	at immersive_aircraft.entity.VehicleEntity.damage(VehicleEntity.java:208) ~[immersive_aircraft-0.6.2+1.19.2-fabric.jar:?]
	at net.minecraft.world.explosion.Explosion.collectBlocksAndDamageEntities(Explosion:227) ~[?:?]
	at net.minecraft.server.world.ServerWorld.createExplosion(ServerWorld:1048) ~[?:?]
	at net.minecraft.world.World.createExplosion(World:494) ~[?:?]
	at immersive_aircraft.entity.VehicleEntity.damage(VehicleEntity.java:208) ~[immersive_aircraft-0.6.2+1.19.2-fabric.jar:?]
	at net.minecraft.world.explosion.Explosion.collectBlocksAndDamageEntities(Explosion:227) ~[?:?]
	at net.minecraft.server.world.ServerWorld.createExplosion(ServerWorld:1048) ~[?:?]
	at net.minecraft.world.World.createExplosion(World:494) ~[?:?]
	...
commented

fixed!