[1.19] challenges crash

run game
click ‘challenges’
MS Visual C++ runtime library “Runtime Error!”

(the application requested the runtime to terminate in an unusual way)
followed by windows moaning that “GSB.exe has stopped working”

deleted ‘web’ (well, and then copying back the serial/id files), and it works again

For anyone else that has this problem, it’s usefull to know that removing My Games\GratuitousSpaceBattles\web\challenges\challengelist.txt is enough.

Cliffski: You’re going to keep getting people popping up with this problem, it’ll effect pretty much anyone that has opened the challenges screen on 1.16 or below, and not since then. Maybe you should put a fix in the next patch (either delete challengelist.txt on patching (since it’s a file you want to refresh from the server pretty often anyway,) or, better, make the challenges window check it’s input, so it knows to grab new challenges data instead of trying to use bad data, if the file is ‘corrupt’ ) Either of these should make the problem go away now, and prevent it becoming a problem again later, if you change the structure of this file again.

yes, it should do more robust checking of that data. I should try and get that done when I’ve finished this pesky carrier stuff.

So nuke challengelist.txt on patching :smiley: It’s quick, it’s dirty, it’d work and save a bunch of people scratching their heads :smiley:

Carriers! Oooo

quick, dirty, won’t work.

it’s a per-user data store. the patch cannot modify other users data.

it’s unsuprising how often windows software forgets that it’s being used by more than one person … given how microsoft never really (and still haven’t) understood how a multi-user machine works.

Good point.

I guess it’s not that huge a deal right now (it’s in beta after all.)

Maybe a middle ground solution then: put a game version number at the top of the challengelist.txt. When it starts reading the file, if the version is different, then don’t display the data (wait for user to hit refresh, or do it automatically.) Also relatively quick. Not as nice as sanitising the data, but it’s a relatively easy step in the right direction.

It’s ok, I’ve fixed it. If that extra data isn’t there, it just ignores it now, rather than crashing :smiley:

Oh fiiiiiine. I go to all this trouble of suggesting all these dodgy hacky solutions, and you go and fix it properly instead. D: