Support

Akeeba Solo

#36698 Broken Zip, Log returns no errors

Posted in ‘Akeeba Solo (standalone)’
This is a public ticket

Everybody will be able to see its contents. Do not include usernames, passwords or any other sensitive information.

Environment Information

PHP version
n/a
Akeeba Solo version
n/a

Latest post by nicholas on Thursday, 03 March 2022 02:26 CST

chriskam

Dear Akeeba Support Team,

I perform a monthly restoration test with my backups and noticed that Akeeba has been producing broken archives since a week ago. I have attached the logs from the last working backup as well as the broken one. Please advise.

 

Best wishes

Chris

tampe125
Akeeba Staff

Hello,

I'd suggest you to enable Kickstart debug mode, so we can see what's the file that is causing issues. Please open the kickstart PHP file and find the line containing the string KS_DEBUG and remove the two leading slashes.

The extraction will fail, but a new debug file is created. Can you please attach it here?

Davide Tampellini

Developer and Support Staff

🇮🇹Italian: native 🇬🇧English: good • 🕐 My time zone is Europe / Rome (UTC +1)
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

chriskam

Hi Davide,

 

thank you for your super quick reply. I haven't used kickstart since my Joomla days (which was a long time ago) and simply extracted zip files on my pc with 7zip or various PHP scripts in a server environment, but not with kickstart. Since I am using a flat-file CMS I don't even need the embedded installer.

In any case, kickstart was able to extract the contents, debug file attached. I would still very much like to be able to unzip backups without having to use kickstart.

If this doesn't help, can I send you a link to the full zip via a secure channel? It is only ~120 MB

 

Best wishes
Chris

 

 

tampe125
Akeeba Staff

I think I got what's going on. You set a part size for split archives, but your local installation of 7-zip is not able to correctly handle them. You have to options: you can either stop creating multipart archives by setting the size for split archives to 0 or use a different unarchiver (WinZip or PKZip).

You can read more about this issue here: https://www.akeeba.com/documentation/akeeba-backup-joomla/archiver-engines.html#archiver-zip

Davide Tampellini

Developer and Support Staff

🇮🇹Italian: native 🇬🇧English: good • 🕐 My time zone is Europe / Rome (UTC +1)
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

chriskam

Hi Davide,

thank you, I have tried Winzip, which indeed gives me no errors. However, I have only gotten a single zip file before (split archive size was way above the actual backup); I have also set split archive size to 0 just in case and tested it again.

  • Now, I can still not open it with the Win 11 standard extract folder method at all; it just says "invalid file"
  • I can extract it with 7zip and even though I get > 1000 "Incorrect reparse stream" errors, the actual files seem fine and the restoration test now works

This is still somewhat inconclusive. While I am somewhat relieved that I am getting functional backups (... and as I have learned from Akeeba I believe, that an untested backup is just a good as no backup at all), maybe you have another idea to look into this further?

Thank you very much, best

Chris

tampe125
Akeeba Staff

That's good to go.

There isn't indeed a bug, this is how the ZIP compression works. There isn't only one "truly" compression algorithm, but there are different flavors, each software understands its own. We decided to stick to the specifications, which are globally supported. Please remember that you could have to retain your archives for years, so we need to use something that is forward compatible in the following years.

Windows standard extraction and 7zip do not understand the header we're writing, this is why you get an error while you try to extract them. You can work around this issue by setting the part size to 0, so we never flag the archive as multi-part (if there's a value but only one file, the archive is still a "multi-part" one, it's only being made of one file).

 

Davide Tampellini

Developer and Support Staff

🇮🇹Italian: native 🇬🇧English: good • 🕐 My time zone is Europe / Rome (UTC +1)
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

chriskam

Hi Davide,

thank you for the further explanation, but that's exactly what I did, please see screenshots attached.

nicholas
Akeeba Staff
Manager

From our documentation: https://www.akeeba.com/documentation/akeeba-solo/archiver-engines.html#archiver-zip

The ZIP format is the most well known archive format and is integrated in many operating systems and desktop environments, including Windows™, Mac OS X™, KDE and GNOME.

Please note that due to the way the ZIP format is structured and the limitations of PHP and web servers, it is possible that archives generated by the application will appear to be corrupt when opened with a third party extraction utility. They are not. You can either try to configure your third party archiver tool to ignore CRC32 checksums or use our Akeeba Kickstart or Akeeba eXtract Wizard software to perform the extraction.

Furthermore, a lot of third party archive extraction software based on the InfoZIP library such as unzip (Linux, *BSD, Mac OS X), WinRAR and 7-Zip will always report ZIP archives generated by the application as corrupt. This is a bug in their software, as they do not support the official split archive ZIP standard. PKZIP (written by the inventor of the ZIP format) and WinZIP, however, do support the official standard and can extract archives generated by the application.

As you were told by our support and as documented the ZIP archive is not broken, only the CRC32 appears to be. Please use Akeeba Kickstart to extract the backup archive. There are only so many ways we can say it.

If you have a problem extracting the backup archive with Kickstart please file a new ticket.

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!

Support Information

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!