EXTREMELY IMPORTANT: Please attach a ZIP file containing your Akeeba Backup log file in order for us to help you with any backup or restoration issue. If the file is over 10MiB, please upload it on your server and post a link to it.
Everybody will be able to see its contents. Do not include usernames, passwords or any other sensitive information.
Latest post by nicholas on Thursday, 06 August 2026 12:02 CDT
EXTREMELY IMPORTANT: Please attach a ZIP file containing your Akeeba Backup log file in order for us to help you with any backup or restoration issue. If the file is over 10MiB, please upload it on your server and post a link to it.
EXTREMELY IMPORTANT: Please attach a ZIP file containing your Akeeba Backup log file in order for us to help you with any backup or restoration issue. If the file is over 10MiB, please upload it on your server and post a link to it.
Nicholas K. Dionysopoulos
Lead Developer and Director
🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!
Thank you for the log files. They corroborate your analysis and make us positive that the following reply is correct.
This is a bug in the 18 month old version of Akeeba Backup you are running, and we have already fixed it. It is not your host, not your Dropbox account, and not anything you have set up wrongly.
Here is what to do:
We are confident this is what you have been running into, though we cannot be completely certain until we see a successful run on the new version. If it fails again after the update, send us the new log and we will take another look.
The rest of this is the detail behind the above. You do not need to read it — it is here for completeness, and in case you want to pass it to whoever prepared the analysis you sent us.
Your diagnosis was on the right track. Since 10.0.2 we have fixed three separate bugs in the way our software handles Dropbox (and Box, Google Drive, and OneDrive) authorisation tokens.
The one that matters most for you shipped in 10.3.6, listed in our changelog as “Box, Dropbox, Google Drive, OneDrive token refresh raced expiry”. In 10.0.2 the profile’s Dropbox access token is renewed at the start of the upload, but the renewed token is never written back into the backup profile. Every subsequent step of the backup therefore starts again from the token that had already expired, and the profile only ends up holding a working token as a side effect of a request having failed first. That is exactly the “the Refresh Token is not being used or persisted correctly for this profile” behaviour you suspected in your point 2, and it is why relinking Dropbox by hand fixes things for precisely one backup run and no longer.
10.3.7 fixed two further issues in the same area, including one we rated HIGH: a token renewal performed during an upload could write the new tokens into a different backup profile’s remote storage settings, leaving the profile actually being backed up with the stale ones. Whether that one affects you depends on how your scheduled backup is triggered, which is why we asked above.
Your point 1 — why it always fails at finalisation and never on the individual chunks — is a real characteristic of the code, and a good catch. In the chunked upload routine every Dropbox call except the last one is wrapped in a “if this fails, renew the token and try again” guard: creating the upload session retries, uploading each chunk retries. Closing the session (files/upload_session/finish) has no such guard — if it fails for any reason at all, the backup is aborted on the spot. So an expired token during the chunk uploads is absorbed silently and never becomes visible, while the very same expired token at the finalisation step takes the whole backup down. That is why both of your incidents look identical and land on the same call. We have raised this internally so that the finalisation step gets the same protection as the rest of the routine.
Your point 4 — no, we do not believe this has anything to do with LiteSpeed, or with host-side handling of outbound POST requests. The error in your log is Dropbox’s own expired_access_token response, which means the request did reach Dropbox and Dropbox rejected the credentials it was given. Your host appears to be in the clear; if it was a host-induced error this failure would've happened when uploading the first chunk of each backup archive part file, not during the chunked upload's finalization.
Your point 3 — understood, and nothing described above depends on having copied or duplicated a backup profile.
Nicholas K. Dionysopoulos
Lead Developer and Director
🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!
Working hours: We are open Monday to Friday, 9am to 7pm Cyprus timezone (EET / EEST). Support is provided by the same developers writing the software, all of which live in Europe. You can still file tickets outside of our working hours, but we cannot respond to them until we're back at the office.
Support policy: We would like to kindly inform you that when using our support you have already agreed to the Support Policy which is part of our Terms of Service. Thank you for your understanding and for helping us help you!