Single Player bugs and crashes v36 plus (SVN) - After the 24th of October 2015

Status
Not open for further replies.
hmm... ok. May have to do with criminals being given the spy AI as one they can come up with but whatever's causing the crash is likely to be resolvable.
 
Hello

I have a repeatable CTD when I end my turn, hopefully can easy fix? I attached the save file and error log (I cant read it).

I have used the crime patch so not sure if this is the right thread.
 

Attachments

hmm... ok. May have to do with criminals being given the spy AI as one they can come up with but whatever's causing the crash is likely to be resolvable.

I just realised there would be more information in the PythonDbg.log and there is. The game continues on after the Spy error and crashes later, possible as a consequence of the error but I am not sure.

Spoiler :
Code:
PY:Rev - Best defender set to Longbowman
PY:Rev - Best counter unit set to Heavy Axeman
PY:Rev - Best attack set to Heavy Swordsman
PY:  Rev - Found 3 plots out of 8 checked
PY:  Revolt - Population modifier: 0.340 on eff pop 4.62 (5)
PY:  Revolt - New method from pop: 0.79, from troops: 0.83, total: 2
PY:  Revolt - Revised enlistment: 2, num defenders nearby: 22
PY:  Revolt - Owner keeps control of Patras (92,59), revs spawning at 93,58
PY:  Revolt - City occupation timer set to 6
PY:  Revolt - Spawning 2 units for city of size 5
PY:  Revolt - Outside of Patras, spawned Heavy Axeman   93,58   1567252
PY:  Revolt - Outside of Patras, spawned Heavy Swordsman   93,58   1565981
PY:  Revolt - Spy spawned in Patras
[B]01:40:57 TRACE: Error in EndPlayerTurn event handler <bound method Revolution.onEndPlayerTurn of <Revolution.Revolution instance at 0x675B74E0>>[/B]
01:40:57 TRACE: unidentifiable C++ exception
01:40:57 DEBUG: BugPath - initializing...
01:40:57 DEBUG: BugPath - initializing...
01:40:57 DEBUG: Enhanced Tech Conquest
01:40:57 DEBUG:     Complete Technology Discovery.... 0
01:40:57 DEBUG:     Technology Transfer Count........ 5
01:40:57 DEBUG:     Random Technology Transfer Amount 1
01:40:57 DEBUG:     Technology Transfer Ignore Prereq 1
01:40:57 DEBUG:     Disable Full Technology Transfer. 1
01:40:57 DEBUG:     Base Technology Transfer Percent. 5
01:40:57 DEBUG:     Percentage Per City Population... 1
01:40:57 DEBUG: updatePlotListButtons_Orig - column 0, offset 81
01:40:57 DEBUG: updatePlotListButtons_Orig - iCount(81), iSkipped(0)
01:40:57 DEBUG: Timer - scores took 155 ms
01:40:58 DEBUG: updatePlotListButtons_Orig - column 0, offset 81
01:40:58 DEBUG: updatePlotListButtons_Orig - iCount(81), iSkipped(0)
01:40:59 DEBUG: StarSigns - onUnitBuilt
01:40:59 DEBUG: StarSigns - onUnitBuilt
01:40:59 DEBUG: StarSigns - onUnitBuilt
01:41:00 DEBUG: Empire Stability Marker 1, -4
01:41:00 DEBUG: Empire Stability Marker 2, -4
01:41:00 DEBUG: Civic Effect, 2
01:41:00 DEBUG: Civic Effect, 2
01:41:00 DEBUG: Civic Effect, -2
01:41:00 DEBUG: Civic Effect, -4
01:41:00 DEBUG: Civic Effect, -2
01:41:00 DEBUG: Civic Effect, -4
01:41:00 DEBUG: Civic Effect, 0
01:41:00 DEBUG: Civic Effect, 1
01:41:00 DEBUG: Civic Effect, 1
01:41:00 DEBUG: Civic Effect, 2
01:41:00 DEBUG: Civic Effect, 0
01:41:00 DEBUG: Civic Effect, 1
01:41:00 DEBUG: Civic Effect, 0
01:41:00 DEBUG: Civic Effect, 0
01:41:00 DEBUG: Civic Effect, 0
01:41:00 DEBUG: Civic Effect, 0
01:41:00 DEBUG: Civic Effect, 0
01:41:00 DEBUG: Empire Stability Marker 3, -3
01:41:00 DEBUG: Empire Stability Marker 4, -3
01:41:00 DEBUG: Empire Stability Marker 5, -4
01:41:00 DEBUG: Empire Stability Marker 6, -4
01:41:00 DEBUG: Empire Stability Marker 7, -4
PY:  Revolt - The Roman Republic are in their golden age!
01:41:00 DEBUG: Empire Stability Marker 8, 6
01:41:00 DEBUG: Empire Stability Marker 10, 1
01:41:00 DEBUG: Empire Stability Marker 11, 3

