FfH2 0.32 Bug Thread

No crash for me.

So, I did a bit more investigation into my crash. I noticed that the PDB symbols are distributed with the SDK -- very nice. This was able to help me track it down a bit more, even though I am not able to build a replacement DLL.

This is the call stack of the crash location:
Spoiler :

CvGameCoreDLL.dll!CvLandscapeInfo::getVerticalGameCell() C++
CvGameCoreDLL.dll!CvPlot::doFeature() + 0x2bc bytes C++
CvGameCoreDLL.dll!CvPlot::doTurn() + 0x292 bytes C++
CvGameCoreDLL.dll!CvMap::doTurn() + 0x2a bytes C++
CvGameCoreDLL.dll!CvGame::doTurn() + 0x2b7 bytes C++
CvGameCoreDLL.dll!CvGame::update() + 0xae bytes C++
Civ4BeyondSword.exe!00417a56()
[Frames below may be incorrect and/or missing, no symbols loaded for Civ4BeyondSword.exe]
kernel32.dll!76620111()
Civ4BeyondSword.exe!006a7ba8()
Civ4BeyondSword.exe!004e9de6()
Civ4BeyondSword.exe!009199ff()
kernel32.dll!76624911()
kernel32.dll!7662c56f()
ntdll.dll!77c2e4b6()
ntdll.dll!77c2e489()
Civ4BeyondSword.exe!0088000b()

Looking at the disassembly, getVerticalGameCell() is misleading -- it is optimized by the linker, and is the same as getDisappearanceProbability() from this line in CvPlot::doFeature():

iProbability = GC.getFeatureInfo(getFeatureType()).getDisappearanceProbability();

Here is the disassembly of the relevant portion of doFeature():

Spoiler :

06E2BC5F push offset string "FLAMES_EXPIRE_EFFECT" (702FD94h)
06E2BC64 mov ecx,offset gGlobals (711A9D0h)
06E2BC69 call CvGlobals::getDefineINT (6D7D980h)
06E2BC6E push eax
06E2BC6F mov ecx,edi
06E2BC71 call CvPlot::setFeatureType (6E2B490h)
06E2BC76 movsx eax,word ptr [edi+2Eh]
06E2BC7A push eax
06E2BC7B mov ecx,offset gGlobals (711A9D0h)
06E2BC80 call CvGlobals::getFeatureInfo (6D7CCE0h)
06E2BC85 mov ecx,eax
* 06E2BC87 call CvLandscapeInfo::getVerticalGameCell (6E50BB0h)
06E2BC8C mov esi,eax
06E2BC8E test esi,esi
06E2BC90 jle 06E2BF6C
06E2BC96 mov ecx,dword ptr [gGlobals+2Ch (711A9FCh)]
06E2BC9C push offset string "Feature Disappearance" (702FD7Ch)
06E2BCA1 push 2710h
06E2BCA6 call CvGame::getSorenRandNum (6CFC380h)


From that, it seems like EDI holds our "this" pointer, and the feature type is stored at: word ptr [edi+2Eh], which has this value:

*(short *)(edi + 0x2E) 0xffff short

It would seem that the feature type is -1, or NO_FEATURE. The question is, how did we even get in this block of code, if we are in NO_FEATURE? (There is a test at the top.) Given that, it seems that the code just above which converts a FLAMES_FEATURE to a FLAMES_EXPIRE_EFFECT has failed for some reason, after setting the feature type to NO_FEATURE. Perhaps canHaveFeature returned false. I don't know.

The crash for me (and not for Sto) can be explained, because calling getFeatureInfo with NO_FEATURE passed will index into an array and return the -1 element of the array. getDissaperanceProbability() will then dereference that pointer. For me, the pointer is consistently returning something in no-man's land, and it must return something in mapped memory for Sto. I would say the code should be checking for NO_FEATURE before calling getFeatureInfo().

By the process of elimination, if I load the save file and use the world editor to remove the flame features, it seems to be the flame which is two squares to the south of Acheron which is causing the problem, because when I take out that one everything is fine, but if I take out all the others and leave that one in, my game will crash.

