Skip to content

[Bug]: Updater fails deleting old files as core/shipped.json couldn't be deleted #434

@skyynet

Description

@skyynet

⚠️ This issue respects the following points: ⚠️

  • This is a bug, not a question or a configuration/webserver/proxy issue.
  • This issue is not already reported on Github (I've searched it).
  • Nextcloud Server is up to date. See Maintenance and Release Schedule for supported versions.
  • Nextcloud Server is running on 64bit capable CPU, PHP and OS.
  • I agree to follow Nextcloud's Code of Conduct.

Bug description

Performing the web updater of nextcloud, I experience the same problem since years.
The updater fails, deleting core/shipped.json as this file was already deleted by the updater.
My remedy is, to re-create a folder core and copy shipped.json into it and hit "Retry update" a couple of times.
If file doesn't exist, updater shouldn't try to delete it or ignore it, when it doesn't exist.
Should be pretty easy to fix.

Steps to reproduce

  1. Start web updater

Expected behavior

Updater finishes without errors

Installation method

Official All-in-One appliance

Operating system

Debian/Ubuntu

PHP engine version

PHP 7.4

Web server

Apache (supported)

Database engine version

MySQL

Is this bug present after an update or on a fresh install?

Updated from a minor version (ex. 22.2.3 to 22.2.4)

Are you using the Nextcloud Server Encryption module?

Encryption is Disabled

What user-backends are you using?

  • Default user-backend (database)
  • LDAP/ Active Directory
  • SSO - SAML
  • Other

Configuration report

./.

List of activated Apps

only standard apps from clean install

Nextcloud Signing status

No errors have been found.

Nextcloud Logs

This is the updater log from 24.0.4 to 24.0.5

2022-09-18T14:42:26+0200 ocEQ4fZtbD [info] request to updater
2022-09-18T14:42:26+0200 ocEQ4fZtbD [info] currentStep()
2022-09-18T14:42:26+0200 ocEQ4fZtbD [info] POST request for step "9"
2022-09-18T14:42:26+0200 ocEQ4fZtbD [info] startStep("9")
2022-09-18T14:42:26+0200 ocEQ4fZtbD [info] deleteOldFiles()
2022-09-18T14:42:26+0200 ocEQ4fZtbD [error] POST request failed with other exception
2022-09-18T14:42:26+0200 ocEQ4fZtbD [error] Exception: Exception
Message: core/shipped.json is not available
Code:0
Trace:
#0 /home/www/07/74/ihskyynd/skyycloud/updater/index.php(1386): Updater->deleteOldFiles()
nextcloud/server#1 {main}
File:/home/www/07/74/ihskyynd/skyycloud/updater/index.php
Line:926

2022-09-18T14:42:26+0200 ocEQ4fZtbD [info] rollbackChanges("9")
2022-09-18T14:42:26+0200 ocEQ4fZtbD [info] unlink .step
2022-09-18T14:42:26+0200 ocEQ4fZtbD [info] rollbackChanges - step >= 7
2022-09-18T14:42:26+0200 ocEQ4fZtbD [info] end of  rollbackChanges()

Additional info

When I managed to pass the "Delete old files" section, I have a minor problem at "move files to new place" where I have to click "Retry update" a couple of times. In the log, I see some rmdir failed for the apps directory. Seems to be related as updater hangs when deletion of files or directories fails when they are not present (anymore).
I suggest either adding some "file/directory, which should be deleted, does not exist. Continue?" prompt or simply ignoring this issue while updating.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions