[1.12.2] crash entering other dimension (Gravestone Mod)
yotthani opened this issue ยท 9 comments
version : antiqueatlas-1.12.2-4.4.9.jar
[23:24:53] [Server thread/WARN] [net.minecraft.network.NetworkSystem]: Failed to handle packet for /xxxxxxxxxxxxx
net.minecraft.util.ReportedException: Ticking player
at net.minecraft.entity.player.EntityPlayerMP.func_71127_g(EntityPlayerMP.java:459) ~[oq.class:?]
at net.minecraft.network.NetHandlerPlayServer.func_73660_a(NetHandlerPlayServer.java:173) ~[pa.class:?]
at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher$1.func_73660_a(NetworkDispatcher.java:209) ~[NetworkDispatcher$1.class:?]
at net.minecraft.network.NetworkManager.func_74428_b(NetworkManager.java:285) ~[gw.class:?]
at net.minecraft.network.NetworkSystem.func_151269_c(NetworkSystem.java:180) [oz.class:?]
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:788) [MinecraftServer.class:?]
at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:396) [nz.class:?]
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:666) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:524) [MinecraftServer.class:?]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_171]
Caused by: java.util.NoSuchElementException
at java.util.HashMap$HashIterator.nextNode(HashMap.java:1444) ~[?:1.8.0_171]
at java.util.HashMap$EntryIterator.next(HashMap.java:1476) ~[?:1.8.0_171]
at java.util.HashMap$EntryIterator.next(HashMap.java:1474) ~[?:1.8.0_171]
at java.util.Collections.max(Collections.java:708) ~[?:1.8.0_171]
# at hunternif.mc.atlas.core.BiomeDetectorBase.getBiomeID(BiomeDetectorBase.java:103) ~[BiomeDetectorBase.class:?]
at hunternif.mc.atlas.core.AtlasData.updateMapAroundPlayer(AtlasData.java:214) ~[AtlasData.class:?]
at hunternif.mc.atlas.item.ItemAtlas.func_77663_a(ItemAtlas.java:64) ~[ItemAtlas.class:?]
at net.minecraft.item.ItemStack.func_77945_a(ItemStack.java:526) ~[aip.class:?]
at net.minecraft.entity.player.InventoryPlayer.func_70429_k(InventoryPlayer.java:363) ~[aec.class:?]
at net.minecraft.entity.player.EntityPlayer.func_70636_d(EntityPlayer.java:511) ~[aed.class:?]
at net.minecraft.entity.EntityLivingBase.func_70071_h_(EntityLivingBase.java:2170) ~[vp.class:?]
at net.minecraft.entity.player.EntityPlayer.func_70071_h_(EntityPlayer.java:234) ~[aed.class:?]
at net.minecraft.entity.player.EntityPlayerMP.func_71127_g(EntityPlayerMP.java:382) ~[oq.class:?]
... 9 more
How in sam hill does this keep happening? I fix the bug on my end, then it reappears when I upload it. I even look through the source o check line 103, and it's surrounded by a try-catch for a no-such element exception.
I mean look at this:
try {
Map.Entry<Integer, Integer> meanBiome = Collections.max(biomeOccurrences.entrySet(), Comparator.comparingInt(Map.Entry::getValue));
int meanBiomeId = meanBiome.getKey();
int meanBiomeOccurrences = meanBiome.getValue(); // This is line 103
// The following important pseudo-biomes don't have IDs:
if (meanBiomeOccurrences < lavaOccurrences) {
return ExtTileIdMap.instance().getPseudoBiomeID(ExtTileIdMap.TILE_LAVA);
}
return meanBiomeId;
} catch(NoSuchElementException e){
return Biome.getIdForBiome(Biomes.DEFAULT);
}
Are you sure you have AntiqueAtlas-4.4.9, and not 4.4.8? Like, really sure? Like positive?
yeah for sure .. checked it twice .. i'm not an Java but a professional C# developer .. i would say maybe this
"} catch(NoSuchElementException e){
return Biome.getIdForBiome(Biomes.DEFAULT);
}"
is the problem because maybe the outer exception is not of type "NoSuchElementException" so this statement is passed by because you dont handle any other type in common jo do down in several catchs blocks to less specific types of Exceptions in c# the last two would be somthing like "catch (Exception e) { .. } and catch() { ..}" ( hope it gets clear wha i mean i'm not native english speaker ;))
You're right about the catch hierarchy, but it's got to be that type of exception. Starting right before the part you emboldened:
Caused by: java.util.NoSuchElementException
at java.util.HashMap$HashIterator.nextNode(HashMap.java:1444) ~[?:1.8.0_171]
at java.util.HashMap$EntryIterator.next(HashMap.java:1476) ~[?:1.8.0_171]
at java.util.HashMap$EntryIterator.next(HashMap.java:1474) ~[?:1.8.0_171]
at java.util.Collections.max(Collections.java:708) ~[?:1.8.0_171]
# at hunternif.mc.atlas.core.BiomeDetectorBase.getBiomeID(BiomeDetectorBase.java:103) ~[BiomeDetectorBase.class:?]
at hunternif.mc.atlas.core.AtlasData.updateMapAroundPlayer(AtlasData.java:214) ~[AtlasData.class:?]
at hunternif.mc.atlas.item.ItemAtlas.func_77663_a(ItemAtlas.java:64) ~[ItemAtlas.class:?]
I'll try testing this when I get home. I've been using gravestones, but I haven't used any of the extended/catacombs stuff. Which gravestones version are you using?
ok thx , learned from the job .. that "should be" is often passed by the miracles of Software Engineering ;)
Gravestone-1.12.2-Graves-1.0.15
Gravestone-1.12.2-Extended-1.3.0b6
if you need some more info , i will try to get them.
Its for us also the first time that someone stumbled into the catacomb dimension from Gravestones.
Should be reproducible by passing one of the catacomb gates.
put on hold .. just got an teamviewer Session with client that got the crash he somehow managed it to had both versions of AA installed at the same time (iam using ServerSync mod for Sync) he had in mods/1.12.2/aa_4.4.8 and in mods/aa_4.4.9 like the server had.. that's weird because i thought forge has some kind of check for concurrency in mods .. we will test now with deleting the one in in the subfolder .. maybe that will fix the problem
took as really some time to test .. an failure seems to be gone after deleting the additional version and upgrading Forge to latest Version .. sorry for bothering .. weird circumstances