Single Player bugs and crashes - After the 16th of May

I now get this error message when starting a game??

Traceback (most recent call last):

File "CvWBInterface", line 230, in writeDesc

File "CvWBDesc", line 1545, in write

File "CvWBDesc", line 1193, in write

File "CvWBDesc", line 809, in write

UnicodeEncodeError: 'latin-1' codec can't encode character u'\ufffd' in position 17: ordinal not in range(256)
ERR: Python function writeDesc failed, module CvWBInterface


EDIT: Also did the city AI Gov change, because now its building outriggers ALOT, it never used to build units, just buildings?? And now even dog worker??
 
I now get this error message when starting a game??

Traceback (most recent call last):

File "CvWBInterface", line 230, in writeDesc

File "CvWBDesc", line 1545, in write

File "CvWBDesc", line 1193, in write

File "CvWBDesc", line 809, in write

UnicodeEncodeError: 'latin-1' codec can't encode character u'\ufffd' in position 17: ordinal not in range(256)
ERR: Python function writeDesc failed, module CvWBInterface


EDIT: Also did the city AI Gov change, because now its building outriggers ALOT, it never used to build units, just buildings?? And now even dog worker??

Tried clearing cache? Usually whenever I get a bunch of these errors but no one else it was because of a corrupt/wrong cache.
 
I now get this error message when starting a game??

Traceback (most recent call last):

File "CvWBInterface", line 230, in writeDesc

File "CvWBDesc", line 1545, in write

File "CvWBDesc", line 1193, in write

File "CvWBDesc", line 809, in write

UnicodeEncodeError: 'latin-1' codec can't encode character u'\ufffd' in position 17: ordinal not in range(256)
ERR: Python function writeDesc failed, module CvWBInterface


EDIT: Also did the city AI Gov change, because now its building outriggers ALOT, it never used to build units, just buildings?? And now even dog worker??

I'm getting these also - I think its because something in the XML has a bad description that contain illegal characters, but I'm not sure.
 
To build a Homing Pigeon Coop, it appears that you need Poultry in the vicinity, even if you are using a Subdued Pigeon. That's a bug, right?
Not a bug. It s the way that building is defined. We could change it to only be built by a subdued pigeon. The building is on the border between two modders mods mine (Subdued Animals) and Hydro's buildings.
 
Not a bug. It s the way that building is defined. We could change it to only be built by a subdued pigeon. The building is on the border between two modders mods mine (Subdued Animals) and Hydro's buildings.

With respect, that makes it an intentional bug, but still a bug. ;)

Ideally it would be Subdued Pigeon OR Herd (Flock) Poultry OR vicinity Poultry. That doesn't sound difficult, so if you're saying it's impossible, may I respectfully ask for a second opinion.
 
I'm getting these also - I think its because something in the XML has a bad description that contain illegal characters, but I'm not sure.
The big question is: Why is it running that code in the first place? That is code for writing a worldbuilder save which does not make sense at the start of a normal game.
 
Every time you start a new game or load a save it automatically writes a WB save file called WBQuickSave.CivBeyondSwordWBSave in Saves\Worldbuilder.
 
Correct, it builds, Outriggers alot of them, and dog workers, so far,

Regarding the outriggers: the AI just loves to send them onto reefs in front of your cities and leave them there until they drown.
I reported the bug on previous page, post #354 but I don't think there has been taken a note of yet :p
 
but I don't think there has been taken a note of yet :p

I think with all the other things going on lately, people have taken a |mental" note of it, like i have but then forgot is all, no biggy, dont take this as a, well they just forgot so i wont mention it again thing, its not done on purpose, quite the other actually, just really really busy, and i for one will say WE are sorry, so "Sorry everyone of you think you are being ignored or not heard:blush:, YOU AREN'T!! And thx for your patients.:)
 
Yeah, no biggie, I know you guys are occupied with far more important stuff, thats why I put a smiley behind it. Don't worry, gonna continue to betatest & report bugs like... like forever (I don't hope/expect C2C will ever be finished^^).

My recent game is Eternity, so you can be for sure it still could take a while and spot some little bugs along the way.

