Skip to content

Instantly share code, notes, and snippets.

- I see some mods unfairly blamed for crashes or crashes that have missing mod assignments?
Sometimes we can't get full and/or valid information about package sources. Mod identification will never be fully reliable. That's why we have labels like "likely involved mods".
Here are common causes:
1. Due to few coremod's magic (like NEI), built-in mechanism of finding class source can sometimes fail (though in newer versions of OpenEye we use more reliable method).
2. Mod includes API classes. STOP THAT, it's not needed. If you include other mods' APIs you may be blamed for crashes in that part of code. Use @Optional.* and correct build process.
3. Stacktrace contains class from shared library. Every mod that includes this class will be marked as possible candidate.
3. Mod failed on startup (i.e. is in 'errored' state). When multiple mods crash on startup, only one exception is logged (FML limitation). We can retrieve information list about other mods that failed to initialize, but not stacktrace.
4. Crash has
public ChunkPosition findClosestStructure(World par1World, String par2Str, int par3, int par4, int par5)
{
return "Stronghold".equals(par2Str) && this.strongholdGenerator != null ? this.strongholdGenerator.getNearestInstance(par1World, par3, par4, par5) : null;
}
{
"methods" : {
"chunk_load" : {
"cls" : "net.minecraft.world.chunk.storage.AnvilChunkLoader",
"argTypes" : ["Lnet/minecraft/world/World;", "I", "I"],
"returnType" : "Lnet/minecraft/world/chunk/Chunk;",
"mcpName" : "loadChunk",
"srgName" : "func_73158_c"
}
}
java.lang.NullPointerException 780415
java.lang.OutOfMemoryError 126036
java.lang.RuntimeException 124261
cpw.mods.fml.common.LoaderException 63919
java.lang.IndexOutOfBoundsException 46115
java.lang.ClassCastException 44993
java.lang.IllegalArgumentException 43632
java.lang.NoClassDefFoundError 28422
java.lang.ArrayIndexOutOfBoundsException 26024
java.lang.reflect.InvocationTargetException 16223
"Oracle Corporation 1.7.0_60": 60406,
"Oracle Corporation 1.7.0_55": 50030,
"Oracle Corporation 1.7.0_51": 41784,
"Oracle Corporation 1.7.0_45": 30098,
"Oracle Corporation 1.8.0_05": 14322,
"Oracle Corporation 1.7.0_25": 10610,
"Apple Inc. 1.6.0_65": 7883,
"Oracle Corporation 1.7.0_21": 5273,
"Oracle Corporation 1.7.0_40": 4395,
"Oracle Corporation 1.7.0_17": 3545,
Oracle Corporation 1.7.0 225049 86,60%
Oracle Corporation 1.8.0 17763 6,84%
Apple Inc. 1.6.0 8722 3,36%
Sun Microsystems Inc. 1.6.0 8315 3,20%
Sun Microsystems Inc. 1.7.0 11 0,00%
Total 259860 100,00%
// handshake from plain Forge client to Cauldron server behind Bungee
CLIENT-RAW < - outgoing after codec
CLIENT-RAW > - incoming before codec
CLIENT-DECODED < - outgoing before codec
CLIENT-DECODED > - outgoing after codec
// REGISTER received from server
[Netty Client IO #1/INFO] [FML/]: CLIENT-RAW > class cpw.mods.fml.common.network.internal.FMLProxyPacket (channel: REGISTER, register: [FORGE, FML, FML|HS, BungeeCord])
// duplicated REGISTER
[Netty Client IO #1/INFO] [FML/]: CLIENT-RAW > class cpw.mods.fml.common.network.internal.FMLProxyPacket (channel: REGISTER, register: [FML|HS, FML, FORGE])
// code used for logging
package debug;
import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.ChannelInboundHandlerAdapter;
import com.google.common.base.Charsets;
import com.google.common.collect.ImmutableSet;
import cpw.mods.fml.common.FMLLog;
// client initially connects to server 1
[18:46:21] [Netty IO #0/INFO] [FML/]: SERVER-DECODED < class cpw.mods.fml.common.network.internal.FMLProxyPacket (channel: REGISTER, register: [FML|HS, FML, FORGE])
[18:46:21] [Netty IO #0/INFO] [FML/]: SERVER-RAW < class cpw.mods.fml.common.network.internal.FMLProxyPacket (channel: REGISTER, register: [FML|HS, FML, FORGE])
[18:46:21] [Netty IO #0/INFO] [FML/]: SERVER-DECODED < class cpw.mods.fml.common.network.handshake.FMLHandshakeMessage$ServerHello
[18:46:21] [Netty IO #0/INFO] [FML/]: SERVER-RAW < class cpw.mods.fml.common.network.internal.FMLProxyPacket (channel: FML|HS)
// missing REGISTER
[18:46:22] [Netty IO #0/INFO] [FML/]: SERVER-RAW > class cpw.mods.fml.common.network.internal.FMLProxyPacket (channel: FML|HS)
// handshake from Cauldron server to client behind Bungee
SERVER-RAW < - outgoing after codec
SERVER-RAW > - incoming before codec
SERVER-DECODED < - outgoing before codec
SERVER-DECODED > - outgoing after codec
// player initialy connected to server 1
SERVER-DECODED < class cpw.mods.fml.common.network.internal.FMLProxyPacket (channel: REGISTER, register: [FML|HS, FML, OpenMods|E, OpenMods|M, FORGE, OpenMods|RPC, OpenMods|I])
SERVER-RAW < class cpw.mods.fml.common.network.internal.FMLProxyPacket (channel: REGISTER, register: [FML|HS, FML, OpenMods|E, OpenMods|M, FORGE, OpenMods|RPC, OpenMods|I])