View Issue Details

IDProjectCategoryLast Update
0026340AI War 2Crash/ExceptionFeb 13, 2022 6:58 pm
ReporterBadgerBadger Assigned ToChris_McElligottPark  
Status resolvedResolutionfixed 
Product VersionBeta 3.800 That Expert Has A Deathwish! 
Fixed in VersionBeta 3.802 New Challengers Approach 
Summary0026340: MP on 3.800 is broken
Description2/12/2022 7:39:03 PM 3.800 CLIENT DELAYED81 TID22 Error while loading world sent from host: System.Exception: Internal error and null world: The savegame you are trying to load had the following inner fatal error: Planet deserialization error at stage 3000 from serialized version 3.800 loading into new version 3.800, error: System.Exception: Could not read string 'Name', but did get this partial one: 'iz2?rUxn??_????w\303\23740q?b?\
?i6_\303\2370Ya?Y^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^\
@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^\
....
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@'.
Was for field with name: 'Name' Exception: System.Exception: Tried to read condensed string format index 115 which is >= the length of 109 supported characters. Some bad data just happened prior to this!
  at Arcen.Universal.ArcenDeserializationBufferModern.GetBits_InnerHelperChar (System.Boolean ReadFullUnicode) [0x000c1] in <d93bef4b62124a3484715121fd340b1d>:0
  at Arcen.Universal.ArcenDeserializationBufferModern.ReadString_Condensed (System.String FieldNameForErrors) [0x0012d] in <d93bef4b62124a3484715121fd340b1d>:0
  at Arcen.Universal.ArcenDeserializationBufferModern.ReadString_Condensed (System.String FieldNameForErrors) [0x002bc] in <d93bef4b62124a3484715121fd340b1d>:0
  at Arcen.AIW2.Core.Planet.DeserializeCoreIntoSelf (Arcen.Universal.ArcenDeserializationBuffer Buffer, System.Boolean LoadAsTemplate, System.Boolean HideErrors, Arcen.Universal.SerializationCommandType SerializationCmdType) [0x000d2] in <cefb9f50db79473f9a93f098530c747f>:0
  at Arcen.Universal.UniversalMessageHandler.FromServerToClient_SendEntireWorld (Arcen.Universal.ArcenDeserializationBuffer buffer) [0x00129] in <d93bef4b62124a3484715121fd340b1d>:0

TagsNo tags attached.

Activities

BadgerBadger

Feb 12, 2022 11:49 pm

manager   ~0064361

Also some errors on 3.799
  at Arcen.Universal.ArcenDeserializationBufferModern.ValidateCanary (System.String ExpectedCanaryString, System.String CanaryFieldName, Arcen.Universal.CanaryStyle Canary) [0x0003e] in <684e64619704485f8f793acded71ba7c>:0
2/12/2022 9:48:58 PM 3.799 CLIENT DELAYED139593 TID40 Canary code mismatch at PreShipGroups ('' instead of 's'). Code above it is the real problem.
2/12/2022 9:48:58 PM 3.799 CLIENT DELAYED139594 TID40 Canary code mismatch at PostWormholes ('' instead of 'p'). Code above it is the real problem.
2/12/2022 9:48:58 PM 3.799 CLIENT DELAYED139595 TID40 Canary code mismatch at PreShipGroups ('' instead of 's'). Code above it is the real problem.
2/12/2022 9:48:58 PM 3.799 CLIENT DELAYED139596 TID40 Canary code mismatch at PostWormholes ('' instead of 'p'). Code above it is the real problem.
2/12/2022 9:48:58 PM 3.799 CLIENT DELAYED139597 TID40 Canary code exception at PreShipGroups ('' instead of 's'). Code above it is the real problem. Exception: System.Exception: Could not read string 'PreShipGroups', but did get this partial one: '1/c0SBT)/g(2^@^@^@^@^@^@

BadgerBadger

Feb 12, 2022 11:50 pm

manager   ~0064362

Also there were bugs on 3.799 with shots being sent over, but I don't have the debug log for that (The Debug Log buffer ran out of space)

BadgerBadger

Feb 13, 2022 12:00 am

manager   ~0064364

This save wasn't working for the client.
MP1.save (363,380 bytes)

BadgerBadger

Feb 13, 2022 12:03 am

manager   ~0064365

Also, for the necromancer client it takes forever to populate the build menu

Chris_McElligottPark

Feb 13, 2022 10:57 am

administrator   ~0064372

Well... this is very strange indeed. I am unable to replicate any issues of any sort with the MP1 save. I'm able to host it and load it just fine.

I have found another save of my own that was working fine a few builds back, but now fails to load even on the host, so I'm looking into that.

Chris_McElligottPark

