Cathedral Crash?


#1

So i have played many match with cathedral and it always crash after short period of time. Any way to fix?


#2

For me it crashes after a much longer time. But it still crashes.

I got a very strange log at the crash. The end of the server log looks like this:

2018-Oct-08 18:37:14.896204 TRACE global [7fe5a92fb700] - Message 7EndTurn successfully applied!
2018-Oct-08 18:37:14.896227 TRACE network [7fe5a92fb700] - Sending a pack of type 14PackageApplied
2018-Oct-08 18:37:14.896275 TRACE network [7fe5af4fb740] - 	Sending to all clients: 8YourTurn
2018-Oct-08 18:37:14.896323 TRACE network [7fe5af4fb740] - Sending a pack of type 8YourTurn
2018-Oct-08 18:37:15.010020 TRACE network [7fe5a92fb700] - 	Sending to all clients: 13PlayerCheated
2018-Oct-08 18:37:15.010049 TRACE network [7fe5a92fb700] - 	Applied on gs: 13PlayerCheated
2018-Oct-08 18:37:15.010110 TRACE network [7fe5a92fb700] - 	Sending to all clients: 10InfoWindow
2018-Oct-08 18:37:15.010119 TRACE network [7fe5a92fb700] - 	Applied on gs: 10InfoWindow
2018-Oct-08 18:37:15.010125 TRACE network [7fe5a92fb700] - 	Sending to all clients: 14PlayerEndsGame
2018-Oct-08 18:37:15.010132 TRACE network [7fe5a92fb700] - 	Applied on gs: 14PlayerEndsGame
2018-Oct-08 18:37:15.010138 TRACE network [7fe5a92fb700] - 	Sending to all clients: 12RemoveObject
2018-Oct-08 18:37:15.010151 DEBUG global [7fe5a92fb700] - removing object id=1889; address=7fe59cbe37b0; name=Olema the Heretic
2018-Oct-08 18:37:15.010170 TRACE network [7fe5a92fb700] - 	Applied on gs: 12RemoveObject
2018-Oct-08 18:37:15.010193 TRACE network [7fe5a92fb700] - 	Sending to all clients: 12RemoveObject
2018-Oct-08 18:37:15.010215 DEBUG global [7fe5a92fb700] - removing object id=1891; address=7fe59cbd74c0; name=Nymus the Demoniac
2018-Oct-08 18:37:15.010227 TRACE network [7fe5a92fb700] - 	Applied on gs: 12RemoveObject
2018-Oct-08 18:37:15.010234 TRACE network [7fe5a92fb700] - 	Sending to all clients: 12RemoveObject
2018-Oct-08 18:37:15.010255 DEBUG global [7fe5a92fb700] - removing object id=1892; address=7fe59ccd0b30; name=Erdamon the Planeswalker
2018-Oct-08 18:37:15.010267 TRACE network [7fe5a92fb700] - 	Applied on gs: 12RemoveObject
2018-Oct-08 18:37:15.010274 TRACE network [7fe5a92fb700] - 	Sending to all clients: 12RemoveObject
2018-Oct-08 18:37:15.010282 DEBUG global [7fe5a92fb700] - removing object id=1893; address=7fe59cc48410; name=Jaegar the Warlock
2018-Oct-08 18:37:15.010293 TRACE network [7fe5a92fb700] - 	Applied on gs: 12RemoveObject
2018-Oct-08 18:37:15.010300 TRACE network [7fe5a92fb700] - 	Sending to all clients: 12RemoveObject
2018-Oct-08 18:37:15.010307 DEBUG global [7fe5a92fb700] - removing object id=1894; address=7fe59cc80f40; name=Terek the Battle Mage
2018-Oct-08 18:37:15.010319 TRACE network [7fe5a92fb700] - 	Applied on gs: 12RemoveObject
2018-Oct-08 18:37:15.010326 TRACE network [7fe5a92fb700] - 	Sending to all clients: 12RemoveObject
2018-Oct-08 18:37:15.010333 DEBUG global [7fe5a92fb700] - removing object id=1837; address=7fe59cbf6950; name=Straker the Death Knight
2018-Oct-08 18:37:15.010344 TRACE network [7fe5a92fb700] - 	Applied on gs: 12RemoveObject
2018-Oct-08 18:37:15.010351 TRACE network [7fe5a92fb700] - 	Sending to all clients: 12RemoveObject
2018-Oct-08 18:37:15.010359 DEBUG global [7fe5a92fb700] - removing object id=1898; address=7fe59ccc7fa0; name=Ignissa the Planeswalker
2018-Oct-08 18:37:15.010372 TRACE network [7fe5a92fb700] - 	Applied on gs: 12RemoveObject
2018-Oct-08 18:37:15.010379 TRACE network [7fe5a92fb700] - 	Sending to all clients: 12RemoveObject
2018-Oct-08 18:37:15.010386 DEBUG global [7fe5a92fb700] - removing object id=1827; address=7fe59cbbfe20; name=Fiona the Demoniac
2018-Oct-08 18:37:15.010396 TRACE network [7fe5a92fb700] - 	Applied on gs: 12RemoveObject
2018-Oct-08 18:37:15.010422 TRACE network [7fe5a92fb700] - 	Sending to all clients: 17SetObjectProperty
2018-Oct-08 18:37:15.010440 TRACE network [7fe5a92fb700] - 	Applied on gs: 17SetObjectProperty
2018-Oct-08 18:37:15.010446 TRACE network [7fe5a92fb700] - 	Sending to all clients: 17SetObjectProperty
2018-Oct-08 18:37:15.010455 TRACE network [7fe5a92fb700] - 	Applied on gs: 17SetObjectProperty
2018-Oct-08 18:37:15.010461 TRACE network [7fe5a92fb700] - 	Sending to all clients: 17SetObjectProperty
2018-Oct-08 18:37:15.010468 TRACE network [7fe5a92fb700] - 	Applied on gs: 17SetObjectProperty
2018-Oct-08 18:37:15.010473 TRACE network [7fe5a92fb700] - 	Sending to all clients: 17SetObjectProperty
2018-Oct-08 18:37:15.010479 TRACE network [7fe5a92fb700] - 	Applied on gs: 17SetObjectProperty