Attached is the full file. Before the stuff above it looks like it is creating a new civ at id 50. This is wrong isn't it because we have the last one (or two) reserved for barbarians and we have a limit of 50 I though. Or maybe it is just adding barbarian units.
 

Attachments

Hello everyone

My game CTDs after ~8992 svn update, tried checking everything in RevDCM off and errors still persist. The error code changes are due to update from 8996 to the newest one.

Unfortunately, the problem, according to discussion here, is related to a revolution event, perhaps one that's trying to add another player and exceeding the limit. The reason this is unfortunate is because by making changes to the code from the point that you're version is at, the random seed has changed by the time it reaches the event check. So on my system, it doesn't happen and thus is not replicable.

The good news is you can simply update and you'll be able to play through that round.

The bad news is it will probably come up again. What will need to happen when it does is finding the spot it's having trouble and repairing it... aka keeping it from happening. Ideally it would be best to find the point where the revolution event can be called and cutting it off there with a check to ensure there's enough room for another player. But that's probably going to be very difficult to find since it's likely far up the processing stream from where the problem actually takes place. But maybe the end effect can be shielded and an alternative (like turning the 'new civ' over to the barbs or something) can be implemented.

Hard to say until you find it again and report it again. For now, update and carry on.

However:

In general I must warn players that maps of this Gigantic size with this many AIs are unlikely to be able to play much further than the point you've already achieved here, particularly with Revolutions on. Impressive it got this far tbh.
 
How many civs should there be maximum at the moment? That is actual maximum not suggested start maximum and not including the one put aside for barbarians. If I can find out where in that code it is coming up with 50 being OK for the next civ then we may be able to fix the problem.
 
How many civs should there be maximum at the moment? That is actual maximum not suggested start maximum and not including the one put aside for barbarians. If I can find out where in that code it is coming up with 50 being OK for the next civ then we may be able to fix the problem.

Yeah, we need to set the default even lower IMPO, i suggest we set it to 40 but i would really like it set to 35 or even lower . . because lately the game is starting to give you all kinds of extra civs as the game proceeds . . so maybe even 30 :mischief:
 
No lower civ number plz! Teach the engine to dont create new civs when 50 already in game. I have no babarian civs on in my scenario, will my scenario still work with 45 civs?
 
Hello

I have a repeatable CTD when I end my turn, hopefully can easy fix? I attached the save file and error log (I cant read it).

I have used the crime patch so not sure if this is the right thread.

Interesting crash. I'd have eventually found this rare situation when I build in spawning barb criminals in cities. It was a bad interaction between some new movement rules and invisibility and initializing units (in this case a unit that was upgrading.) When the unit is being initialized there's a point there where some queries were being run regarding the ability to co-exist with other units on the tile BUT since it's a newly initializing unit, these queries were being run before the unit had a tile coordinate set. Easily enough bypassed but it was a little curious at first and it was good to have been found and caught.

This crash MAY well be the culprit in the other issue DH and I were working here as well. Since initializing units were taking place there, it might've been.
 
How many civs should there be maximum at the moment? That is actual maximum not suggested start maximum and not including the one put aside for barbarians. If I can find out where in that code it is coming up with 50 being OK for the next civ then we may be able to fix the problem.
Currently I think 49 is acceptable.

However, part of the plan here is to set aside at least 5 of those for NPC players and add Animals to that list, rather than just the last one for barbarians.
No lower civ number plz! Teach the engine to dont create new civs when 50 already in game. I have no babarian civs on in my scenario, will my scenario still work with 45 civs?
After the above adjustment, yes, barely. As long as no barb civs or rev is in play. However, I've seen your scenario and beautiful as it is, it probably won't play past industrial due to being so overloaded in size and civs. There's not going to be much that can be done about that. If a player DOES achieve massive dominance on that global map, they'll start hitting overflows all over the place by late modern to transhuman and some of those overflows, as I've recently verified, cannot be resolved due to the limitations of the exe.

So your scenario would be fun for the first half of the game but its size will make it collapse before the end unfortunately.

Yeah, we need to set the default even lower IMPO, i suggest we set it to 40 but i would really like it set to 35 or even lower . . because lately the game is starting to give you all kinds of extra civs as the game proceeds . . so maybe even 30 :mischief:

This probably wouldn't be a bad idea. Along the same lines, Gigantic map size is inviting many players to overload the game limits by lategame. Sad but true. But the question then becomes, should a player be allowed to build this big a game if they don't care that it's never going to make it to completion?

Or are we inviting players to foul things up because they don't realize that Gigantic Maps or Many Civs can be managed IF you have other limitations in place.

You can sometimes get away with some of these things if you show restraint elsewhere, such as playing without rev or barbarian civs, or playing lots of civs on a smaller map or less civs on a larger map?

Regardless, getting past 35 civs in a game may be fun for a while but it's going to make for a very difficult game to play past a particular point.
 
Yeah, we need to set the default even lower IMPO, i suggest we set it to 40 but i would really like it set to 35 or even lower . . because lately the game is starting to give you all kinds of extra civs as the game proceeds . . so maybe even 30 :mischief:

No lower civ number plz! Teach the engine to dont create new civs when 50 already in game. I have no babarian civs on in my scenario, will my scenario still work with 45 civs?

It asks the dll how many it can have and then goes with that. IE it asks gc.getMAX_CIV_PLAYERS(). So it will only add a new civ through Revolution or Barbarians become civs if the number of current civs is less than that number. At least in theory. That number should be less than the number of civs in game as at least one civ is left for the barbarians.
 
It asks the dll how many it can have and then goes with that. IE it asks gc.getMAX_CIV_PLAYERS(). So it will only add a new civ through Revolution or Barbarians become civs if the number of current civs is less than that number. At least in theory. That number should be less than the number of civs in game as at least one civ is left for the barbarians.

I figured it would've been an addressed problem long long ago. I now suspect that the other reported crash may have been the culprit in this case.
 
So your scenario would be fun for the first half of the game but its size will make it collapse before the end unfortunately.

I think that should be the motto for the entire mod, to be honest. A Prehistoric to Mediaeval version of C2C, say Caveman to Castle, would be a really fun alt-hist game.
 
I think that should be the motto for the entire mod, to be honest. A Prehistoric to Mediaeval version of C2C, say Caveman to Castle, would be a really fun alt-hist game.

True for now. It'll get better past that point. With the rope fix and some other developments taking place in Industrial, that age should already be getting a little better. But I think it's going to take more work on the factories and reviewing that stuff a bit more carefully to get it to be truly enjoyable.


The fix I've been working on here to that crash is on the SVN now.
 
After the above adjustment, yes, barely. As long as no barb civs or rev is in play. However, I've seen your scenario and beautiful as it is, it probably won't play past industrial due to being so overloaded in size and civs. There's not going to be much that can be done about that. If a player DOES achieve massive dominance on that global map, they'll start hitting overflows all over the place by late modern to transhuman and some of those overflows, as I've recently verified, cannot be resolved due to the limitations of the exe.

So your scenario would be fun for the first half of the game but its size will make it collapse before the end unfortunately.

Its no problem as told in my scenario you can go to worldbuilder and delete a entire civ with one click if it goes to slow or makes problems, so should work.

