Invalid Network Asset CID (possible cross platform issue)
Description
I tried to play a game between my apple laptop and windows machine, and reliably got a invalid network CID error. I also get this with steam deck + windows. ~~The mostly likely cause is my local copies of game are not the same (different assets), but I did not have local changes and was at same commit. (Though maybe something else is wrong / I did not validate correctly).~~
Crash combinations:
- macOS + Windows crashes
- Steam deck + Windows crashes (tested on 0.12.1 steam build)
Verified working combinations:
- Windows + Windows (same host, 0.12.1 steam) does not crash
- macOS + steam deck does not crash
To Reproduce
- Join an online match
- Ready up
- Select Map
(Seems platform specific, see above)
Expected Behavior
No response
Additional Context
Don't have stack trace handy but will update with it later.
Log Messages
No response
Updated issue - can repro on steam builds, not local workspace issue. Seems CID may be getting computed differently on windows? Or maybe some difference in files that impacts how they are hashed? Line endings...? 🤔
Have not managed to get my windows box setup yet, but adding a feature flag to bones to trace + log Cid updates from asset meta + contents + dependencies, which should illuminate the source of discrepancy for this issue + future network cid mismatches.
Appears to be difference in map, the content cid is different:
MacOS commit: 3f314774ec7d09fb22f53915ce40e298f0d109e2
2024-08-03T20:19:57.525559Z INFO bones_asset::server: Cid trace schema: u!("jumpy::core::metadata::map::MapMeta") file path: "/map/levels/level_1.map.yaml"
Trace is in order of updates, which impacts result
[Intermediate] Cid from schema fullname: u!("jumpy::core::metadata::map::MapMeta") cid: 6ChD3qNmk3Ar1ceG5B5eoTtHgSfurhSVJw7K2ToV1f2E
[Intermediate] Cid from contents: cid: HFmhzdKgRyVZs1S4vM5K9Z5LHxpoxT7kqwQnVRWFzCyM
Windows commit: 3f314774ec7d09fb22f53915ce40e298f0d109e2
2024-08-03T20:21:47.796207Z INFO bones_asset::server: Cid trace schema: u!("jumpy::core::metadata::map::MapMeta") file path: "\\map\\levels\\level_1.map.yaml"
Trace is in order of updates, which impacts result
[Intermediate] Cid from schema fullname: u!("jumpy::core::metadata::map::MapMeta") cid: 6ChD3qNmk3Ar1ceG5B5eoTtHgSfurhSVJw7K2ToV1f2E
[Intermediate] Cid from contents: cid: 9oszkpmYbjCBxCwwW9bsjmtBV25jKMx1udUhxGGdiUdw
There are different line endings, guessing this is probably the culprit.