And then tons of same messages. Seems to be some kind of endless loop.
The map was a map with 3 factions. I played Cathedral, Computer was Inferno and Necros. It crashed after i clicked the “end turn” button. This is the first line in the log. Then it was Infernos turn. Inferno (Computer??) cheated. At least the log says this. After that cheat everything went down. The computer player then terminated.

The end of the client log may be more revealing (and is shorter):

2018-Oct-08 18:37:14.897555 DEBUG network [7f47377fc700] - Server gives turn to red
2018-Oct-08 18:37:14.898335 TRACE global [7f47377fc700] - loading /home/siegfried/.local/share/vcmi/Mods/cathedral/Content/Sprites/cathedral/creatures/iconsSmall/CRCT006S.bmp
2018-Oct-08 18:37:14.898751 TRACE global [7f47377fc700] - loading /home/siegfried/.local/share/vcmi/Mods/cathedral/Content/Sprites/cathedral/creatures/iconsSmall/CRCT004S.bmp

Red is the Inferno player here. So i’m not really sure that this is directly Cathedral related. On the other hand this crash happens reliably when playing Cathedral. What i can not say, is, if this “cheat” was during the turn of a Cathedral hero owned by red. But the heroes removed where all standard ones (at least the log states only these).

Very interesting problem :slight_smile:


#3

Rather ot is vcmi issue that causes such crashes. If you play game without mods - sooner or later you’ll get similar crashes.


#4

I’ll try that with all extra towns disabled. We’ll see :slight_smile:

Will take some time though. It’s an XL map.

BTW: I just started this map as Eldorado. Whow, that hurts in the eyes. I think i’ll not play Eldorado any more. But still this town is useful. This map i’m working on is kind of “capture the flag” game. And this town type is perfect for that “flag”. But for the crash test now i’ll play without that.


#5

