[Question] Corrupted Save States

Discuss how to use the Ren'Py engine to create visual novels and story-based games. New releases are announced in this section.
Forum rules
This is the right place for Ren'Py help. Please ask one question per thread, use a descriptive subject like 'NotFound error in option.rpy' , and include all the relevant information - especially any relevant code and traceback messages. Use the code tag to format scripts.
Post Reply
Message
Author
User avatar
EchoFrost
Newbie
Posts: 6
Joined: Tue Jul 21, 2015 10:12 am
Completed: Palinurus, Fare Thee Well, Lull, Seeds of Sylvia
Projects: Avitus, Palinurus, Seeds of Sylvia, Fare Thee Well, Lull, Cat Girl Safari
Organization: Watercress Studios
IRC Nick: EchoFrost
Github: EchoFrost
Location: In your heart <3
Contact:

[Question] Corrupted Save States

#1 Post by EchoFrost » Mon Jan 23, 2017 3:19 am

Hello all!
I've been working on an update for a game that has been in development. Upon adding small improvements, attempting to load a save state yielded this traceback:

Code: Select all

I'm sorry, but an uncaught exception occurred.

While running game code:
  File "renpy/common/00action_file.rpy", line 427, in __call__
    renpy.load(fn)
Exception: Couldn't find a place to stop rolling back. Perhaps the script changed in an incompatible way?

-- Full Traceback ------------------------------------------------------------

Full traceback:
  File "renpy/common/_layout/screen_main_menu.rpym", line 28, in script
    python hide:
  File "C:\Users\Brad\Desktop\renpy-6.99.12.2-sdk\renpy\ast.py", line 814, in execute
    renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
  File "C:\Users\Brad\Desktop\renpy-6.99.12.2-sdk\renpy\python.py", line 1695, in py_exec_bytecode
    exec bytecode in globals, locals
  File "renpy/common/_layout/screen_main_menu.rpym", line 30, in <module>
    ui.interact()
  File "C:\Users\Brad\Desktop\renpy-6.99.12.2-sdk\renpy\ui.py", line 285, in interact
    rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
  File "C:\Users\Brad\Desktop\renpy-6.99.12.2-sdk\renpy\display\core.py", line 2492, in interact
    repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, **kwargs)
  File "C:\Users\Brad\Desktop\renpy-6.99.12.2-sdk\renpy\display\core.py", line 3166, in interact_core
    rv = root_widget.event(ev, x, y, 0)
  File "C:\Users\Brad\Desktop\renpy-6.99.12.2-sdk\renpy\display\layout.py", line 952, in event
    rv = i.event(ev, x - xo, y - yo, cst)
  File "C:\Users\Brad\Desktop\renpy-6.99.12.2-sdk\renpy\display\transition.py", line 45, in event
    return self.new_widget.event(ev, x, y, st)  # E1101
  File "C:\Users\Brad\Desktop\renpy-6.99.12.2-sdk\renpy\display\layout.py", line 952, in event
    rv = i.event(ev, x - xo, y - yo, cst)
  File "C:\Users\Brad\Desktop\renpy-6.99.12.2-sdk\renpy\display\layout.py", line 952, in event
    rv = i.event(ev, x - xo, y - yo, cst)
  File "C:\Users\Brad\Desktop\renpy-6.99.12.2-sdk\renpy\display\screen.py", line 651, in event
    rv = self.child.event(ev, x, y, st)
  File "C:\Users\Brad\Desktop\renpy-6.99.12.2-sdk\renpy\display\layout.py", line 952, in event
    rv = i.event(ev, x - xo, y - yo, cst)
  File "C:\Users\Brad\Desktop\renpy-6.99.12.2-sdk\renpy\display\layout.py", line 224, in event
    rv = d.event(ev, x - xo, y - yo, st)
  File "C:\Users\Brad\Desktop\renpy-6.99.12.2-sdk\renpy\display\layout.py", line 952, in event
    rv = i.event(ev, x - xo, y - yo, cst)
  File "C:\Users\Brad\Desktop\renpy-6.99.12.2-sdk\renpy\display\layout.py", line 224, in event
    rv = d.event(ev, x - xo, y - yo, st)
  File "C:\Users\Brad\Desktop\renpy-6.99.12.2-sdk\renpy\display\behavior.py", line 889, in event
    return handle_click(self.clicked)
  File "C:\Users\Brad\Desktop\renpy-6.99.12.2-sdk\renpy\display\behavior.py", line 824, in handle_click
    rv = run(action)
  File "C:\Users\Brad\Desktop\renpy-6.99.12.2-sdk\renpy\display\behavior.py", line 306, in run
    return action(*args, **kwargs)
  File "renpy/common/00action_file.rpy", line 427, in __call__
    renpy.load(fn)
  File "C:\Users\Brad\Desktop\renpy-6.99.12.2-sdk\renpy\loadsave.py", line 594, in load
    log.unfreeze(roots, label="_after_load")
  File "C:\Users\Brad\Desktop\renpy-6.99.12.2-sdk\renpy\python.py", line 1650, in unfreeze
    self.rollback(0, force=True, label=label, greedy=greedy, on_load=True)
  File "C:\Users\Brad\Desktop\renpy-6.99.12.2-sdk\renpy\python.py", line 1509, in rollback
    raise Exception("Couldn't find a place to stop rolling back. Perhaps the script changed in an incompatible way?")
Exception: Couldn't find a place to stop rolling back. Perhaps the script changed in an incompatible way?

Windows-8-6.2.9200
Ren'Py 6.99.12.2.2029
Palinurus 2.1
I tried reverting to a previous build, and deleting persistent, but neither of those fixed the problem. Any help in preserving save states would be appreciated! Thanks!

User avatar
gas
Miko-Class Veteran
Posts: 838
Joined: Mon Jan 26, 2009 7:21 pm
Contact:

Re: [Question] Corrupted Save States

#2 Post by gas » Mon Jan 23, 2017 4:03 pm

Try to config to disable rollbacks, then load.

Code: Select all

define config.rollback_enabled = False
If you want to debate on a reply I gave to your posts, please QUOTE ME or i'll not be notified about. << now red so probably you'll see it.

10 ? "RENPY"
20 GOTO 10

RUN

User avatar
EchoFrost
Newbie
Posts: 6
Joined: Tue Jul 21, 2015 10:12 am
Completed: Palinurus, Fare Thee Well, Lull, Seeds of Sylvia
Projects: Avitus, Palinurus, Seeds of Sylvia, Fare Thee Well, Lull, Cat Girl Safari
Organization: Watercress Studios
IRC Nick: EchoFrost
Github: EchoFrost
Location: In your heart <3
Contact:

Re: [Question] Corrupted Save States

#3 Post by EchoFrost » Mon Jan 23, 2017 6:36 pm

Hello gas! Thanks for the advice! I went ahead and added

Code: Select all

config.rollback_enabled = False
to my options.rpy file and loaded the game. I got the same traceback as before:

Code: Select all

I'm sorry, but an uncaught exception occurred.

While running game code:
  File "renpy/common/00action_file.rpy", line 427, in __call__
    renpy.load(fn)
Exception: Couldn't find a place to stop rolling back. Perhaps the script changed in an incompatible way?

-- Full Traceback ------------------------------------------------------------

