Single Player bugs and crashes - After the 29th of March

Status
Not open for further replies.
While I recommend using the SVN in general, you can get around the camel issue (there was some bad text tag there that was exposed by the new language code) by downloading and replacing this file:
https://svn.code.sf.net/p/caveman2cosmos/code/trunk/Assets/XML/Text/C2C_Unit_CIV4GameText.xml

Yay, that workaround helped! Thank you.

But at least you know more about camels now :D

I've played about 10 turns with that important information in every popup :crazyeye:
 
I noticed that when I got the sedentary lifestyle tech first, it asks me to choose a free tech.

However, when I try clicking on any tech, a red message appears that said you have already chosen your free tech(s), even though I haven't and the tech I just clicked to grab for free is on my research roster.
 
I noticed that when I got the sedentary lifestyle tech first, it asks me to choose a free tech.

However, when I try clicking on any tech, a red message appears that said you have already chosen your free tech(s), even though I haven't and the tech I just clicked to grab for free is on my research roster.

Need more info as most ppl do not have this problem.
Ex:
Are u using the Official V29 release?
Or the SVN? If so was this from a recent update?
What Options do you have set up?
etc.

Also save game and screenshot would be very helpful for that Modders.

JosEPh
 
Version 29
CTD (reproducible, happens after clicking "end turn" in the attached savegame):

Tried back-tracking by 2-3 autosaves, still seems to crash in this exact moment.

Minidump also attached


EDIT: Nevermind, the latest patch has resolved the issue. Leaving the savegame in case you want to take a look anyway
 

Attachments

Rev. 5355:

I've been generating Fractal maps (Large or Huge), and I've noticed that there are never any Diamonds, Jade, Rubies, or Sapphires placed anywhere on the maps. I've looked at them via Worldbuilder, and those resources are nowhere to be found. This is over at least a dozen such maps, so it seems to be a pattern.
 
V29

There seem to be something wrong in the city defence modifier when a city has negative defence bonus. In the picture the townwatcman seems to be missing the +95% defence modifier in the evaluation.
View attachment 349517

Interesting. The negative should not be counting there...

@Koshling: As I recall you attempted to remove a redundancy in the city defense modifiers. Could that have something to do with this perhaps?
 
To repair during freeze:


5:
Code:
Assert Failed

File:  CvGlobals.cpp
Line:  4998
Expression:  stricmp(szType, "NONE")==0 || strcmp(szType, "")==0
Message:  info type CIVIC_MUTUALLY_ASSURED_DESTRUCTION not found, Current XML file is: modules\ori\Events\tarpit_CIV4EventTriggerInfos.xml

----------------------------------------------------------
 
To repair during freeze:

These Asserts are coming up on load:

Spoiler :
1:
Code:
Assert Failed

File:  CvGlobals.cpp
Line:  4998
Expression:  stricmp(szType, "NONE")==0 || strcmp(szType, "")==0
Message:  info type BUILDING_CIVICTRIBAL not found, Current XML file is: modules\CIVPlayer8\Buildings\CP8_CIV4BuildingInfos.xml

----------------------------------------------------------
2:
Code:
Assert Failed

File:  CvGlobals.cpp
Line:  4998
Expression:  stricmp(szType, "NONE")==0 || strcmp(szType, "")==0
Message:  info type BUILDING_CIVICSERVITUDE not found, Current XML file is: modules\CIVPlayer8\Buildings\CP8_CIV4BuildingInfos.xml

----------------------------------------------------------
3:
Code:
Assert Failed

File:  CvGlobals.cpp
Line:  4998
Expression:  stricmp(szType, "NONE")==0 || strcmp(szType, "")==0
Message:  info type BUILDING_CIVICVOLUNTEER not found, Current XML file is: modules\CIVPlayer8\Buildings\CP8_CIV4BuildingInfos.xml

----------------------------------------------------------
4:
Code:
Assert Failed

File:  CvGlobals.cpp
Line:  4644
Expression:  strcmp(szType, "NONE")==0 || strcmp(szType, "")==0
Message:  type ARTSTYLE_EUROPEAN not found

----------------------------------------------------------
5:
Code:
Assert Failed

File:  CvGlobals.cpp
Line:  4998
Expression:  stricmp(szType, "NONE")==0 || strcmp(szType, "")==0
Message:  info type CIVIC_MUTUALLY_ASSURED_DESTRUCTION not found, Current XML file is: modules\ori\Events\tarpit_CIV4EventTriggerInfos.xml

----------------------------------------------------------

OK i took care of all BUT the last one, i cant find it anyplace in modules or core??

Can you either delete what i took care of or put in spoiler thx.
 
Ok.

I profiled your save, SO, and the crash is apparently not repeatable. However, I do suspect it may have something to do with the missing art reference so by fixing that you may have fixed the crash problem.

There's also a LOT of interesting asserts in running through a turn on that game that could be comprising quite a list of bugs to resolve. There's a lot of those asserts that are only coming up because of the uses of assets that we have that violate what rules they were expected to maintain - but some of them are really bugs.

@Koshling: I'm a bit curious about the happiness/unhappiness asserts in there. They seem to very much indicate we have some bad programming in the good happiness etc... portions. Those functions should only ever come up with a positive since the negatives should be counting as UNhappiness. I could evaluate that a bit deeper but I wanted to see if you come up with the same conclusion that this does mean there is a real problem there. A number of AI asserts there that I imagine you will understand the implications on as well. Worth taking a look.
 
ome of them are really bugs.

