1.29f Crash at Industrial Age

HarvardAce

Chieftain
Joined
Nov 24, 2001
Messages
5
Just installed the latest 1.29f patch, upgrading from 1.07f. Everything is working great -- enjoying the decreased corruption, etc.

Then I trade techs with the AI to get Metallurgy, the last of the required techs needed to move to the Industrial Age. As soon as I click on the accept button for the trade, however, I get an invalid page fault in civilization.exe and the game crashes. I'm assuming this has to do with moving into the industrial age, as I have had no troulbe trading techs with the AI before.

Anyone else having this problem? Anyone else successfully defeat it?

The first time it happened, I was running AIM and Winamp in the background. Tried without either of those running (and I also CTRL+ALT+DEL any other running programs), and I still had the same problem. Then I installed new drivers for my video card and motherboard (sound card already had latest drivers), but I'm still having the same problems.

Here are the specs:

AMD Duron 700
A-bit K7 mobo (Via chipset)
128 MB 133MHz SDRAM
Sound Blaster Live! Value
GeForce 2 MX 400
Windows 98 SE

Also, after it crashes, if I try to do pretty much anything else aside from restart the computer, it will freeze and I have to manually reboot.

If the the registers and other debug information would be helpful, let me know, and I can do it over again, but I forgot to write them down last time and don't feel like rebooting my computer over and over again unless it will help.
 
Yeah same thing happens to me (except only civ crashes, not the machine).
I just installed this game after not playing it in like 6 months..installed the new patch 1.29f, and play happily away..
until...

I go into industrial age and civilzation crashes.
Its extremly annoying as I cant find what the problem is and I was having a really good game.

AMD Athlon T-bird 1.2ghz
MSI k7
256 mb 133 mhz sdram
Sound blaster live 5.1
GeForce 4 Ti4400
Windows XP pro
 
Yeah same thing happens to me (except only civ crashes, not the machine).

I go into industrial age and civilzation crashes.
Its extremly annoying as I cant find what the problem is and I was having a really good game.

AMD Athlon T-bird 1.2ghz
MSI k7
256 mb 133 mhz sdram
Sound blaster live 5.1
GeForce 4 Ti4400
Windows XP pro
 
I have the same problem. Nothing crashes, just all of the sudden it freezes up and will not continue. Have not figured out how to get it going again.

Using a Gateway P1.4 and everything else works just fine.
 
Exact same problem here... has anyone been given a solution???

Ashoka
 
Something similar just happened to me. I am in the Industrial Age, researching replaceable parts, building Darwin's voyage, etc. and the game keeps freezing at the end of a particular year. When I reload a turn earlier and try to change the dynamics a little, it still freezes at the same year when I finish that turn.
 
hm, i think i might have an idea to the cause, not an actual solution or exact point, but if it freezes during the AI's turn...
then it must be something the ai does, stupidly, and never does anything different. i bet thats the problem. does it freeze immediately during your turn, or does it freeze after finishing your turn and hitting enter/spacebar or doing everything? this is very possible, knowing the ai is a piece of poo.
 
I have exactly the same problem on one of my games (1.29f) , ie the game freezes between years 1772 and 1774, even if I take an old save and play it all again, it still fixes at the same time : after I ended my turn and during IA's thinking time...

are we hitting a limit somewhere, an infinite loop or something else, I just dunno... I can send a zip of the game to anybody who's interested in testing, this should not take more than a few minutes and it would be interesting to see the result
 
I would be if it's an unmodded game - send it to isak@privat.dk

Thanks in advance.
 
Hi folks.

There IS a flaw in the 1.29f patch. The crash we see at industrial age is merely a ``file not found'' error. It's caused by the displaying of the industrial/modern age version of the settler unit.

In the ``art\units\<BLAH> industrial'' directory, ** where <BLAH> is the translation in your local language of the word ``settler'' **, you find a ``<BLAH> industrial.ini'' file. This file contains reference to NONEXISTING files in the directory ``..\<BLAH> modern\'', named ``settlerModernRun.flc'' for instance. These files are located in ANOTHER directory, which is ``..\Settler Modern\'' (untranslated !). Edit the .ini file and your game works again (query-replace ``..\<BLAH> modern\'' by ``..\Settler Modern\'').

This error is most probably specific to the translated versions of the game. The fault address I had is 0x004030d3 for the 1.29f patch. It fixes some others too, I didn't write them down.

Infogrames, this is APPALLING ! Two remarks:

It's pathetically ridiculous to have translated the file names in such a way in the first place. This causes random bugs, as we can see.

I've been teaching programming for a number of years. Not to your coders, probably. But I guess I'm not alone when I try to convince would-be programmers to CHECK THEIR RETURN CODES !!! Even though it shouldn't happen anyway, a ``file not found'' popup dialog box is much more informative than a crash (giving back very few info indeed).

Hope it helps,

E.
 
Originally posted by emmanuel
Hi folks.

There IS a flaw in the 1.29f patch. The crash we see at industrial age is merely a ``file not found'' error. It's caused by the displaying of the industrial/modern age version of the settler unit.

I believe that exact error was fixed by the 1.29f patch, where 2 new directories Worker Modern Times and Settler Modern Times were introduced. I don't believe the folders just called Worker Modern and Settler Modern have been in use since 1.21f, and that also explains why they refer to non-existing files.

But the "Worker Modern Times.INI" refers to a non-existing Sound file. The line:

CAPTURE=WorkerModernCapture.wav

should be changed to

CAPTURE=WorkerModernCapture.amb

That error was fixed in PtW by the way, so if you have that, no need to change anything.
 
There is no WorkerModernCapture.wav, so that's a problem. Tried to fix crash at beginning of industrial age by changing

CAPTURE=..\Worker Modern Times\WorkerModernCapture.wav

to

CAPTURE=..\Worker Modern Times\WorkerModernCapture.amb

in Working Industrial Ages.ini and in Worker Modern Times.ini. Civ3 still crashes at same place. Here is the call stack from VC6:

CIVILIZATION3! 00403046()
04f52480()
09293b50()
0929bd10()
04de1f90()
04ef3ff0()
...

Whatever my crash is, it happens before the above problem. I am playing Persia, and the crash happens after I receive my free Nationalism advance for getting to the Industrial Age.

F15e
 
Well, it may be a display problem, but it may actually be a number of different problems, so if you can send me a savegame I'll take a look at it and at least see if we can weed out the possibility that it's a 'local' problem.

Anyone from this thread still having problems, feel free to email me a savegame on isak_@_privat.dk (remove the underscores)

Please include some info on what I have to do to reproduce the bug and also your nickname here from CFC, and I'll take a look. (and no, it's not April Fools :D )
 
OK, here we go for additional details.

I'm running the french translation of civ3. First, I noticed that the installshield wizard of the 1.29f patch wasn't advertising 1.29f as its version number all along -- it mentions 1.21f in one or two places. The splash screen of civ3 gets updated to 1.29f version though.

I can't attach the saved games due to the file size limit. Instead are URLs (won't stay, beware). Folks, please try them. Hoping the savegame format doesn't vary from a translation of civ3 to another.

http://www.lix.polytechnique.fr/Labo/Emmanuel.Thome/vrac/Game1.SAV

The first one (GAME1.SAV) has some settlers on the map, and crashes once you reach the next turn (after the discovery of steam engine). Crash address is 0x004030d3

http://www.lix.polytechnique.fr/Labo/Emmanuel.Thome/vrac/Game2.SAV

The second one (GAME2.SAV) is the same game one year after, once the crucial instant is passed by applying the patch mentioned. If I load this game with the vanilla 1.29f version, then the game crashes if I go to the far right (thereby causing the display of a settler unit). Crash address is 0x00538220.

http://www.lix.polytechnique.fr/Labo/Emmanuel.Thome/vrac/Game3.SAV

The last one is identical to the previous one, with setters removed. Doesn't crash if you wander around the map. *DOES* crash, however, with the vanilla version of civ3 1.29f if you build a settler in some city, and try to display it (I tried in the city of Memphis. Crashes at 0x004030d3).


I'm 100% sure that at least the crash I encounter is display related, and caused by the reference to the nonexisting files.

The file tree for the settler units is as follows in my pretends-to-be 1.29f version (sorry for the unix-like forward slash).

Colons/Colons.ini
Colons/SetRunFoot1.wav
Colons/SetRunFoot2.wav
Colons/SetRunPack1.wav
Colons/SetRunPack2.wav
Colons/settBuild.flc
Colons/settDeath.flc
Colons/settDefault.flc
Colons/settFidget.flc
Colons/SettlerBuild.wav
Colons/SettlerCaptured.flc
Colons/SettlerFidget.wav
Colons/SettlerRun.amb
Colons/settRun.flc
Colons Epoque industrielle
Colons Epoque industrielle/SetRunFoot1.wav
Colons Epoque industrielle/SetRunFoot2.wav
Colons Epoque industrielle/SetRunPack1.wav
Colons Epoque industrielle/SetRunPack2.wav
Colons Epoque industrielle/settBuild.flc
Colons Epoque industrielle/settDeath.flc
Colons Epoque industrielle/settDefault.flc
Colons Epoque industrielle/settFidget.flc
Colons Epoque industrielle/SettlerBuild.wav
Colons Epoque industrielle/SettlerCaptured.flc
Colons Epoque industrielle/SettlerFidget.wav
Colons Epoque industrielle/SettlerRun.amb
Colons Epoque industrielle/settRun.flc
Colons Epoque industrielle/Colons Epoque industrielle.ini
Colons Epoque moderne
Colons Epoque moderne/Colons Epoque moderne.ini
Colons Epoque moderne/SetRunFoot1.wav
Colons Epoque moderne/SetRunFoot2.wav
Colons Epoque moderne/SetRunPack1.wav
Colons Epoque moderne/SetRunPack2.wav
Colons Epoque moderne/settBuild.flc
Colons Epoque moderne/settDeath.flc
Colons Epoque moderne/settDefault.flc
Colons Epoque moderne/settFidget.flc
Colons Epoque moderne/SettlerBuild.wav
Colons Epoque moderne/SettlerCaptured.flc
Colons Epoque moderne/SettlerFidget.wav
Colons Epoque moderne/SettlerRun.amb
Colons Epoque moderne/settRun.flc
Settler Modern
Settler Modern/SetRunFoot1.wav
Settler Modern/SetRunFoot2.wav
Settler Modern/SetRunPack1.wav
Settler Modern/SetRunPack2.wav
Settler Modern/Settler Modern.ini
Settler Modern/SettlerBuild.wav
Settler Modern/SettlerFidget.wav
Settler Modern/SettlerModernBuild.flc
Settler Modern/SettlerModernCaptured.flc
Settler Modern/SettlerModernDeath.flc
Settler Modern/SettlerModernDefault.flc
Settler Modern/SettlerModernFidget.flc
Settler Modern/SettlerModernRun.flc
Settler Modern/SettlerRun.amb

``Colons'' is for ``Settler'', ``Epoque moderne'' is for ``Modern times'', and ``Epoque industrielle'' is for ``Industrial ages'', if I got the reverse translations right.

The file I'm blaming is Colons Epoque industrielle/Colons Epoque industrielle.ini ; this file contains references to the following files (I'm keeping only the informative part).

[Speed]
[Animations]
DEFAULT=..\Colons Epoque moderne\SettlerModernDefault.flc
RUN=..\Colons Epoque moderne\SettlerModernRun.flc
DEATH=..\Colons Epoque moderne\SettlerModernDeath.flc
FIDGET=..\Colons Epoque moderne\SettlerModernFidget.flc
BUILD=..\Colons Epoque moderne\SettlerModernBuild.flc
CAPTURE=..\Colons Epoque moderne\SettlerModernCaptured.flc
[Timing]
[Sound Effects]
RUN=..\Colons Epoque moderne\SettlerRun.amb
FIDGET=..\Colons Epoque moderne\SettlerFidget.wav
BUILD=..\Colons Epoque moderne\SettlerBuild.wav
[Version]
[Palette]

Obviously these files don't exist in the ``Colons Epoque moderne'' directory, but rather in ``Settler Modern''. Whether this directory should be used or not is not my point. It's actually not referenced from anywhere, but it does contain filenames not found otherwise (surely changing SettlerModernFidget.flc in settFidget.flc in the .ini file works too).

Do you folks have similar setups as mine ?
Or is my install just all f***ed up ?

I insist on the fact that the program should really tell when it doesn't find a file. And on startup, not after hours of gameplay.

