Troubleshooting

From Feed The Beast Wiki
Jump to: navigation, search

Introduction[edit | edit source]

Modded Minecraft can be incredibly complex. Modpacks with upwards of 300 mods exist and it's impossible for every mod interaction to be vetted ahead of time. In addition, individual hardware and software configurations, driver versions, and other independent factors can all impact stability. As such, crashes can and do happen. This page tries to distill common scenarios and baseline knowledge for troubleshooting crashes you're experiencing to get you back into your Minecraft world as quickly as possible.

Crash Logs[edit | edit source]

If you are experiencing game crashes while playing modded Minecraft, the best source of information as to what is happening is the crash log files. There are a couple different files that you may need to look through before finding the information you need.

There are two folders which might contain relevant information. If you are experiencing an actual crash, the crash-reports folder will have a file starting with crash- and then a time stamp of the crash so you can easily determine which file contains the information for that crash.

If that file doesn't have useful information, doesn't exist, or you're not experiencing a full crash, the next place you want to check is the logs folder. This folder holds the logs generated by Minecraft as it runs, and there is a new one generated each time you launch Minecraft. As such, there are many more files here and older ones are archived and zipped up, so you might have to do a little more hunting to find the correct file, but usually latest.log is what you're looking for. A dedicated server will have fml-server-latest.log instead.

Locating Logs[edit | edit source]

Twitch[edit | edit source]

Twitch Ellipsis button

Getting to your Minecraft instance folder from the Twitch app is easy. First, from the Minecraft screen in Twitch, click on the modpack you're interested in. Now, in the top right corner you'll see a button labelled "Get More Content" next to which is an ellipsis (three dots) button. Clicking on that button will open a drop-down menu, from which you can choose Open Folder to be taken directly to the folder for that modpack.

Legacy FTB Launcher[edit | edit source]

From the FTB launcher, choose the Options button. This screen will display an entry for Install Folder; this is where you will find your modpacks. Either manually navigate to that folder or on Windows copy the text and paste it into the address bar of Explorer and it will take you to the correct directory. From there you'll need to navigate into the individual modpack folders, after which the instructions above about finding the log files will be accurate.

Other[edit | edit source]

If you are using a different launcher or none at all, you will need to be able to locate your Minecraft modpack directory on your own. Once you do, the same folder structure as described above should exist and you should be able to hunt down your crash logs without issue.

Sharing Logs[edit | edit source]

If you need to share your log with the community so you can get assistance with someone else, please do not copy and paste it into a discussion thread. The logs are large and if you try to prune them you may omit important details, and some websites mess up the formatting. Instead, share the file via a paste service, of which there are many. Here are a few in no particular order:

Once you've put the file on one of these sites, you can simply share the link to the paste rather than the whole file. Also, please note that it is simpler if you use one of these services rather than something like Dropbox, Google Drive, or OneDrive. While these are great for sharing other data, they're overly complex for this purpose and are the reason the sites above are available.

Interpreting Crash Logs[edit | edit source]

Understanding all of the details of a crash log is far beyond the scope of this tutorial page, but is also unnecessary in a lot of cases. Try the following to be able to help yourself solve a problem quicker than waiting on help from the internet!

A Java Stacktrace[edit | edit source]

When Minecraft crashes, it produces what is known as a stacktrace. Put simply, this is a list of what Minecraft was trying to do when things went wrong. Here is a pruned example of one:

---- Minecraft Crash Report ----
// Uh... Did I do that?

Time: 26/02/16 11:04 PM
Description: Ticking block entity

java.lang.NoSuchMethodError: appeng.api.features.IInscriberRegistry.getRecipes()Ljava/util/List;
	at net.bdew.ae2stuff.machines.inscriber.TileInscriber.findFinalRecipe(TileInscriber.scala:128)
	at net.bdew.ae2stuff.machines.inscriber.TileInscriber$$anonfun$1.apply$mcV$sp(TileInscriber.scala:59)
	at net.bdew.lib.Event0$$anonfun$trigger$1.apply(Event.scala:19)
	at net.bdew.lib.Event0$$anonfun$trigger$1.apply(Event.scala:19)
	at scala.collection.immutable.List.foreach(List.scala:383)
	at net.bdew.lib.Event0.trigger(Event.scala:19)
	at net.bdew.lib.tile.TileExtended.func_145845_h(TileExtended.scala:63)
	at net.minecraft.world.World.func_72939_s(World.java:1939)
	at net.minecraft.world.WorldServer.func_72939_s(WorldServer.java:489)
	at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:636)
	at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:334)
	at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:547)
	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:427)
	at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685)

This looks like a big mess but there are a few hints as to what's going on. First of all, the Description line tells us that the problem is with a "Ticking block entity" - ticking essentially refers to something doing the work that it does (i.e. when a furnace "ticks" it makes a bit of progress towards processing the item it's working on) and a block is simply that, a block in the world.
The really important pieces are here:

java.lang.NoSuchMethodError: appeng.api.features.IInscriberRegistry.getRecipes()Ljava/util/List;
	at net.bdew.ae2stuff.machines.inscriber.TileInscriber.findFinalRecipe(TileInscriber.scala:128)