Feb 13, 2022 11:15 am

administrator   ~0064373

I'm not sure if this is related to your report at all, but maybe:

* On Feb 6, I added some code to catch certain kinds of invalid data being passed to entity systems, which were previously unexamined. The game has now hit some of those, primarily because of some systems on some ships being renamed or removed, from what I can tell; that sort of thing can mess with old saves, although it's meant to recover from that gracefully.
** The code has now been further updated to catch those cases that it caught and gracefully recover from the data differences it is experiencing, thus allowing the old saves to load without incident.
** If there are unexpected data differences between a client and a host (for instance, some xml didn't get downloaded properly on either one of them), then this code is likely also hit, so it's more likely to gracefully recover from that, too.

Chris_McElligottPark

Feb 13, 2022 11:17 am

administrator   ~0064374

"Also, for the necromancer client it takes forever to populate the build menu"

This was directly related to the canary you hit, I expect; the planetfaction info was not being synced, so the necromancer client didn't get the data about their stuff.

Chris_McElligottPark

Feb 13, 2022 4:57 pm

administrator   ~0064387

* I have grown increasingly wary of the canary code reports, and the lack of metadata failures surrounding them -- something seems to be off with one or the other of them, either with the metadata not failing properly, or the canaries failing when they should not, or some mix of both.
** We've had some multiplayer groups who had the full metadata transmissions on, and keep getting zero issues from that, but still hit canaries, and we've had sporadic canaries in general, and that whole thing just makes no sense. One part of my code is just clearly not working.
** With that in mind, I've done a really heavy makeover of how the serialization metadata gets sent, and how "am I in network mode" is detected (for purposes of doing canary warnings), and that is now in place.
** The game works, and the metadata errors are actually happening now, which is very very useful. Next step is to fix whatever is going on with those.

Chris_McElligottPark

Feb 13, 2022 5:22 pm

administrator   ~0064389

The shot thing is fixed:

* Fixed an issue that could happen with duplicate shots causing issues on MP clients.

Chris_McElligottPark

Feb 13, 2022 6:58 pm

administrator   ~0064399

Knock on wood, I think this solves the last of the things you reported.

* In the event that a client requests an update for a ship (which happens when you mouseover ships), if that ship is a fleet leader or command station, the entire fleet status is sent to the client.
** This works around an issue where if the sidebar is slow to update for a command station, or the ship caps seem off, mousing over the centerpiece fixes it.

* I have tried to make the command station fleets and similar auto-update from the host when they are finished constructing, but something about my timing is off; the client still winds up waiting.
** To get around that (because it takes a silly amount of time before a client sees their proper build menu when they are switching command station types, adding a commmand station, etc), I've made it so that having the build sidebar open treats it as if the mouse was over each of those builders on that planet that are relevant to that client. This means that any status updates at all will be sent pretty frequently (about once a second, up to a delay of two seconds).
*** The net result is that the build sidebar is now far more responsive not just when the structure is finished building, but it should stay responsive to any changes that are happening that are build-related.

Thanks!

Issue History

Date Modified Username Field Change
Feb 12, 2022 9:42 pm BadgerBadger New Issue
Feb 12, 2022 9:42 pm BadgerBadger Status new => assigned
Feb 12, 2022 9:42 pm BadgerBadger Assigned To => Chris_McElligottPark
Feb 12, 2022 9:45 pm BadgerBadger Summary MP on 2.800 is broken => MP on 3.800 is broken
Feb 12, 2022 11:49 pm BadgerBadger Note Added: 0064361
Feb 12, 2022 11:50 pm BadgerBadger Note Added: 0064362
Feb 13, 2022 12:00 am BadgerBadger Note Added: 0064364
Feb 13, 2022 12:00 am BadgerBadger File Added: MP1.save
Feb 13, 2022 12:03 am BadgerBadger Note Added: 0064365
Feb 13, 2022 10:57 am Chris_McElligottPark Note Added: 0064372
Feb 13, 2022 11:15 am Chris_McElligottPark Note Added: 0064373
Feb 13, 2022 11:17 am Chris_McElligottPark Note Added: 0064374
Feb 13, 2022 4:57 pm Chris_McElligottPark Note Added: 0064387
Feb 13, 2022 5:22 pm Chris_McElligottPark Note Added: 0064389
Feb 13, 2022 6:58 pm Chris_McElligottPark Status assigned => resolved
Feb 13, 2022 6:58 pm Chris_McElligottPark Resolution open => fixed
Feb 13, 2022 6:58 pm Chris_McElligottPark Fixed in Version => Beta 3.802 New Challengers Approach
Feb 13, 2022 6:58 pm Chris_McElligottPark Note Added: 0064399