@Koshling: I'm a bit curious about the happiness/unhappiness asserts in there. They seem to very much indicate we have some bad programming in the good happiness etc... portions. Those functions should only ever come up with a positive since the negatives should be counting as UNhappiness. I could evaluate that a bit deeper but I wanted to see if you come up with the same conclusion that this does mean there is a real problem there. A number of AI asserts there that I imagine you will understand the implications on as well. Worth taking a look.

There are a ton of 'dubious' asserts in the code inherited from ancestor mods and BTS itself. Some of them likely are 'real' and indicative of bugs we do no know about, but many are crying wolf over non-issues. SOMETIME I want to spend a consolidated amount of time having an assertion-fix-and-cleanup drive to determine the cause of each one that is commonly seen, and either modify/remove them or fix the causative issue as appropriate.

However, for now you just have to live with hem unless you are sufficiently motivated to investigate causes. There are about half a dozen I routines 'ignore always' when they occur because I know they happen a lot, but haven't had time to investigate the cause for. The happiness/healthiness ones going off on city capture is one such case.

FYI All - I'm currently somewhat bogged down in some speculative performance work (more experimental investigations than an actual enhancement as yet), and have been since Sunday. I don't expect to get out of this mode until at least next weekend, so until then I am not in a position to look into/fix reported bugs.
 
Rev. 5355:

I've been generating Fractal maps (Large or Huge), and I've noticed that there are never any Diamonds, Jade, Rubies, or Sapphires placed anywhere on the maps. I've looked at them via Worldbuilder, and those resources are nowhere to be found. This is over at least a dozen such maps, so it seems to be a pattern.
It might simply fail to place them because of the specific requirements that are specified for these resources in the XML: Only on grass with jungle and restricted to one area.
 
Ok. I think I have nailed down my personal issue with the "failed to... video... line:341" thing.

My rig is an i53570k with 16gigs of Ram. Vid card is GeForce 660 Ti.
Running windows 8.

I'm trying to upload the save-it's .7z.(can't upload after all-can I send it by email to somebody?)

The game gives me the failed video error every few turns, almost always involving a cpu player trying to init diplomacy. Russia is the most frequent crash, but it has happened on others. This is not to say that I can't do diplomacy, this only happens when the init after I "end turn".

I'm going to try telling the "problem" people not to contact me. I'll let you know how it works out.
 
So far-have told Rome, Russia, Italy not to contact me. Egypt and Navajo have contacted me, but not asked for anything special, and the turn went through. Even Italy asked for my help after being told not contact. My suspicion-this is an error with advanced diplomacy somewhere.
 
FYI All - I'm currently somewhat bogged down in some speculative performance work (more experimental investigations than an actual enhancement as yet), and have been since Sunday. I don't expect to get out of this mode until at least next weekend, so until then I am not in a position to look into/fix reported bugs.
Helps to know. My wife was wondering why her gamebreaking bug was being overlooked. I had a feeling you might be a bit distracted with something on that front. It's one I wish I could fix but it's over my head. :(
 
Helps to know. My wife was wondering why her gamebreaking bug was being overlooked. I had a feeling you might be a bit distracted with something on that front. It's one I wish I could fix but it's over my head. :(

Remind me which one that was...
 
Ok. I think I have nailed down my personal issue with the "failed to... video... line:341" thing.

My rig is an i53570k with 16gigs of Ram. Vid card is GeForce 660 Ti.
Running windows 8.

I'm trying to upload the save-it's .7z.(can't upload after all-can I send it by email to somebody?)

The game gives me the failed video error every few turns, almost always involving a cpu player trying to init diplomacy. Russia is the most frequent crash, but it has happened on others. This is not to say that I can't do diplomacy, this only happens when the init after I "end turn".

I'm going to try telling the "problem" people not to contact me. I'll let you know how it works out.

Nothing you can do about that except use viewports. If you ARE using viewports then that probably indicates an asset issue with some graphical asset. Can you confirm firstly that you are using viewports? If so then chances are some unusual building or units is instantiated in your game that most people do not see - that would imply a rare culture-specific unit or else that you are quite late in the game, out where few people have explored sop to speak! What era are you in?
 
It might simply fail to place them because of the specific requirements that are specified for these resources in the XML: Only on grass with jungle and restricted to one area.

Is it something as simple as using different map settings? Also, where are the files that define placement of resources located?
 
Is it something as simple as using different map settings? Also, where are the files that define placement of resources located?
Some map scripts have a separate implementation of the bonus (resource) placement algorithm (though they follow the same rules).
The placement rules are defined in "Assets\XML\Terrain\CIV4BonusInfos.xml".
 
Remind me which one that was...

Spoiler :
I am having a repeatable CTD.

I am playing a single player game through the Multi-player Direct IP settings. All other players are set to AI. The CTD happens while processing the end of turn after hitting the red button.

TB is posting the save game, it is too big for me to attach.

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.

I'm sure she'd appreciate your help if you can find a moment for this one. Bear in mind that the game is being run as a single player under direct IP rather than the standard single player game and that may well be why she's encountered a bug other games have not. But the speed enhancement in turn times she's getting going about it this way has proven to be extremely valuable. Being able to suggest to others to play in this manner if they are getting frustrated with turn times can be very supportive for c2c. Furthermore, I'd assume that a bug like this one, if dependent on this play method, would emerge in any multi-player game even if we did have OOS errors sorted out effectively. Anyhow, she was really enjoying this game and she can't get past the crash and I haven't been able to find a way to fix it either.
 
Status
Not open for further replies.
Back
Top Bottom