This information is going to get us 90% towards understanding what's going on. In the first line, we see a mention of "IInscriberRegistry" which could mean absolutely anything, but what was I doing when this crash occurred? Oh, I was interacting with an Advanced Inscriber from AE2 Stuff! The second line confirms that as it shows the issue was in "net.bdew.ae2stuff.machines.inscriber...". At this point there's a hint at what's going on, but what can be done about it?

Dealing with the issue[edit | edit source]

This section is not called Solving the issue because sometimes you simply cannot solve the problem and it's out of your hands. Instead, what should we do to deal with this issue?

  1. Check for an updated version of the mod
  2. Check to see if the issue has been reported to the mod author and if not, do so. If it was, can you provide additional detail?
  3. If the bug was reported, is there a workaround?
  4. If possible, just avoid doing the thing that causes the crash

These are in order of general effectiveness, but of course there are caveats for every step. Updating the mod is usually the simplest solution but is not always practical, especially if you're playing on a server with a modpack that you do not control. At the end of the day, you're going to have to decide how you deal with it. The next section goes into detail on dealing with a specific type of crash.

Updating Java[edit | edit source]

Keeping your Java up to date can have a few benefits, including getting access to the latest performance increases as well as bug and security fixes. Step by step instructions on how to update your particular system are beyond the scope of this document but you can start at java.com. Please note, if your system supports it (which most modern systems should), you should be using 64-bit Java.

Twitch App[edit | edit source]

The Twitch App bundles a specific version of Java to ensure that there are no external requirements beyond the app to run Minecraft. However, this means if you update your Java on your system, it will be ignored by instances launched through the Twitch App. Normally this is not a problem, but if you are experiencing an issue and would like to update the Java that Twitch uses, you can do the following:

  1. Open the Twitch App settings by clicking the three horizontal bars in the top left, choosing File, then settings or keyboard shortcut ctrl-,
  2. Choose the Minecraft settings submenu on the left
  3. Scroll to the bottom of the settings where you can provide additional arguments
  4. Add "-version:1.8+" without quotes

Instances you launch from this point on should use the latest installed Java version on the system. If for some reason this doesn't work, you can try manually replacing the bundled version following the steps below:

  1. Install the Java version as you normally would, and note its installation directory. On Windows, this is typically C:\Program Files\Java\.
  2. Navigate to the Curse installation directory. The easiest way to find this if you don't already know where it is to open the Twitch App, choose a Minecraft instance, click on the three dots button, choose Open Folder, and then move up two directories from your instance directory, through Instances, to the Minecraft folder.
  3. From the Curse Minecraft directory, go into Install, then into Runtime, and then into the jre folder for your system. This should be jre-x64 on a 64-bit system.
  4. Rename the existing numbered version folder to something else so you can back out this change should you need to. I typically use 1.8.0_25_original.
  5. From inside the Java installation directory, pick the version you want Twitch to use, for instance jre1.8.0_141 for Java 8 Update 141. Copy that folder to the jre folder from the previous steps.
  6. Rename the copied folder so it matches the original name exactly, 1.8.0_25 is the version Twitch was bundled with at the time of this writing - no matter which version you're updating to.

At this point your Minecraft instances launched through the Twitch app should be using the Java version you changed to. You can verify this from within Minecraft by looking at the debug screen, typically bound to the F3 key.

Removing crashing entities[edit | edit source]

Having gotten to the point where we understand what mod is causing the issue, in certain cases there is a straightforward solution to the problem.

Automatically[edit | edit source]

Forge includes two configuration options for automatically removing crashing entities, and crashing tile entities. If you open your modpack folder, go into the config folder, and open forge.cfg, under the general section you should find the following lines:

    # Set this to true to remove any Entity that throws an error in its update method instead of closing the server and reporting a crash log. BE WARNED THIS COULD SCREW UP EVERYTHING USE SPARINGLY WE ARE NOT RESPONSIBLE FOR DAMAGES.
    B:removeErroringEntities=false

    # Set this to true to remove any TileEntity that throws an error in its update method instead of closing the server and reporting a crash log. BE WARNED THIS COULD SCREW UP EVERYTHING USE SPARINGLY WE ARE NOT RESPONSIBLE FOR DAMAGES.
    B:removeErroringTileEntities=false

When you change these from false to true, the next time you start your world any entities or tile entities that were going to cause a crash will simply be removed. Note the warnings in the comments before each option, and heed them. These should only be enabled when necessary, not all the time.

Manually[edit | edit source]

Dealing with removing broken blocks or items from the world manually is beyond the scope of this document. However, the tools to do these things should be mentioned. If you are dealing with a block in the world that is causing a crash and you want to remove it, you can use MCEdit to edit the world while it is offline. Find it at the MCEdit site. If there is a problem with an item or something in someones inventory, a useful tool is NBTExplorer. Find it at its GitHub page.

Getting more help[edit | edit source]

You've tried what you can and are at the end of your abilities but stuff is still broken - not a problem, there are lots of places where the community can help you out. Here are a few places to check out:

  • Feed The Beast forums: The main FTB forums (make sure you're posting in the right place).
  • Minecraftforum.net forums: A ton of Minecraft conversation happens here. Dive into the modding forums for more information.
  • FTB subreddit: A subreddit dedicated to modded Minecraft discussion. General inquiries are okay here, but if you're experiencing crashes, please use...
  • FTB crashes subreddit ...this subreddit. Again, this is not for general help, it is for crashes and every post here should be accompanied by a crash log.