Full traceback:
  File "renpy/common/_layout/screen_main_menu.rpym", line 28, in script
    python hide:
  File "C:\Users\Brad\Desktop\renpy-6.99.12.2-sdk\renpy\ast.py", line 814, in execute
    renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
  File "C:\Users\Brad\Desktop\renpy-6.99.12.2-sdk\renpy\python.py", line 1695, in py_exec_bytecode
    exec bytecode in globals, locals
  File "renpy/common/_layout/screen_main_menu.rpym", line 30, in <module>
    ui.interact()
  File "C:\Users\Brad\Desktop\renpy-6.99.12.2-sdk\renpy\ui.py", line 285, in interact
    rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
  File "C:\Users\Brad\Desktop\renpy-6.99.12.2-sdk\renpy\display\core.py", line 2492, in interact
    repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, **kwargs)
  File "C:\Users\Brad\Desktop\renpy-6.99.12.2-sdk\renpy\display\core.py", line 3166, in interact_core
    rv = root_widget.event(ev, x, y, 0)
  File "C:\Users\Brad\Desktop\renpy-6.99.12.2-sdk\renpy\display\layout.py", line 952, in event
    rv = i.event(ev, x - xo, y - yo, cst)
  File "C:\Users\Brad\Desktop\renpy-6.99.12.2-sdk\renpy\display\transition.py", line 45, in event
    return self.new_widget.event(ev, x, y, st)  # E1101
  File "C:\Users\Brad\Desktop\renpy-6.99.12.2-sdk\renpy\display\layout.py", line 952, in event
    rv = i.event(ev, x - xo, y - yo, cst)
  File "C:\Users\Brad\Desktop\renpy-6.99.12.2-sdk\renpy\display\layout.py", line 952, in event
    rv = i.event(ev, x - xo, y - yo, cst)
  File "C:\Users\Brad\Desktop\renpy-6.99.12.2-sdk\renpy\display\screen.py", line 651, in event
    rv = self.child.event(ev, x, y, st)
  File "C:\Users\Brad\Desktop\renpy-6.99.12.2-sdk\renpy\display\layout.py", line 952, in event
    rv = i.event(ev, x - xo, y - yo, cst)
  File "C:\Users\Brad\Desktop\renpy-6.99.12.2-sdk\renpy\display\layout.py", line 224, in event
    rv = d.event(ev, x - xo, y - yo, st)
  File "C:\Users\Brad\Desktop\renpy-6.99.12.2-sdk\renpy\display\layout.py", line 952, in event
    rv = i.event(ev, x - xo, y - yo, cst)
  File "C:\Users\Brad\Desktop\renpy-6.99.12.2-sdk\renpy\display\layout.py", line 224, in event
    rv = d.event(ev, x - xo, y - yo, st)
  File "C:\Users\Brad\Desktop\renpy-6.99.12.2-sdk\renpy\display\behavior.py", line 889, in event
    return handle_click(self.clicked)
  File "C:\Users\Brad\Desktop\renpy-6.99.12.2-sdk\renpy\display\behavior.py", line 824, in handle_click
    rv = run(action)
  File "C:\Users\Brad\Desktop\renpy-6.99.12.2-sdk\renpy\display\behavior.py", line 306, in run
    return action(*args, **kwargs)
  File "renpy/common/00action_file.rpy", line 427, in __call__
    renpy.load(fn)
  File "C:\Users\Brad\Desktop\renpy-6.99.12.2-sdk\renpy\loadsave.py", line 594, in load
    log.unfreeze(roots, label="_after_load")
  File "C:\Users\Brad\Desktop\renpy-6.99.12.2-sdk\renpy\python.py", line 1650, in unfreeze
    self.rollback(0, force=True, label=label, greedy=greedy, on_load=True)
  File "C:\Users\Brad\Desktop\renpy-6.99.12.2-sdk\renpy\python.py", line 1509, in rollback
    raise Exception("Couldn't find a place to stop rolling back. Perhaps the script changed in an incompatible way?")
Exception: Couldn't find a place to stop rolling back. Perhaps the script changed in an incompatible way?

Windows-8-6.2.9200
Ren'Py 6.99.12.2.2029
Palinurus 2.1
Anything else I should try?

User avatar
PyTom
Ren'Py Creator
Posts: 15893
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

Re: [Question] Corrupted Save States

#4 Post by PyTom » Wed Jan 25, 2017 7:25 pm

What you might want to do is to pull the .rpyc files from the released version, drop them in over the .rpyc files you have, and run the game. That might solve the problem. I would not disable rollbacks.

Also, you need to make sure that the changes you made make sense. Ren'Py generally can't deal with huge refactors after release, like moving code from one file to another, or changing the order of code grossly within a file. What it does is to look at the old and new files, and try to combine them. While it works well in practice, it is possible to confuse it to the point where it won't work.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
"Silly and fun things are important." - Elon Musk
Software > Drama • https://www.patreon.com/renpytom

User avatar
EchoFrost
Newbie
Posts: 6
Joined: Tue Jul 21, 2015 10:12 am
Completed: Palinurus, Fare Thee Well, Lull, Seeds of Sylvia
Projects: Avitus, Palinurus, Seeds of Sylvia, Fare Thee Well, Lull, Cat Girl Safari
Organization: Watercress Studios
IRC Nick: EchoFrost
Github: EchoFrost
Location: In your heart <3
Contact:

Re: [Question] Corrupted Save States

#5 Post by EchoFrost » Thu Jan 26, 2017 5:26 am

Thanks for the reply Tom, I'll give it a try. To be honest the only changes I had made before noticing the error was change the main menu background and swap in some new music.

Post Reply

Who is online

Users browsing this forum: Google [Bot], OddTillTheEnd, _ticlock_