Yes. Eldorado is really pain for eyes. But everyone can make mods (because it’s easy to add new content), edit wiki list and add them to the mods list…


#6

Yes :slight_smile:
But as already said: Even this eye cancer has its usage. Such a town is really perfect for “capture the flag” type of games. But nothing else.

Ok, i’ve now played the map until the end. Aside from that vcmi does not finish after i’ve won, everything went ok. So it seems the crash is indeed either related to the Cathedral town, or related to the mod system itself. BTW, there is a memory leak related to the town screen :slight_smile:

I will now test again with Cathedral. And if it crashes, test again with some other new town. Is there any that is considered 100% stable? Cove?


#7

Offtopic: How’s your work with Fred79’s objects?


#8

Almost all towns from mod list wiki are stable. Sometimes mods from various authors MAY be incompatible but only town-mods with missing graphics (Limes, Glacier) generate game crashes. Too much mods to check all of them carefully.


#9

Sad that VCMI cause this many crashes :frowning: but still i ahve faith for this project.


#10

I have Tested Cove, Grove, Pavilion and all of them are stable but new:st Forge and Cathedral have crashed me many times


#11

I tested same map with Cathedral. This time crash was different. But still during reds turn (Inferno). Maybe the client log helps:

2018-Oct-10 08:46:36.831569 DEBUG ai [7feb3b7fc700] - Can not buy army, because of ai->ah->containsObjective
2018-Oct-10 08:46:36.831590 TRACE ai [7feb3b7fc700] - Entering ResourceManager.containsObjective goal=BUILD STRUCTURE
2018-Oct-10 08:46:36.831597 TRACE ai [7feb3b7fc700] - ResourceManager contains goal BUY ARMY which requires resources [0, 0, 0, 0, 0, 0, 23576, 0]
2018-Oct-10 08:46:36.831603 TRACE ai [7feb3b7fc700] - ResourceManager contains goal BUY ARMY which requires resources [0, 0, 0, 0, 0, 0, 1606, 0]
2018-Oct-10 08:46:36.831609 TRACE ai [7feb3b7fc700] - ResourceManager contains goal BUY ARMY which requires resources [0, 0, 0, 0, 0, 0, 1606, 0]
2018-Oct-10 08:46:36.831616 TRACE ai [7feb3b7fc700] - ResourceManager contains goal BUY ARMY which requires resources [0, 0, 0, 0, 0, 0, 1606, 0]
2018-Oct-10 08:46:36.831622 TRACE ai [7feb3b7fc700] - ResourceManager contains goal BUY ARMY which requires resources [0, 0, 0, 0, 0, 0, 23576, 0]
2018-Oct-10 08:46:36.831628 TRACE ai [7feb3b7fc700] - ResourceManager contains goal BUILD STRUCTURE which requires resources [0, 3, 10, 3, 0, 3, 4000, 0]
2018-Oct-10 08:46:36.831635 TRACE ai [7feb3b7fc700] - ResourceManager contains goal BUILD STRUCTURE which requires resources [0, 0, 5, 0, 0, 0, 2500, 0]
2018-Oct-10 08:46:36.831641 TRACE ai [7feb3b7fc700] - ResourceManager contains goal BUILD STRUCTURE which requires resources [0, 0, 0, 0, 0, 0, 1000, 0]
2018-Oct-10 08:46:36.831645 DEBUG ai [7feb3b7fc700] - Can not build a structure, because of ai->ah->containsObjective

And so on. Gigabytes of these messages :slight_smile:

It seems the Inferno computer player tries to build something, but can not, and then tries to hire an army (from that not-built structure?). The client did not just close like before, the AITHEME music continued to play, but red never got ready. So after some time i forced termination. The interesting part is: The crash was during Infernos turn, which is one of the standard factions. So it seems not to be Cathedral related. It’s a problem of the AI.


#12

One more interesting log, this time server log:

