Here's Whisperr's
savegame.
During a debug run, as it approaches the crash site, I do get this assert:
Code:
Assert Failed
File: CvCityAI.cpp
Line: 17337
Expression: AI_buildingValueThresholdOriginal(eBuilding, iFocusFlags, iThreshold, bMaximizeFlaggedValue) == 0
Message:
----------------------------------------------------------
But it will gladly go beyond this point without a crash, only to come up with the same assert 2 more times. This appears as if it may have something to do with the 1player Direct IP method she's playing under but it has to do with AI/Caching and that's out of my realm of comprehension entirely.
It could also have something to do with the unit wrappers here as her game was played between the first and second debug attempts there. This apparently has caused me to get about 3 asserts regarding FeatureDoubleMoveCount being at -1 (which I don't think there's currently any way this can take place in the xml and that count was definitely a part of the wrapper disharmony there.)
It crashes at a horrible point where there's nothing going on anywhere near our code:
Call Stack:
Code:
> ntdll.dll!770415de()
[Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll]
ntdll.dll!770415de()
ntdll.dll!7703014e()
ntdll.dll!77040866()
KernelBase.dll!75e40e9e()
KernelBase.dll!75e40eb8()
msvcr71.dll!7c3416b3()
msvcr71.dll!7c3416db()
msvcr71.dll!7c3416f8()
Civ4BeyondSword.exe!00405cac()
Civ4BeyondSword.exe!004bbd61()
And yes, I've got an updated pdb file in the assets along with the debug dll I'm running when I've loaded the save and attached to process. This is happening reliably between turns.
A little bit of the output list leading up to the crash:
Code:
AI_getPlotDanger for (71,61) at range 1 (bTestMoves=0)
Apparent memory leak (size 16) detected in CvUnitAI::AI_update (from CvUnitAI::AI_attackOddsAtPlot:2)
Apparent memory leak (size 16) detected in CvUnitAI::AI_update (from CvUnitAI::AI_attackOddsAtPlot:3)
Apparent memory leak (size 16) detected in CvUnitAI::AI_update (from CvUnitAI::AI_attackOddsAtPlot:4)
Apparent memory leak (size 16) detected in CvUnitAI::AI_update (from CvUnitAI::AI_attackOddsAtPlot:5)
Apparent memory leak (size 16) detected in CvUnitAI::AI_update (from CvUnitAI::AI_attackOddsAtPlot:6)
Apparent memory leak (size 16) detected in CvUnitAI::AI_update (from CvUnitAI::AI_attackOddsAtPlot:7)
Apparent memory leak (size 16) detected in CvUnitAI::AI_update (from CvUnitAI::AI_attackOddsAtPlot:8)
AI_Update for unit 114712 of owner 12
Unit Spearman (114712) for player 12 (Canadian Empire) at (63,60) advertising for work
AI_Update for unit 81924 of owner 12
AI_Update for unit 40965 of owner 12
Unit Stone Axeman (40965) for player 12 (Canadian Empire) at (69,60) advertising for work
AI_Update for unit 49163 of owner 12
function CvGame::updateMoves added 4368K bytes, total now 1206664K
function CvGame::update added 19492K bytes, total now 1206664K
First-chance exception at 0x004bbd7a in Civ4BeyondSword.exe: 0xC0000005: Access violation reading location 0x00000054.
Unhandled exception at 0x770415de in Civ4BeyondSword.exe: 0xC0000005: Access violation reading location 0x00000054.
If I'm not mistaken though, it looks from this like its moving OUT of unit determinations at that point and its whatever it hits next that brings the crash.
Is this potentially just a graphics issue? Anyhow... I've gotta hand this off as I'm a bit lost as to what's
really causing trouble here.