But on fast machines and with alot of RAM will there be overflows also? Is it a problem of running out of RAM? I saw there was done some adjustments to a star trek mod for galactic civ 2, to the main exe file so there will be no overflows anymore, i may look up how they did that, was done to other mods also... i have revolutions on in scenario, how will that all collapse the game? I look into how these exe limitations was removed for other mods maybe you can adapt that...

Also 10 civs will die and get conquered until half game has passed...
 
But on fast machines and with alot of RAM will there be overflows also?
Yes.
Is it a problem of running out of RAM?
No. The problem is when integer calls are made by the exe, which as DH stated, we have no access to manipulate in CivIV, that ask for integers that have added up to values that exceed a few million. We can cap things out at that point but it can cause some game problems doing so. The most recently disturbing overload seen was in total civ population which messes up a lot of beneficial score and power tracking when you must limit that value. There could be more penalties for these kinds of exceeding values than we can see as well. There are also many other values that get to the point of exceeding the integer cap (which is a C++ limitation in the way it assigns room to store the information on an integer.) Super big maps will run into these kinds of problems by late Industrial to Transhuman depending on how successful a given player is.

I saw there was done some adjustments to a star trek mod for galactic civ 2, to the main exe file so there will be no overflows anymore, i may look up how they did that, was done to other mods also...
We've done a lot of work on overflow resolution and I know there's probably a lot more yet to do, particularly with culture. However, when we hit an absolute limit by not being able to manipulate the exe, we have real problems with the size of the game as a whole at that point that really cannot be overcome.

I have revolutions on in scenario, how will that all collapse the game?
It might not, but it won't work quite right after you hit the maximum player limit. New players emerge from revolutions so if you're going to play a rev game you shouldn't do so with more than say 25 players or so to leave room for the # of players to double. Dead players don't get 'erased' towards this limit since the game still tracks the fact that they existed. Thus this is the limit of players that can ever be or have been in the game at any given time throughout the game.

I look into how these exe limitations was removed for other mods maybe you can adapt that...
CivII is a different animal apparently.

Also 10 civs will die and get conquered until half game has passed...
Dead players don't get 'erased' towards this limit since the game still tracks the fact that they existed.
 
It might not, but it won't work quite right after you hit the maximum player limit. New players emerge from revolutions so if you're going to play a rev game you shouldn't do so with more than say 25 players or so to leave room for the # of players to double. Dead players don't get 'erased' towards this limit since the game still tracks the fact that they existed. Thus this is the limit of players that can ever be or have been in the game at any given time throughout the game.

No new players occur after the limit is reached. I think you get barbarian rebels instead.


Dead players don't get 'erased' towards this limit since the game still tracks the fact that they existed.

Again I think Rev does try and reuse these dead nations.
 
T-brd wrote: Along the same lines, Gigantic map size is inviting many players to overload the game limits by lategame. Sad but true. But the question then becomes, should a player be allowed to build this big a game if they don't care that it's never going to make it to completion?

Which also falls right into the same grievance and question I've stated about allowing Eternity at 14K turns and Eon at 9K turns to be left as long as they are.

The AI Limit, imho, does need to be reduced. I concur with SO over this. And along those same lines that Eternity and Eons both be shortened; Eternity by 5K turns and Eon by 2K turns.

Otherwise all we do is field gripes over number of AI and this being a Prehistoric to Ren/Ind Era Mod. It's well past time to put a limit in place in both these areas.

It is also time to acknowledge that using Rev is also a game limiting Option. And should not be used for games that want to get to the Ind/Modern eras.

@Pit, Yes REV will hurt your Scenario. I told you that before but you know better and more than I do, been a part of C2C longer than I, so you discounted my warnings. Maybe in the future you and a few others might realize I'm just not barking to bark. How much evidence needs to be compiled before players and modders will see the light? Really how much?

JosEPh
 
How is a cannon overtaking my city and taking charge of it, when i have 5 guard, healers and more in the city already?? and they are still IN city??

I believe this save is 1 turn before it happens, i wasnt paying to much attention to that city>
 
Status
Not open for further replies.
Back
Top Bottom