Only too bad that I usually tend to not be very motivated anymore once I gained a certain tech superiority over some time.
Any idea what kind of extra rule could be applied here (can't switch difficulty as it is deity already)?
 
Every time you start a new game or load a save it automatically writes a WB save file called WBQuickSave.CivBeyondSwordWBSave in Saves\Worldbuilder.
Does anyone actually use that file?
Seems like a waste of time for most players so I'd suggest to deactivate the WB save code during game load or startup.

Edit: Btw, at the error location given it tries to write a unit name (not the type name). Is there some unit name generation happening now that produces names with non latin-1 characters?
 
Edit: Btw, at the error location given it tries to write a unit name (not the type name). Is there some unit name generation happening now that produces names with non latin-1 characters?

Doubtful, as it is happening for people in America using English versions of Windows. I'd say it is more likely that Stormwind is right and that there is corruption in some caching mechanism.
 
Doubtful, as it is happening for people in America using English versions of Windows. I'd say it is more likely that Stormwind is right and that there is corruption in some caching mechanism.

Consider the specific value: fffd.

This is not a normal unicode character. It is listed as the "replacement character", which is supposed to be used to replace a character that is not a valid unicode character. This could happen if the encoding used for the text was not the expected one, or if the input is somehow being broken in the middle of a multi-byte character. If the input was done using 8-bit Latin-1 characters but the file is saved as UTF-8 then this is also possible as some pairs of 8-Bit latin-1 characters towards the upper end of the range (vowels with accents and such; I think perhaps only the first one has to be up there) can be interpreted as a single UTF-8 character, but it isn't a valid one. I suppose that switching the XML parser could actually have caused this if it is now interpreting a file as UTF-8 that used to be interpreted as Latin-1.

So a question is, in how many places does the English text actually use characters that are not 7-bit? I'm pretty sure there are some in there. English itself doesn't use any, but it is not unusual to include some in words taken from non-English sources (city names, unit types, and that sort of thing are good candidates).

Note that the default unit naming scheme puts the originating city name into the unit name, unless you turn off the BUG unit naming, and the unit type is there in either case.

On the other hand, it is also an "intrinsically suspicious" hex value as far as memory goes. The malloc function, for example, may fill the bytes (4 at either end) immediately before and after an allocated chunk of memory with 0xFD with MS compilers/libraries.
 
Consider the specific value: fffd.

This is not a normal unicode character. It is listed as the "replacement character", which is supposed to be used to replace a character that is not a valid unicode character. This could happen if the encoding used for the text was not the expected one, or if the input is somehow being broken in the middle of a multi-byte character. If the input was done using 8-bit Latin-1 characters but the file is saved as UTF-8 then this is also possible as some pairs of 8-Bit latin-1 characters towards the upper end of the range (vowels with accents and such; I think perhaps only the first one has to be up there) can be interpreted as a single UTF-8 character, but it isn't a valid one. I suppose that switching the XML parser could actually have caused this if it is now interpreting a file as UTF-8 that used to be interpreted as Latin-1.
The original RapidXML does not care for encodings at all, only what you set as parse settings and even then it only changed how it expanded codes like & 235 ; and similar. I changed that so it checks for the encoding set in the header of the XML file and if that is set to ISO-8859-1 then it expands & 235 ; into latin-1 characters so it fits with the rest.
Then after reading the text value from RapidXML which is still in the original encoding of the XML file, if Civ4 does a wide character string read, the interface layer in the DLL converts it to UTF-8 if the encoding is set to latin-1. Afterwards it uses a Windows function to convert UTF-8 to a wide character string.
If the XML file uses latin-1 characters but the encoding is not set properly, the Windows function will likely fail and the interface layer will return false to the code that tried to read the string.

So a question is, in how many places does the English text actually use characters that are not 7-bit? I'm pretty sure there are some in there. English itself doesn't use any, but it is not unusual to include some in words taken from non-English sources (city names, unit types, and that sort of thing are good candidates).
The characters at 0xFF and 0xFD are ÿ and ý which likely should not be in a text right after each other, especially not in an English text.
 
There is a bug in the world builder where the game crashes if you adjust the culture rating of a city, i've started a new game, played frederick, went to the world builder, adjust the culture to something to hit legendary, typed in 9999999, end up CTDing after it taken affect.
 
Back
Top Bottom