How to read most Bethesda game error logs

From Nexus Mods Wiki
Jump to: navigation, search

Overview

There are often more than one kind of error logs produced by your game. For example, "Fallout New Vegas" (FNV) has the "falloutnv_error.log" (which it builds as the game is starting), and "falloutnv_havok.log" (which it builds as it renders art assets). These are automatically generated and located in the game root folder (where "FalloutNV.exe" in this instance is located). Then there are logs that "addons" to the game generate, such as "script extenders" and their plugins. Examples are "nvse_steam_loader.log" (created when the "New Vegas Script Extender" (NVSE) is used to start the game), "NVSE.log" (a short and simple "NVSE plugin initialized" report), and others as the authors find the need. Such are often not automatically enabled, as writing logs to disk is one of the slowest things a game can do, so they usually have to be enabled by you, the user when troubleshooting. (Please see the 'Checklist Item #4' entry in the wiki "Fallout NV Mod Conflict Troubleshooting" guide regarding how to enable "NVSE" logging. Other plugins should have this information in their documentation; or "configuration files", which may be located in a "plugins" sub-folder under the script extender folder (e.g. "Data\NVSE\Plugins".)

Once you get an error log enabled (which varies by game), you will often find an astonishing number of logged entries. The first thing to understand is that most are "warnings" (if they aren't flagged as "FATAL" or "ERROR" somehow) that the game engine was not able to properly process something. In most instances it will report it ignored or removed a variable or reference, or it didn't execute a script. These "warnings" did not cause the engine to "break" or stop working through the plugin files.

However, it does mean that something in the mod is not going to work as the creator intended. How severe a problem that causes is unpredictable: but it can range from "unnoticeable" to "CTD" or " 'freeze' in an endless loop".

This article is about how you can identify the source plugin of those messages.

Programs and Tools

  • Any plaintext editor, such as Windows Notepad or Notepad++.

Details

The primary thing you as the user need to understand is how to identify which mod plugin the log messages refer to. Please read the short article Form ID which explains how to get the "mod index" from the "Form/Ref IDs". This appears to hold consistent across the Bethesda line of games based upon the Gamebryo engine. In short the first two characters of a "reference" or "Form or Ref ID" are the "mod index" of the plugin (in your specific "load order") in hexadecimal form.

The second thing is to realize that the game engine is loading and parsing the contents of plugins in "load order" sequence, though it may process different types of data in different passes through the "load order". So where an error message doesn't identify the plugin or give a "reference" number, you need to consider that it is probably still processing the last plugin for which you do have a reference. But it is possible it has progressed to the next one, and a line following may provide the similar clue. Sometimes it just isn't clear at all and you have to ignore it or guess.

In general you aren't going to be able to do anything about the warnings and errors you find in the logs, unless you are prepared to open the mod in the game's Construction Kit and perform the surgery necessary to "fix" it. Your normal recourse is to send the relevant portion of your error log to the mod author so they can provide an "official" patch or update; but in cases where the author has moved on or fails to respond you have to decide to either live with the problems, see if someone on a forum can help, or remove the mod.

As a guideline, any "errors" or the more "warnings" a mod generates, the more likely it is causing the problem that sent you looking into the error log in the first place. However, those coming from the game or DLC plugins are either harmless or have to be "fixed" by an "unofficial patch" file designed for the purpose. In any case, these game/DLC errors are going to be affecting everyone and you should find a ready answer about them.

When reporting such errors, you need to take it upon yourself to trim your report down to the "essentials". Do not simply post the log with thousands of lines of warnings no one is going to do anything about. (The forum posts have character limits and people have only so much patience wading through "junk".) Create a copy containing the information at the beginning of the log (as this contains useful version identification and system type data), and then the line above the error line, and the line below it, to provide an error line "set of data" context. Use a blank or dotted line as a separator between "error line data sets". Repeat that pattern for each error message related to the plugin concerned. Also, because someone viewing your edited log file has no way of telling what plugin a "mod index" refers to, add the plugin identification information along with the "mod index" number before the first "error line data set", preferably with a link to the mod download site for positive identification in the event of questions.

When posting your edited log in forums, put it in "Spoiler" tags. (Use the "Special BBCode" button in the Forum "Reply" menu bar as the third icon from the left in the top row, next to and left of the "Font" pick-list field.)

When sending your edited log to an author, pack it into a standard archive format such as a ZIP or 7Zip file. This avoids (or at least warns about) errors in transmission of the contents.

Be sure to retain the original log file in case more information is needed from it later.

Windows Error Messages

Even when you do not have error logging for the game itself enabled, it is likely your "crash" problem caused a Windows "system error". These can also help with troubleshooting.

The message you may see displayed on the screen is just a notification that an error occurred. The details are recorded in the Windows Eventlog. The basics to access are:

  • To open the "Event Viewer" app: Click the Windows "Start" button, point to "All Programs", point to "Administrative Tools", and then click "Event Viewer".
(Search online for 'windows event viewer' for more version specific details if you can't find it easily.)
  • In "Event Viewer", in the console tree, click "Application".
  • If you notice any events that disclose an error, double-click the event to open the "Event Properties", and then read the description of the event.
  • Repeat in the console tree by clicking on "System". You are looking for any "System" events happening at the same time as the "Application" event; or the time of the crash if there are no "Application" events.

Typically a game or utility related error will be reported by the Operating System (OS) as an 'Event 1000, Application Error'. Note some elements are only visible when you are logged in with an Administrator privilege account. The "Event Viewer" has "filters" for types of errors that are presented as "Windows Logs". You should look at both the "Application" and the "System" logs for "Error" Level messages around the time your game had problems.

Windows "event" error messages only superficially look like they are saying 'the usual'. The details in the lower, large box are what are significant and do matter.

In particular the following details are of significance in these circumstances:

  • 'Faulting application:' (probably '<game>.exe, version: <some numbers>, time stamp: <when occurred>')
  • 'Faulting module name:' (very significant, the actual component source (exe/plugin/mod) of the error)
  • 'Exception code:' (exactly what type of error)
  • 'Fault offset:' (where in the faulting module the error occurred)

If any of the remaining lines of information seem pertinent, they should be given as well. In fact, the preferred method of conveying this information is a screenshot, but at least list the above data.

A web search on the "Exception code" combined with the Type and "Event number" (e.g. "Application Event 1000 exception 0xC0000005") will usually produce several possible causes. The word "error" is often used in place of "exception". Case in the code itself is not important, but the "0x" prefix is necessary to indicate the value is an 8-character hexadecimal number.


References

Nexus wiki articles referred to by this article:



Nexus wiki articles that refer to this article: