Backup Restore not working


#1

What is the problem?
I have two backups from my Octoprint server. One with just settings and the other with everything I had before I updated.(Which crashed my OctoPrint.) when I try to restore just the settings I get an error. When I try to restore everything it sits there for hours upon hours

What did you already try to solve it?
I tried to upload the backup and use the wizard. I tried to restore the file to my Zero W and it failed. I thought it was that hardware so I moved to a 3b+ and got the same exact error. I was going to try to manually upload the files but I am not sure where to begin on that one.
Additional information about your setup (OctoPrint version, OctoPi version, printer, firmware, octoprint.log, serial.log or output on terminal tab, ...)
I have a Raspberry Pi 3b+ plugged into my Prusa i3 via USB I was on a Zero w connected direct to the einsy board. I got the same error as below.

Uploading backup, this can take a while. Please wait... Restoring from backup... Unpacking backup to /tmp/tmpvWmV0d...Removing temporary unpacked folderError while running restoreTraceback (most recent call last): File "/home/pi/oprint/lib/python2.7/site-packages/octoprint/plugins/backup/init.py", line 767, in _restore_backup
configdata = yaml.safe_load(f) File "/home/pi/oprint/local/lib/python2.7/site-packages/yaml/init.py", line 93, in safe_load
return load(stream, SafeLoader) File "/home/pi/oprint/local/lib/python2.7/site-packages/yaml/init.py", line 71, in load
return loader.get_single_data() File "/home/pi/oprint/local/lib/python2.7/site-packages/yaml/constructor.py", line 37, in get_single_data
node = self.get_single_node() File "/home/pi/oprint/local/lib/python2.7/site-packages/yaml/composer.py", line 36, in get_single_node
document = self.compose_document() File "/home/pi/oprint/local/lib/python2.7/site-packages/yaml/composer.py", line 55, in compose_document
node = self.compose_node(None, None) File "/home/pi/oprint/local/lib/python2.7/site-packages/yaml/composer.py", line 84, in compose_node
node = self.compose_mapping_node(anchor) File "/home/pi/oprint/local/lib/python2.7/site-packages/yaml/composer.py", line 133, in compose_mapping_node
item_value = self.compose_node(node, item_key) File "/home/pi/oprint/local/lib/python2.7/site-packages/yaml/composer.py", line 84, in compose_node
node = self.compose_mapping_node(anchor) File "/home/pi/oprint/local/lib/python2.7/site-packages/yaml/composer.py", line 133, in compose_mapping_node
item_value = self.compose_node(node, item_key) File "/home/pi/oprint/local/lib/python2.7/site-packages/yaml/composer.py", line 84, in compose_node
node = self.compose_mapping_node(anchor) File "/home/pi/oprint/local/lib/python2.7/site-packages/yaml/composer.py", line 127, in compose_mapping_node
while not self.check_event(MappingEndEvent): File "/home/pi/oprint/local/lib/python2.7/site-packages/yaml/parser.py", line 98, in check_event
self.current_event = self.state() File "/home/pi/oprint/local/lib/python2.7/site-packages/yaml/parser.py", line 428, in parse_block_mapping_key
if self.check_token(KeyToken): File "/home/pi/oprint/local/lib/python2.7/site-packages/yaml/scanner.py", line 115, in check_token
while self.need_more_tokens(): File "/home/pi/oprint/local/lib/python2.7/site-packages/yaml/scanner.py", line 149, in need_more_tokens
self.stale_possible_simple_keys() File "/home/pi/oprint/local/lib/python2.7/site-packages/yaml/scanner.py", line 289, in stale_possible_simple_keys
"could not found expected ':'", self.get_mark())ScannerError: while scanning a simple key
in "/tmp/tmpvWmV0d/basedir/config.yaml", line 598, column 3
could not found expected ':'
in "/tmp/tmpvWmV0d/basedir/config.yaml", line 599, column 1 Restore failed! Check the above output and octoprint.log for reasons as to why.Removing temporary zip


#2

I'm guessing that line 598 of that config.yaml could tell us a story if only we had its contents.


#3

It's the default one. The backup is trying to overwrite it. My guess is that it is either a permissions issue or the file is in use.


#4

Why would the default one be in a tmp directory? It sounds like the offending one was just extracted from a zip file. If I were to guess, I'd say that the file could have gotten truncated mid-line.


#5

Not sure. I restored via WinSCP without issue though. I will blow it out and try again. I tried the wizard several times and it always failed.


#6

When I run the backup part of the plugin, it throws a ZIP file. I can then transfer this over to my workstation, unzip it and then review what's inside:

/basedir/config.yaml

You might want to review yours to see if it's 100% intact or if it's somehow truncated. Or minimally, check out that section that is causing the scanner grief.


#7

I looked at the file using Notepad++. I did not see anything conflicting. I then used WinSCP to upload the files manually to the print server and it worked like a charm. I will look and see what else I can learn on the spare.


#8

I'm going to tag @foosel in case she has any ideas. If your config.yaml from the backup wasn't truncated then it's difficult to say.


#9

Definitely sounds like some corrupted config.yaml in the backup. Could you upload the backup somewhere and send me the link via private message or email to gina -at- octoprint.org so I can take a look? Do not post it publicly.