Restore fails in OctoPrint

What is the problem?

Restoring from backup fails with the following error:

Uploading backup, this can take a while. Please wait... Restoring from backup... Unpacking backup to /tmp/tmpf_d22xwu...Removing temporary unpacked folderError while running restoreTraceback (most recent call last):  File "/home/ageoffri/OctoPrint/lib/python3.12/site-packages/octoprint/plugins/backup/__init__.py", line 1243, in _restore_backup
    zip.extract(member, temp)  File "/usr/lib/python3.12/zipfile/__init__.py", line 1726, in extract
    return self._extract_member(member, path, pwd)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  File "/usr/lib/python3.12/zipfile/__init__.py", line 1802, in _extract_member
    shutil.copyfileobj(source, target)  File "/usr/lib/python3.12/shutil.py", line 204, in copyfileobj
    fdst_write(buf)OSError: [Errno 28] No space left on device Restore failed! Check the above output and octoprint.log for reasons as to why.Removing temporary zip

I've been running OctoPrint on a Pine64a for quite some time and the version of Ubuntu was way outdated. I used the settings to create a backup as I was expecting the update to Noble to fail. The update did fail into an inconsistent state that I decided not to take the time to troubleshoot after an hour or so. I grabbed the latest Armbian image for Ubuntu Nobel (server) since it's headless. After installing and updating the OS, I installed OctoPrint.

When I originally setup OctoPrint I used a guide to manually install it. This time I used the octoprint_deploy script, I don't know if I missed it last time or if it is newish.

OctoPrint is working on my local network and I'm able to login to the GUI.

What did you already try to solve it?

Rebooted the Pine64a. Verified that there is enough space on my SD Card.

Here's the df -m:

Filesystem 1M-blocks Used Available Use% Mounted on
tmpfs 198 4 195 2% /run
/dev/mmcblk0p1 59861 3078 56137 6% /
tmpfs 988 1 988 1% /dev/shm
tmpfs 5 0 5 0% /run/lock
tmpfs 988 0 988 0% /tmp
/dev/zram1 47 3 41 6% /var/log
tmpfs 198 1 198 1% /run/user/1000

Read the octoprint.log and only error that I see is Traceback one I put above.

The script I used installed 1.11.1 so I updated to 1.12.1 which is the version I was one when I made the backup.

Have you tried running in safe mode?

Yes

Did running in safe mode solve the problem?

No

Systeminfo Bundle

octoprint-systeminfo-20250624150029.zip (13.6 KB)

Additional information about your setup

OctoPrint 1.11.2
Pine64a with Ubuntu Noble
Qidi i-mates connected via USB

this is the underlying problem. you don't have enough space to restore to. how big is your zip file?

I think the problem may be more subtle than total free space. Your df -m output shows that /tmp only has 988 blocks. On my OctoPi system, df -m /tmp is mounted on /.

I don't know the inner workings of the restore code, but I'm willing to bet that /tmp is involved.

That makes a lot of sense with /tmp. I think I need t head over to Armbian forum and see what I can find there.

I will say that I've done a partial solution. Everything is in json or actual files that I've uploaded and not any sort of binary blob. I went through all of the json files in the zip file and manually updated my OctoPrint based on them.

I'm still interested to see if someone either here or on Armbian has a better solution.

I was only looking at the main partition and there's plenty of space on the 64GB SD Card.

I'm pretty sure that b-morgan nailed it with the /tmp being the problem. The backup is only 403MB so not that big.