E.
 
I'm afraid I probably won't be able to load the games, as they are using french unitnames, and will crash with a missing file error, unless I rename all my unit folders and INI files to the french equivalent. :(

But I'm also a bit confused about something else. Did you start this game with 1.21f? I just get the impression that you are trying to patch the savegame, and that is not possible. The SAV file stores the version (and all settings) of the BIC it was created with, so it will continue to use the old settings, and in that case you are probably correct that it is actually using the 'Worker Modern' folder rather than the 'Worker Modern Times' folder, and then all the errors in the Worker Modern folder would apply.

Obviously these files don't exist in the ``Colons Epoque moderne'' directory, but rather in ``Settler Modern''.
I may be misunderstanding you here, and I have no idea how the french patch is 'composed' but this seems strange to me. If you have folders with both english and french names, are you sure you haven't applied the english patch to the french version? That would also cause a lot of problems, i guess.

But it also is quite possible that there have been localization errors created by Infogrames France. I believe I saw somewhere that Infogrames Germany had to release a second version of the 1.29f patch, so it is not at all unlikely. :)


About checking every file, I think it would be going a bit overboard. First of all it would create loading times only matched by Championship Manager games ;) Second, why check it every time you load a game? Of course errors can pop up in the filesystem of our OS'es but this still happens very rarely on most computers, and most users don't 'fiddle' around with their files, so they would have no apparent benefit from getting all files checked every time they load a game, IMHO.

It would be a great tool for modders, before releasing a mod, but as a general in-game feature, i'm not so sure.

But in general, I'm all for error checking routines and 'helpful' error messages, and both of these aspects have been improved tremendously since 1.07f and even further in PtW. In the expansion you can for example use the 'Debug' mode to build all units and in doing so the game will test the INI files and let you know if any files are missing. The downside (and something that I would like to have improved) is that this process is extremely slow, as the game must be restarted after each error is found (and corrected), and you can only test each unit individually. There is no 'Test the whole Enchalada' button, unfortunately. So there is room for improvment to the error checking, no doubt about that. :)
 
- For god's sake, if only I had an english non-translated version of civ3. I hate translations, and I spent so much of my playing time in the past on the original, untranslated civ1 and civ2 that I'm just lost with all these unit names unfamiliar to me (a battleship has to be called battleship :()

- I haven't noticed any problems with *WORKERS*, but rather with *SETTLERS*

- No, I haven't mixed up different translations of patches. But the silly thing is, that the french version is not consistent in the naming of files. It DOES have the files I mention, including the ``Settler modern'' folder. HOWEVER, as I mention, this folder might be what remains of previous patches, since it is not referenced from anywhere, nor does it contain a .ini file. It merely happens to contain file names not found elsewhere

- The savegames I provide were indeed started out with version 1.16f ; I didn't know such a thing was bound to fail. It surprises me because updating the .ini file does have a positive impact on the game. Anyway, I exepected woes of this kind (savegame incompatibility, even subtle), and I ran entire games with 1.29f (throttled somewhat : put 10 commerce points per square in the editor :D). This failed similarly. Unfortunately I can't provide them, since I erased them on monday by accident. I will redo more thorough checking later on if I get time for this.

- About assumptions on the costs of error-checking : you can't imagine how cheap it can be if you get things right. One system call, and that's all. All the .ini files are read on startup anyway. It's cheap to decide whether they contain references to existing files or not on startup. We're talking maybe hundreds or thousands of files, maybe, but nobody cares. It would matter if we were talking *millions* of file, which is far above our scale. For some thousands of file, a not-too-stupid programmer can do such a check in less than a second or a couple of seconds.
 
ok, for those of us that are slow... how do we fix this?... I just downloaded the patch last night after over a year of problem-free gaming and after a dozen turns or so it just crashed... I'm at the year 1765 (or 1756, not sure)... I rebooted the system and started from an earlier autosave and when I get to the same year, it gives me an error and shuts down... I was reading the posts about the Settler, but I'm not sure how to fix it, if that is the problem... any assistance will be greatly appreciated... thx...
 
Feel free to send me the savegame on the emailadress listed above, and I'll take a look at it :)

But please note, that if it's not an english language version, I'm afraid I can't load the savegame. :(
 
Back
Top Bottom