2018-Oct-10 08:41:48.025910 TRACE global [7f79aaeb9700] - Hero Farrebique ends movement
2018-Oct-10 08:41:48.025926 TRACE global [7f79aaeb9700] - Destructed the query with id 1634
2018-Oct-10 08:41:48.025938 TRACE global [7f79aaeb9700] - Leaving CGameHandler::moveHero(ObjectInstanceID, int3, ui8, bool, PlayerColor)::<lambda(TryMoveHero::EResult, CGameHandler::EGuardLook, CGameHandler::EVisitDest, CGameHandler::ELEaveTile)>.
2018-Oct-10 08:41:48.025955 TRACE global [7f79aaeb9700] - Message 8MoveHero successfully applied!
2018-Oct-10 08:41:48.025972 TRACE network [7f79aaeb9700] - Sending a pack of type 14PackageApplied
2018-Oct-10 08:41:55.986519 TRACE network [7f79aaeb9700] - Received CPack of type 14BuildStructure
2018-Oct-10 08:41:55.986771 TRACE network [7f79aaeb9700] - 	Sending to all clients: 21SetAvailableCreatures
2018-Oct-10 08:41:55.986806 TRACE network [7f79aaeb9700] - Sending a pack of type 21SetAvailableCreatures
2018-Oct-10 08:41:55.987206 TRACE network [7f79aaeb9700] - 	Applied on gs: 21SetAvailableCreatures
2018-Oct-10 08:41:55.987262 TRACE network [7f79aaeb9700] - 	Sending to all clients: 12SetResources
2018-Oct-10 08:41:55.987306 TRACE network [7f79aaeb9700] - Sending a pack of type 12SetResources
2018-Oct-10 08:41:55.987508 TRACE network [7f79aaeb9700] - 	Applied on gs: 12SetResources
2018-Oct-10 08:41:55.987559 TRACE network [7f79aaeb9700] - 	Sending to all clients: 13NewStructures
2018-Oct-10 08:41:55.987598 TRACE network [7f79aaeb9700] - Sending a pack of type 13NewStructures
2018-Oct-10 08:41:55.991770 TRACE network [7f79aaeb9700] - 	Applied on gs: 13NewStructures
2018-Oct-10 08:41:55.991789 TRACE network [7f79aaeb9700] - 	Sending to all clients: 9FoWChange
2018-Oct-10 08:41:55.991799 TRACE network [7f79aaeb9700] - Sending a pack of type 9FoWChange
2018-Oct-10 08:41:55.991824 TRACE network [7f79aaeb9700] - 	Applied on gs: 9FoWChange
2018-Oct-10 08:41:55.991835 TRACE global [7f79aaeb9700] - Message 14BuildStructure successfully applied!
2018-Oct-10 08:41:55.991843 TRACE network [7f79aaeb9700] - Sending a pack of type 14PackageApplied
2018-Oct-10 08:41:59.381106 TRACE network [7f79aaeb9700] - Received CPack of type 7EndTurn
2018-Oct-10 08:41:59.381197 TRACE global [7f79aaeb9700] - Message 7EndTurn successfully applied!
2018-Oct-10 08:41:59.381230 TRACE network [7f79aaeb9700] - Sending a pack of type 14PackageApplied
2018-Oct-10 08:41:59.381291 TRACE network [7f79b10c1740] - 	Sending to all clients: 8YourTurn
2018-Oct-10 08:41:59.381459 TRACE network [7f79b10c1740] - Sending a pack of type 8YourTurn

Seems as if building succeeded at server, but the client never got it. Even ending the turn succeeded at server side, but not at client side.


#13

Reg. Your question about FredObj: Currently i have about 600 objects. But there seems to be 1 bug in them. Have to find it.

I think it will be faster and more reliable if i write a tool for this.


#14

I have now played an extra big map with only Cathedral as additional town and had no crash. I’m doing another test now with one more town activated. Maybe i find some incompatible towns.


#15

I suppose there is no bug in Cathedral, only some graphics which need to be improved.


#16

I suppose, too.

I don’t think that the graphics have to be improved. They are perfect. Well, may be with the exception of the portrait of “Nathaniel”. This one does not fit the overall color scheme, where all others do.