Hope this helps, and let me know if there is anything more I can do.
 
Here's a weird one, low priority since it's a bizzare circumstance.
So I've got Gibbon as my only archmage, using the new Chaos III spell, Wonder, to harass my would-be invaders. One of Wonder's effects summons a permanent treant; since Gibbon summoned it, it's an illusion. But the second the treant gets a promotion, it can be given the Elemental promotion, de-illusioning it. It's just a bit strange for an illusionary treant to suddenly become quite real...
Oh, and on the subject of Wonder, the "turns into a Baboon" effect has... no effect. At least, not on Gibbon. Is this intentional to keep heroes from being dropped three rungs on the evolutionary ladder?
 
This is not a Fall from Heaven save file, I suspect its from Fall Further. Please review the 5 requirements to reporting issues in the first post in this thread.

Oh, sorry.
 
I encounter many CtD in my first 3.17 patched 0.32h game with tectonic real world map. After loading the autosave I can play 1-4 turns before the next CtD. I have Vista, start BtS with compatibility mode for XP service pack 2.

maybe this helps?

Problemsignatur:
Problemereignisname: APPCRASH
Anwendungsname: Civ4BeyondSword.exe
Anwendungsversion: 3.1.3.1
Anwendungszeitstempel: 48317e8a
Fehlermodulname: CvGameCoreDLL.dll
Fehlermodulversion: 0.0.0.0
Fehlermodulzeitstempel: 485e72ed
Ausnahmecode: c0000005
Ausnahmeoffset: 001b0bb0
Betriebsystemversion: 6.0.6000.2.0.0.768.3
Gebietsschema-ID: 2055
Zusatzinformation 1: cb74
Zusatzinformation 2: 2acd1d5918dd0f8903d8dec2dc50eafe
Zusatzinformation 3: e22c
Zusatzinformation 4: f6cc719e06a1f3edbf9a19f7da7dec22
 

Attachments

pedia typo:

<Tag>TXT_KEY_CIV_MALAKIM_PEDIA</Tag>
<English>[TAB]The only elves the Malakim had seen were the the dark Svartalfar....
 
0.32 h

Anerons Bounty doesn't seem to trigger upon upgrading a Level 4 / 5 nightwatch to an assasin anymore (and also with other assasins later. So it seems like this Event has gone down the drain.)

