2025-07-21 02:03 CEST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0004924Spring engineGeneralpublic2015-09-10 15:21
Reporterhokomoko 
Assigned Tohokomoko 
PriorityhighSeverityblockReproducibilityrandom
StatusresolvedResolutionfixed 
Product Version100.0 
Target Version101.0Fixed in Version 
Summary0004924: Path cache gets randomly corrupted
DescriptionI noticed desyncs every now and then where players have a bad path cache.
This isn't due to code changes (happens in stable 100.0) and after regenerating the cache it works.
I think it can be an issue in the cache generation itself.

Suggestion:
If path cache is incorrect - regenerate it (can it be a delete file and Spring.Reload?).
TagsNo tags attached.
Checked infolog.txt for Errors
Attached Files

-Relationships
+Relationships

-Notes

~0015045

abma (administrator)

are file writes to path-cache "atomic" ?

i.e. create file.tmp, write all data to it, and when done, rename to file.

so a crash of spring can't create broken files.

afaik qtpfs has some "protection" against broken files.

~0015048

Jools (reporter)

We have been analysing these types of desyncs for a while, it happens also in 98.0 but very rarely. We thought it could somehow be map-dependent, but so far we have not been able to isolate that.

Also not all games where there is stale path cache will produce a real desync, but on the other hand, I think most of the desyncs that happen will have a stale path cache warning in the beginning.

At least this is true for xta and not counting obvious desyncs such as watching replay with wrong engine version...

~0015125

hokomoko (developer)

I've attached two path files generated on different systems.
The discrepancies inside seem very small, I wonder if it's to do with floating point issues.

~0015126

hokomoko (developer)

https://dl.dropboxusercontent.com/u/204076271/path/OnyxCauldron1.62305405535.pe_a.zip
https://dl.dropboxusercontent.com/u/204076271/path/OnyxCauldron1.62305405535.pe_b.zip

Here are the other files from the same systems.

~0015135

hokomoko (developer)

Fix 63d09c0c5b91da1a847028e726ce68cf1f4c04a6 committed to develop branch: Fix 0004924

Added groundBlockingObjectMap hash
Heightmap hash is recalculated for PE, repo: spring changeset id: 5588
+Notes

-Issue History
Date Modified Username Field Change
2015-08-05 23:01 hokomoko New Issue
2015-08-06 13:18 abma Note Added: 0015045
2015-08-07 01:09 Jools Note Added: 0015048
2015-09-08 14:07 hokomoko File Added: OnyxCauldron1.62305405559.pe2_a.zip
2015-09-08 14:07 hokomoko File Added: OnyxCauldron1.62305405559.pe2_b.zip
2015-09-08 14:09 hokomoko Note Added: 0015125
2015-09-08 14:10 hokomoko Note Added: 0015126
2015-09-08 14:19 hokomoko Priority normal => high
2015-09-08 14:19 hokomoko Severity major => block
2015-09-08 14:19 hokomoko Target Version => 101.0
2015-09-08 19:05 jK Changeset attached => spring develop 71b3c583
2015-09-10 10:52 hokomoko Changeset attached => spring develop 63d09c0c
2015-09-10 10:52 hokomoko Note Added: 0015135
2015-09-10 10:52 hokomoko Assigned To => hokomoko
2015-09-10 10:52 hokomoko Status new => resolved
2015-09-10 10:52 hokomoko Resolution open => fixed
2015-09-10 15:21 hokomoko Changeset attached => spring develop d65475ef
+Issue History