And then there are some text glitches. The hero bios is not really good english. Should be improved. And there is a reference to a socalled “disaster”. I assume the author meant the “reckoning”. Well, since Enroth still exists, this has not happened. Referring to it is breaking the story. Better would be to refere to the H3 story. Maybe the “Restoration of Erathia” or “Armaggedons Blade”. I’m currently doing a map that picks up the story after the RoE hidden campaign, the “Contested Lands”, and the “Armaggeddons Blade”. The story is about the Kreegans building some super-weapon (the Armagedons Blade), needing gold for their war. Searching for gold they destroyed the Contested Lands. The inhabitants fled into different directions, forming new factions. One of them is Cathedral. This faction is up for revenge. I think this fits well to the Cathedral lineup. Because they where beaten and nearly destroyed, they left their mostly peaceful ways and now are doing everything to get revenge and reconquer their land.

And then there is a name to be improved: “Riera the Baroness”. If you look for her name ingame, it says “Riera the Baronesse the Bishop”. That is bad english. I’d suggest rename her to “Baroness Riera”. That would be better.

But aside from that, this faction is top quality! I really like it.


#17

Thanks for your advice. I am not a native speaker and I only did half of the texts. Another one is made by some other amateurs in Chinese Forum. I am still an English learner, but there might not many English native users…Yes, I asked some individuals who from U.S, HoMM or MM would not be popular here. So I can hardly get help from native English users.

I know a little about some MM stories, only started to play HoMM 2 & 3 at my very young age. I like creating new alignments so I appreciate VCMI who provides a good platform. But really…I don’t have interest to read stories for MM…however, maybe next version I will remake the biographies.

BTW: the ‘disaster’…someone wrote it…I think that refers to my settings for Cathedral, a group of survivals from the plague which caused by necromancers.


#18

You’re welcome.

I’m not a native english speaker, too. But i could try to help.

Regarding story: Well, this is not difficult. Instead of refering to this “disaster”, just refere to the RoE war.

About the story: Did you play the H3 RoE campaign? After doing all the RoE campaigns you get access to a “hidden” campaign. This is about some inhabitants of Erathia and AvLee, getting weary of war, and together forming the “Contested Lands”. Nice extra campaign. Since this is a mixture of Castle and Rampart, this may well be considered a new faction. Original H3 did not have these possibilities. VCMI has. So why not do it?

Aside from Cathedral, there are some other factions which would fit this story: Northerners, Underworld and Preserve. The latter one seems to have some bugs in the json config.

What i’d like to do some day, when VCMI supports campaigns, build a campaign around this story, ending with a last map where the reckoning story happens. The players goal would be to not let happen the battle destroying Enroth. This would also need script support: If at any time a battle occures where one side has Armaggeddons Blade and the other has the Frost Blade, then the game is lost. Would not be that easy, because the player has none of these Artifacts, instead 2 different AI factions have it. So the player does not have full control over what happens.


#19

Yes, I have already played all campaigns.

A good idea for creating new faction which would combine Castle and Rampart. I think there are many ‘possibilities’ for different alignments. I really like campaigns and I used to read the story of Tarnum, that’s amazing. However, it might be hard for making campaigns in VCMI.

If you can write some new bios, or design new heroes for this faction that would be welcome. I like doing this but I am working almost everyday. You know, my reading skills is not bad but weak in writing articles in English…it is awesome for reading good stories in game…

However, now, I might got over the dreaming phase.


#20

A game like this needs people who know to dream :slight_smile:

I would not completely redo the bios. It is already quite good. You just need a replacement for that disaster. A good replacement would be the war between lich king Gryphonhart and Queen Cathrine. Everybody who plays H3 knows this. And it would be very close to your idea.

Currently VCMI does not have campaigns. There is a VCMI map editor which outputs the VCMI map format, but it has no campaign support. As far as i know the data structure for campaigns is not defined up to now. But some day it will have (i hope so).

I too like campaigns. I like the storytelling aspect of this game. The tactical and strategic aspects are not that important for me. I prefere interesting stories.

If you like, i’d post a bios suggestion here from time to time. Not complete new bios, just tweaked a little.