How to test OOS errors, what to report...

Iustus

King
Joined
Jul 18, 2006
Messages
609
Location
Sunnyvale, CA
You will want to post your reports on the bug reports forum

First, you need to edit your Civ4 ini file, located in "~My Documents/My Games/Warlords/":


in the "[Debug]" section, you want to enable logging:

; Create a dump file if the application crashes
GenerateCrashDumps = 1

; Enable the logging system
LoggingEnabled = 1

; Enable synchronization logging
SynchLog = 1

; Overwrite old network and message logs
OverwriteLogs = 1

; Enable rand event logging
RandLog = 1

; Enable message logging
MessageLog = 1

From my perspective, the most important one is RandLog, as that is where I think the errors are coming from.

Now, when you play the game, in "~My Documents/My Games/Warlords/Logs/" a file will be created called MPLog. Note, that this file often gets deleted when you end a game, so you have to look while you are still playing the game (alt tab out).

Now, once you and your partner(s) have all enabled logging (everyone playing needs to do it in order to guarantee you have some useful information), you can start playing.

The second you get an OOS error, stop doing anything. Immediately alt-tab out of the game, and make a copy of your MPLog file. This will ensure that even if civ4 deletes the file, you have the copy.

Now you want to have everyone send those files to one person to do a comparison. I use WinMerge to do comparisons, but you can use any file comparison utility. Here is what you get from WinMerge (note, this example is fake):


If you are using WinMerge, you want to click the "Next Diff" button (circled in red), to find the first difference.

Note, you may find some differences that are lines like:
Rand = -315329021 on 12 (AI Best UnitAI ASYNC)
or
Rand = -766902107 on 721 (AI Research ASYNC)

As long as it lits "ASYNC" in the line, then it is fine, it is not a bug, and is not expected to occur in both logs.

You are looking for the first non-ASYNC difference (and the next couple after that).

Note, once you get to the "OUT OF SYNC! MY SYNC SEED" line, everything after that is expected to be potentially different. In some cases the first few lines after this are also interesting, but eventually it just does not matter. There will likely be several out of sync lines, if you kept the game running for a while, that is fine, only the first one is really interesting.

Note, that while there are a lot of explore entries in the log, this does not mean that is what caused the problem. Those entries are there because we added extra logging for exploration, in addition to the fact that explorers call random more than most things, so are more likely to discover a sync problem that was caused by something else.

If you follow these steps, you can post logs which will lead us to tracking down those lingering sync issues.

If you do not have a compare file tool, you can just post the entire logs. Or, just post the lines near the first "OUT OF SYNC!" in each MPLog. I would prefer that someone verifies all the differences between the logs though, as that is really needed to be sure what happened.

I have enclosed the two 'sample' logs I used for this example.

-Iustus
 

Attachments

  • MPLog1.txt
    51 KB · Views: 147
  • MPLog2.txt
    51 KB · Views: 111
Top Bottom