Coder Social home page Coder Social logo

Cannot load save about unciv HOT 14 OPEN

hackedpassword avatar hackedpassword commented on June 26, 2024
Cannot load save

from unciv.

Comments (14)

yairm210 avatar yairm210 commented on June 26, 2024

What?!
Yes, please provide the game save!
Super weird!

from unciv.

hackedpassword avatar hackedpassword commented on June 26, 2024

Had to pull this file out with total commander since it won't load. The other saves seem to be fine.

Note I updated from 4.12.0.0 - pretty certain.

Savegame

France - 339 turns.txt

Details

from unciv.

hackedpassword avatar hackedpassword commented on June 26, 2024

Ugh accidentally touched close comment.

Anyway including the previous save. That will give something to compare to.

Details

France - 338 turns.txt

from unciv.

yairm210 avatar yairm210 commented on June 26, 2024

@SomeTroglodyte
LastSeenImprovement.readOldFormat is getting a jsonData with real data, but jsonData.get("entries") is null
Putting a breakpoint on LastSeenImprovement.kt:46 and loading the save gets you to the interesting info

from unciv.

SomeTroglodyte avatar SomeTroglodyte commented on June 26, 2024

Having a class: com.unciv.json.HashMapVector2 part at all without the entries is somehow a contradiction. The old code would write both, and the new shouldn't be able to, as that class path is still a class, but a subclass of the data it writes, not a super...

So a patch might be adding && jsonData.has("entries") to the if on line 31, but I'd rather find out how that unwanted class got in there.

from unciv.

SomeTroglodyte avatar SomeTroglodyte commented on June 26, 2024

No, can't repro that - I can load turn 338, nextTurn it, and get a turn 339 save that's perfectly fine without the obsolete-class marker. So - do we know the Java runtime that did this or any such details?

from unciv.

hackedpassword avatar hackedpassword commented on June 26, 2024

In the update period, only sprites changed, no json. history

from unciv.

SomeTroglodyte avatar SomeTroglodyte commented on June 26, 2024

only sprites changed

Didn't think a mod json change could in any way influence that serialization... But a weird Java classloader might. So which one is it? Android version & manufacturer?

(it's the writeObjectStart(actualType, knownType); call in Gdx Json.java line 508 that decides whether that class annotation is needed - and it shouldn't be, but maybe the java.lang.Object::getClass call a few lines above was weird? The knownType at this point is com.unciv.json.LastSeenImprovement, but maybe getClass failed to produce the correct actualType?)

from unciv.

SomeTroglodyte avatar SomeTroglodyte commented on June 26, 2024

@hackedpassword I wasn't clear enough - I'm asking which exact platform was the code running when it last saved - the save that was successful but then couldn't be loaded. Android version, mainly major version but maybe also OS manufacturer?

We'll need to know if that can repro on any other platform, beginning with an Android AVD of the same level. Sounds like it cannot. or we would be hearing massively about nobody being able to load their saves??? So far the analysis says it's not specific to your mod!

from unciv.

hackedpassword avatar hackedpassword commented on June 26, 2024

Running android 12, galaxy s10, ATT model, kernel 4.14.190

Everything stock on this phone nothing fancy no hax/rooting etc.

The save did not cross platforms.

Let me know if there's anything missing.

from unciv.

SomeTroglodyte avatar SomeTroglodyte commented on June 26, 2024

Sounds good, the one AVD I kept should be enough - but probably not today.

Curious why there's not a lotta more noise, seems only you. Otherwise, that snippet up there ("patch might be adding && jsonData.has("entries") to the if on line 31") would be simple and "can't hurt 'xept perf" and definitely cure your one glitch...

from unciv.

SomeTroglodyte avatar SomeTroglodyte commented on June 26, 2024

Nope, an API 32 (Android 12L) AVD does not reproduce. Neither with a small vanilla test game nor your Turn 338 then next-turn. Writes without class marker as intended. 🤷

from unciv.

hackedpassword avatar hackedpassword commented on June 26, 2024

Could be a one-off, perhaps a unique artifact inclusive of your recent save size reduction and solar activity. Since no one else is reporting, I'd say neutrino decay bursts have subsided.

Haven't seen the issue reproduce here either since, all load/save actions seem normal.

btw what did the faulty save produce as a wrong version/build value out of curiosity?

from unciv.

SomeTroglodyte avatar SomeTroglodyte commented on June 26, 2024

wrong version/build value

None at all, that's just the message it defaults to when an unexpected exception occurs during deserialization

from unciv.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.