I have…
- [X ] Checked the logs and have uploaded a log file and provided a link because I found something suspicious there. Please do not post the log file in the topic because very often something important is missing.
I’m submitting a…
- Regression (a behavior that stopped working in a new release)
- Bug report
- Performance issue
- Documentation issue or request
Current behavior
Backup of Squidex app created a faulty/corrupt backup zip file on Windows 10, using Chrome version 122
Expected behavior
Zip backup archive should ideally be created as a valid zip file that can be imported into another Squidex cms.
Minimal reproduction of the problem
- Log into our self hosted Squidex instance (IIS self hosted) (Logging in with an administrative user)
- Choose the app in the top menu - > app settings → backup
- Press the backup button, wait for the backup to complete
- Put the backup onto a web server that´s reachable for the cms in which the backup should be restored.
- In the next CMS, choose to restore the backup, this produced the error message below
2024-04-03T14:50:56Z: Started. The restore process has the following steps:
2024-04-03T14:50:56Z: * Download backup
2024-04-03T14:50:56Z: * Restore events and attachments.
2024-04-03T14:50:56Z: * Restore all objects like app, schemas and contents
2024-04-03T14:50:56Z: * Complete the restore operation for all objects
2024-04-03T14:50:56Z: Downloading Backup
2024-04-03T14:50:57Z: Failed with internal error.
- Since the UI error message only gave a general error message, I inspected the log output from docker, which gave a ““message”: “End of Central Directory record could not be found.”,”.
The entire entry for the above message is:
"logLevel": "Error",
"message": "Backup with job id fd9ad51d-f76b-436d-b984-0dbf311ee67b from URL \u0027http://uv-fpark-w3prod01.uio.no/www-data-pub\
lic/back.zip\u0027 failed.",
"backupId": "fd9ad51d-f76b-436d-b984-0dbf311ee67b",
"url": "http://uv-fpark-w3prod01.uio.no/www-data-public/back.zip",
"timestamp": "2024-04-03T14:40:58Z",
"app": {
"name": "Squidex",
"version": "7.13.0.0",
"sessionId": "0600d3e5-15e4-4210-b6e8-24dc2466f79c"
},
"category": "Squidex.Domain.Apps.Entities.Backup.RestoreJob",
"exception": {
"type": "System.IO.InvalidDataException",
"message": "End of Central Directory record could not be found.",
"stackTrace": " at System.IO.Compression.ZipArchive.ReadEndOfCentralDirectory()\n at System.IO.Compression.ZipArchive..ct\
or(Stream stream, ZipArchiveMode mode, Boolean leaveOpen, Encoding entryNameEncoding)\n at Squidex.Domain.Apps.Entities.Backup.\
BackupReader..ctor(IJsonSerializer serializer, Stream stream) in /src/src/Squidex.Domain.Apps.Entities/Backup/BackupReader.cs:lin\
e 42\n at Squidex.Domain.Apps.Entities.Backup.TempFolderBackupArchiveLocation.OpenReaderAsync(Uri url, DomainId id, Cancellatio\
nToken ct) in /src/src/Squidex.Domain.Apps.Entities/Backup/TempFolderBackupArchiveLocation.cs:line 66\n at Squidex.Domain.Apps.\
Entities.Backup.TempFolderBackupArchiveLocation.OpenReaderAsync(Uri url, DomainId id, CancellationToken ct) in /src/src/Squidex.D\
omain.Apps.Entities/Backup/TempFolderBackupArchiveLocation.cs:line 78\n at Squidex.Domain.Apps.Entities.Backup.RestoreJob.Downl\
oadAsync(JobRunContext run, State state, CancellationToken ct) in /src/src/Squidex.Domain.Apps.Entities/Backup/RestoreJob.cs:line\
254\n at Squidex.Domain.Apps.Entities.Backup.RestoreJob.RunAsync(JobRunContext context, CancellationToken ct) in /src/src/Squi\
dex.Domain.Apps.Entities/Backup/RestoreJob.cs:line 123"
Environment
- [X ] Destination CMS Self hosted with docker (The CMS to which the backup should be restored)
- Source CMS - Self hosted with IIS (The CMS from which the backup originates)
- Self hosted with other version
- Cloud version
Destination CMS Version: Squidex version 7.13.0.0 (Reported through the /api/info route)
Source CMS version: Squidex version version":"6.0.1.0
Browser:
- Chrome (desktop) - Source OS was Windows 10 in the first attempt that created corrupt zip file.
- Chrome (Android)
- Chrome (iOS)
- [ X] Firefox - Destination OS that was used to import the backup in the first failed attempt was Firefox on Sonoma
- Safari (desktop)
- Safari (iOS)
- IE
- Edge
Others:
Workaround by doing the export on Firefox/MacOS sonoma created no error message (valid zip archive file)