Has the requirement changed / is this a bug? Or did i just miss a message of the AI founding it by chance (Even if im rather sure they didn't before me. But who knows...)?
 
0.32 h

Anerons Bounty doesn't seem to trigger upon upgrading a Level 4 / 5 nightwatch to an assasin anymore (and also with other assasins later. So it seems like this Event has gone down the drain.)

Has the requirement changed / is this a bug? Or did i just miss a message of the AI founding it by chance (Even if im rather sure they didn't before me. But who knows...)?

This will be fixed with patch i.

5. Fixed an issue that would cause the first unit to always be picked for events (fixed by Sto!).

In fact , No unit are picked for any event that should pick an unit for the moment. This is just a misunderstanding with my "bad" English.

Tcho !
 
I encounter many CtD in my first 3.17 patched 0.32h game with tectonic real world map. After loading the autosave I can play 1-4 turns before the next CtD. I have Vista, start BtS with compatibility mode for XP service pack 2.

maybe this helps?

Problemsignatur:
Problemereignisname: APPCRASH
Anwendungsname: Civ4BeyondSword.exe
Anwendungsversion: 3.1.3.1
Anwendungszeitstempel: 48317e8a
Fehlermodulname: CvGameCoreDLL.dll
Fehlermodulversion: 0.0.0.0
Fehlermodulzeitstempel: 485e72ed
Ausnahmecode: c0000005
Ausnahmeoffset: 001b0bb0
Betriebsystemversion: 6.0.6000.2.0.0.768.3
Gebietsschema-ID: 2055
Zusatzinformation 1: cb74
Zusatzinformation 2: 2acd1d5918dd0f8903d8dec2dc50eafe
Zusatzinformation 3: e22c
Zusatzinformation 4: f6cc719e06a1f3edbf9a19f7da7dec22

I was having this same crash after installing patch H (on a Steam installation of BTS 3.17). It would crash every 1-4 turns for a while, and then it started crashing crashed every turn. The crash would always happen soon after I pressed "End Turn" (but before my autosave for the next turn was saved). I resolved the problem by going into worldbuilder and deleting all the fire on top of mountains (which was a LOT because I was playing with the Creation map). Now it doesn't crash, and I do go back and delete the mountain fire every 20-30 turns to be sure.

Of note, Acheron is still active in my game, but I didn't find it necessary to delete him to resolve the problem.

This is a wonderful mod by the way.
 
Doesn't explain the Balseraphs though (WCH mentioned that), unless they had Orthus's Axe or some other equipment.

Yea.. and I have had this happen to me in vanilla Civ - where the defeated CIV hung around for a while...
 
I played normal civ with choosing religions activated. When I switched to the FFH2-Mod later this setting was still active. It was listed at the settings in the game and the AIs obviously chose their religions (I didnt found one myself).
But I couldn't disable it at the beginning of a new game because the setting doesn't exist in FFH2.
 
I was having this same crash after installing patch H (on a Steam installation of BTS 3.17). It would crash every 1-4 turns for a while, and then it started crashing crashed every turn. The crash would always happen soon after I pressed "End Turn" (but before my autosave for the next turn was saved). I resolved the problem by going into worldbuilder and deleting all the fire on top of mountains (which was a LOT because I was playing with the Creation map). Now it doesn't crash, and I do go back and delete the mountain fire every 20-30 turns to be sure.

Of note, Acheron is still active in my game, but I didn't find it necessary to delete him to resolve the problem.

This is a wonderful mod by the way.

hey cool, thanks, I never thought about fire on mountains to solve the problem :) and it appeared only after Archon had arrived. thanks will test this. :)
 
I cant seem to load the game at all i patched to the new civ patch then patched to you H patch i start up and everything loads fine i go to custum game click on my setting and it gets to graphics init and crashes to desktop.
 
Sounds like you didn't download and install the official patch and then the unofficial patch.

That's the same problem I was having, except it was during startup.
 
Bhruic's (or it is Solver's?) unofficial patch is not needed. It only changed a couple things in the SDK and one python file, which FfH replaces anyway.

I think Kael may have included these changes in normal FfH too, as he has done after earlier unofficial patches. One of the unofficial patch's changes was to allow power graphs when espionage is disabled, which I hear is how it works in FfH after patch g.
 
It's Solvers I believe.

To answer ya, the power graphs show now :)

Anyways, your problem sounds similar to what happened to me, so try getting the official one. You may have to go to the downloads database and get it from there since the ingame install doesn't always seem to actually install it, on Vista at least as that's what I have.
 
Here's a weird one, low priority since it's a bizzare circumstance.
So I've got Gibbon as my only archmage, using the new Chaos III spell, Wonder, to harass my would-be invaders. One of Wonder's effects summons a permanent treant; since Gibbon summoned it, it's an illusion. But the second the treant gets a promotion, it can be given the Elemental promotion, de-illusioning it. It's just a bit strange for an illusionary treant to suddenly become quite real...
Oh, and on the subject of Wonder, the "turns into a Baboon" effect has... no effect. At least, not on Gibbon. Is this intentional to keep heroes from being dropped three rungs on the evolutionary ladder?

Yeah, its kind of a funky way to do things. Heroes won't turn into baboons (I didnt want a player to confuse them for normal units). Archmages will though.
 
Some little things (latest Patch):

-River of Blood doesn't work on Pop2 Cities. Is this intentional or a bug, because you can't reduce Pop2 by 2 ? Shouldn't it reduce by 1 then in order to make it work?

goto CvSpellInterface.py and search for spellRiverOfBlood (line: 1819) and then change/add
Code:
if pCity.getPopulation() > 2:
pCity.changePopulation(-2)
to
Code:
if pCity.getPopulation() > 2:
pCity.changePopulation(-2)
if pCity.getPopulation() == 2:
pCity.changePopulation(-1)

that ought to fix it.
 
Back
Top Bottom