Single Player bugs and crashes - After the 13th July 2013

Status
Not open for further replies.
This is a repeatable CTD that is blocking my ability to progress in the game.

Save can be downloaded from:

http://96.8.120.190/files/civ4/

Mini.dmp is included in the directory above. There was no error log from Civ 4.

To repeat CTD, just press end of turn and wait until Civ 4 crashes to desktop with a MAF.

This is from C2C v31, CoreDLL is from August 7th update. I haven't modded or edited any files otherwise. I am running Win 7, 64-bit.

Also, in this same game, I lost the ability to open World Builder about a dozen turns previously - trying to open WB results in a crash to desktop. This wasn't the case previously.

Zerli

The minidump is dated July 31st, and since the August 7th patch generates a file called minidump_<VersionNumber>.dmp I think it's safe to say this is an old dump from some time ago.

I have tried your save, and it runs out of memory processing the turn for me. The fact that it probably is not writing a new minidump (or you'd have noticed it and not copied the old one I would think) suggests it's probably running out of memory for you too. Have you tried with viewports enabled? That also almost always causes WB crashes on very large maps, once they become somewhat populated (again viewports should resolve it).

Update - it runs fine with viewports enabled for me, so I'm fairly confident that is what you need to do.
 
This is the call stack of the main thread afther a 60% memory usage increase.
Code:
>	ntdll.dll!77146ee6()	Unknown
 	[Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll]	
 	msvcr71.dll!7c3416b3()	Unknown
 	msvcr71.dll!7c3416db()	Unknown
 	msvcr71.dll!7c3416f8()	Unknown
 	msvcp71.dll!7c3cad59()	Unknown
 	msvcp71.dll!7c3a2565()	Unknown
 	msvcp71.dll!7c3aedba()	Unknown
 	msvcp71.dll!7c3b37ec()	Unknown
 	msvcp71.dll!7c3b3f91()	Unknown
 	CvGameCoreDLL.dll!CvWString::CvWString(const CvWString & s={...}) Line 24	C++
 	CvGameCoreDLL.dll!CvTalkingHeadMessage::CvTalkingHeadMessage(const CvTalkingHeadMessage & __that={...})	C++
 	CvGameCoreDLL.dll!std::list<CvTalkingHeadMessage,std::allocator<CvTalkingHeadMessage> >::_Buynode(std::_List_nod<CvTalkingHeadMessage,std::allocator<CvTalkingHeadMessage> >::_Node * _Next=0x03e337f8, std::_List_nod<CvTalkingHeadMessage,std::allocator<CvTalkingHeadMessage> >::_Node * _Prev=0xd4f9d9f0, const CvTalkingHeadMessage & _Val={...}) Line 926	C++
 	CvGameCoreDLL.dll!CvPlayer::addMessage(const CvTalkingHeadMessage & message={...}) Line 20445	C++
 	Civ4BeyondSword.exe!00508343()	Unknown
 	Civ4BeyondSword.exe!00507efc()	Unknown
 	Civ4BeyondSword.exe!004d8bce()	Unknown
 	CvGameCoreDLL.dll!AddDLLMessage(PlayerTypes ePlayer=59, bool bForce=63, int iLength=91879344, CvWString szString={...}, const char * pszSound=0x0018f680, InterfaceMessageTypes eType=91389024, const char * pszIcon=0x00000000, ColorTypes eFlashColor=88800156, int iFlashX=28, int iFlashY=0, bool bShowOffScreenArrows=10, bool bShowOnScreenArrows=82) Line 5285	C++
 	CvGameCoreDLL.dll!FVariableSystem::GetValue(const char * szVariable=0x4f01b4a8, const char * & pszValue=0x0575ffff) Line 320	C++
 	CvGameCoreDLL.dll!CvUnit::killUnconditional(bool bDelay=255, PlayerTypes ePlayer=88379020, bool bMessaged=46) Line 1296	C++
 	CvGameCoreDLL.dll!_MiniDumpWriteDump@28()	C++
 	python24.dll!1e026472()	Unknown
 	python24.dll!1e02766c()	Unknown
 	python24.dll!1e029a88()	Unknown
 	python24.dll!1e02a3dd()	Unknown
 	python24.dll!1e05f62f()	Unknown
 	python24.dll!1e098bd7()	Unknown
 	kernel32.dll!750214dd()	Unknown
 	msvcr71.dll!7c34218a()	Unknown
 	CvGameCoreDLL.dll!FFreeListTrashArray<CvArea>::getAt(int iID=2) Line 329	C++
 	CvGameCoreDLL.dll!CvPlayerAI::AI_unitUpdate() Line 1890	C++

This a near crash
Code:
>	Civ4BeyondSword.exe!006832ab()	Unknown
 	[Frames below may be incorrect and/or missing, no symbols loaded for Civ4BeyondSword.exe]	
 	Civ4BeyondSword.exe!00682fb0()	Unknown
 	Civ4BeyondSword.exe!004e05e6()	Unknown
 	Civ4BeyondSword.exe!004e00e5()	Unknown
 	Civ4BeyondSword.exe!004df960()	Unknown
 	Civ4BeyondSword.exe!00435e93()	Unknown
 	CvGameCoreDLL.dll!CvUnit::bombardRanged(int iX=1635800, int iY=1635828, bool sAttack=true) Line 26198	C++
 	CvGameCoreDLL.dll!CvSelectionGroup::groupStackAttack(int iX=46, int iY=14, int iFlags=16, bool & bFailedAlreadyFighting=false) Line 7739	C++
 	CvGameCoreDLL.dll!CvSelectionGroup::groupAttack(int iX=46, int iY=14, int iFlags=16, bool & bFailedAlreadyFighting=false) Line 4939	C++
 	CvGameCoreDLL.dll!CvSelectionGroupAI::AI_update() Line 279	C++
 	CvGameCoreDLL.dll!CvPlayerAI::AI_unitUpdate() Line 1890	C++

Hmm, not that illuminating :(

I have uploaded another DLL+PDB combo to the same shared folder (same URL as before - you'll see the new ZIP). This one enabled debugging tracing. If you attach the debugger when you run it, you'll get ongoing trace in the debugger output window. Hopefully the last thing(s) it traces before it crashes will provide us with some useful evidence...

Also, I'm afraid I cannot provide you a next-turn save (that would be useful to you) because I'm running with latest SVN assets, so saves I generate won't work for you (the save format stuff is guaranteed backward compatible, but not always forward compatible, which means you can always load an older save with a newer DLL, but not visa versa).
 
Hmm, not that illuminating :(

I have uploaded another DLL+PDB combo to the same shared folder (same URL as before - you'll see the new ZIP). This one enabled debugging tracing. If you attach the debugger when you run it, you'll get ongoing trace in the debugger output window. Hopefully the last thing(s) it traces before it crashes will provide us with some useful evidence...

Also, I'm afraid I cannot provide you a next-turn save (that would be useful to you) because I'm running with latest SVN assets, so saves I generate won't work for you (the save format stuff is guaranteed backward compatible, but not always forward compatible, which means you can always load an older save with a newer DLL, but not visa versa).

The following instruction keeps repeating from the start.

Attempting to bombard tough plot
DLLmessage: Your catapult has ranged bombard attacked!
DLLmessage: You have been ranged bonbard attacked by an enemy catapult!

Update 1

Found the problem

I disabled ranged bombardment, opportunity fire & stack attack. => turn ended fine.
I then tried every combination and disabling stack attack is all that needed to make the turn end.
Don't now if you have it disabled or not ?
 
The minidump is dated July 31st, and since the August 7th patch generates a file called minidump_<VersionNumber>.dmp I think it's safe to say this is an old dump from some time ago.

I have tried your save, and it runs out of memory processing the turn for me. The fact that it probably is not writing a new minidump (or you'd have noticed it and not copied the old one I would think) suggests it's probably running out of memory for you too. Have you tried with viewports enabled? That also almost always causes WB crashes on very large maps, once they become somewhat populated (again viewports should resolve it).

Update - it runs fine with viewports enabled for me, so I'm fairly confident that is what you need to do.

I tried viewports, 80 x 80, and 40 x 40, it still crashes to desktop. The error says "Bad allocation", so it's a slightly different error.

I will go back a few turns and try going forward again. Just as a reference, I run without viewports and in v30 and earlier versions, using exact same map settings as from this save, I was able to get much further in the game without CTD due to end of turn (my last v30 game I got well into industrial era, I think I just got carriers when I switched to a new game to try v31).

Zerli
 
I tried viewports, 80 x 80, and 40 x 40, it still crashes to desktop. The error says "Bad allocation", so it's a slightly different error.

I will go back a few turns and try going forward again. Just as a reference, I run without viewports and in v30 and earlier versions, using exact same map settings as from this save, I was able to get much further in the game without CTD due to end of turn (my last v30 game I got well into industrial era, I think I just got carriers when I switched to a new game to try v31).

Zerli

People keep adding stuff which makes the memory usage creep up. What can I say? ;) I plan to spend some time working on memory footprint in a couple of releases time, but until then viewports or smaller maps are really your only recourse.
 
People keep adding stuff which makes the memory usage creep up. What can I say? ;)

Well thats not too good then. I wonder if we need to look at anything that increases it at a minimum of 2% and then decide IF we need that NEW object that contained it, that made it go up that much:confused:
 
Well thats not too good then. I wonder if we need to look at anything that increases it at a minimum of 2% and then decide IF we need that NEW object that contained it, that made it go up that much:confused:

Every building, unit type, etc. has a fixed overhead. It's only going up slowly, and I'll do something about it in a month or two. I wouldn't worry too much - it's containable for now - just means you need viewports earlier than you used to.

BTW - have you seen my post on the SVN thread - the change you made to the name of the American civ has broken a bunch of Python - you need to update those scripts also.
 
Found the problem

I disabled ranged bombardment, opportunity fire & stack attack. => turn ended fine.
I then tried every combination and disabling stack attack is all that needed to make the turn end.
Don't now if you have it disabled or not ?

Stack Attack sometimes makes it look like the game has stopped when it has not. This most often happens when you are about to capture a city at the end of a battle. Clicking anywhere in the mini map fixes the problem ie lets the game continue.
 
The colour for text for Cuba is read but on the map they are blue-green! Where as the Armenians have blue-green text and red culture area on the map.
 
The colour for text for Cuba is read but on the map they are blue-green! Where as the Armenians have blue-green text and red culture area on the map.

Thats because the map doesn't like too close of the same colors, i have noticed this and i like it this way.
 
Thats because the map doesn't like too close of the same colors, i have noticed this and i like it this way.

Red is nowhere like Blue-Green!!

The problem is that the same colour is used for different civs! Cuba is red on the scoreboard and blue-green on the map while Armenia is blue-green on the score board and red on the map.

the colour used in the score board should be the same as on the map! In this case the colour on the scoreboard is the colour of a different civ!
 
Hey, this might be a bug, might be a noob thing, but I have no sliders to adjust besides science. I have no espionage slider or any of the other ones. I have advanced espionage enabled, if it matters. So far I'm in the Middle Ages, but I was able to adjust espionage and happiness by this time in my previous saves.

Is it a bug option or a tech in C2C I need? Something else?

EDIT:

Just played a few turns, they showed up. What's the trigger? Is there a bug that necessitates exiting the game to desktop for a second?
 
Hey, this might be a bug, might be a noob thing, but I have no sliders to adjust besides science. I have no espionage slider or any of the other ones. I have advanced espionage enabled, if it matters. So far I'm in the Middle Ages, but I was able to adjust espionage and happiness by this time in my previous saves.

Is it a bug option or a tech in C2C I need? Something else?

EDIT:

Just played a few turns, they showed up. What's the trigger? Is there a bug that necessitates exiting the game to desktop for a second?

Each requires a tech to be available. With espionage you also need contact with another player.
 
I tried viewports, 80 x 80, and 40 x 40, it still crashes to desktop. The error says "Bad allocation", so it's a slightly different error.

I will go back a few turns and try going forward again. Just as a reference, I run without viewports and in v30 and earlier versions, using exact same map settings as from this save, I was able to get much further in the game without CTD due to end of turn (my last v30 game I got well into industrial era, I think I just got carriers when I switched to a new game to try v31).

Zerli

Personally I hate stack attack, so I never run with it on, which may well explain why I didn't crash. I'll retry the save with it on later today. Thanks for doing the diagnosis.

Edit - still ran ok for me even with stack attack - can you list all your options and any non-default BUG options too please (especially things that impact combat such as the fast attack/defense resolution options. Also viewport settings if any)
 
Status
Not open for further replies.
Top Bottom