nextcloud / nextcloud/updater

[Bug]: Web updater broken with a 404

Open
#583 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

0. Needs triage 29-feedback bug feature: moving needs info
Dominant language
PHP
Stars
51
Forks
40
Avg merge
2d 19h
Merged PRs (30d)
3

Description

⚠️ This issue respects the following points: ⚠️
Bug description

The web updater fails at the Move new files in place step:

screenshot_2024-09-23T01:17:47

Error:

The link on the <a href="https://cloud.example.com/nextcloud/updater/">referring page</a> seems to be wrong or outdated.

So it seems that the full updater folder was gone at the previous step (Delete old files) and not replaced by the new one, so we get a 404 and a broken installation.

This has been happening to me for at least the past couple of versions, but never had the issue before.

My workaround so far is to manually move the newly downloaded folder from /data/nextcloud/updater-.../downloads to /srv/http, copy the config.php and run a full occ upgrade, but it's definitely not the most comfortable user experience.

Steps to reproduce

Run /nextcloud/updater when a new version is available.

Expected behavior

The upgrade should complete successfully. The updater folder shouldn't be wiped in the middle of the installtion.

Nextcloud Server version

29

Operating system

Manjaro Linux

PHP engine version

8.3.10

Web server

Apache (supported)

Database engine version

MariaDB

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

Updated from a MINOR version (ex. 28.0.1 to 28.0.2)

Are you using the Nextcloud Server Encryption module?

None

What user-backends are you using?
  • Default user-backend (database)
  • LDAP/ Active Directory
  • SSO - SAML
  • Other
Configuration report
{
    "system": {
        "debug": false,
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": {"foo": "bar"},
        "trusted_proxies": "***REMOVED SENSITIVE VALUE***",
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "mysql",
        "version": "29.0.2.2",
        "overwrite.cli.url": "http:\/\/myhost\/nextcloud",
        "overwritehost": "cloud.example.com",
        "overwriteprotocol": "https",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "mysql.utf8mb4": true,
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "app_install_overwrite": [
            "files_external_dropbox",
            "files_external_gdrive",
            "uppush",
            "twofactor_u2f",
            "drawio",
            "workflow_script",
            "workflow_media_converter",
            "workflow_pdf_converter",
            "ocdownloader",
            "files_opds",
            "epubreader",
            "apporder",
            "facerecognition",
            "maps",
            "webhooks"
        ],
        "maintenance": true,
        "allow_local_remote_servers": true,
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpmode": "smtp",
        "mail_sendmailmode": "smtp",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpauth": 1,
        "mail_smtpport": "1125",
        "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
        "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
        "theme": "",
        "loglevel": 0,
        "memcache.local": "\\OC\\Memcache\\APCu",
        "memcache.distributed": "\\OC\\Memcache\\Redis",
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "port": 6379,
            "timeout": 1.5
        },
        "has_rebuilt_cache": true,
        "app.mail.verify-tls-peer": false,
        "mail_smtpsecure": "tls",
        "mail_smtpauthtype": "LOGIN",
        "mail_smtpstreamoptions": {
            "ssl": {
                "allow_self_signed": true,
                "verify_peer": false,
                "verify_peer_name": false
            }
        },
        "enable_previews": true,
        "enabledPreviewProviders": [
            "OC\\Preview\\PNG",
            "OC\\Preview\\JPEG",
            "OC\\Preview\\GIF",
            "OC\\Preview\\BMP",
            "OC\\Preview\\XBitmap",
            "OC\\Preview\\MP3",
            "OC\\Preview\\MP4",
            "OC\\Preview\\TXT",
            "OC\\Preview\\MarkDown",
            "OC\\Preview\\PDF",
            "OC\\Preview\\HEIC",
            "OC\\Preview\\TIFF",
            "OC\\Preview\\MKV",
            "OC\\Preview\\AVI",
            "OC\\Preview\\Movie"
        ],
        "preview_max_x": 512,
        "preview_max_y": 1024,
        "jpeg_quality": 60,
        "default_phone_region": "nl",
        "defaultapp": "files,dashboard",
        "remember_login_cookie_lifetime": 10368000,
        "session_lifetime": 10368000,
        "music.lastfm_api_key": "bbca05085c5f51d2aa883798b3a6eec4",
        "memories.vod.ffmpeg": "\/sbin\/ffmpeg",
        "memories.vod.ffprobe": "\/sbin\/ffprobe",
        "memories.vod.path": "\/srv\/http\/nextcloud\/apps\/memories\/bin-ext\/go-vod-amd64",
        "memories.exiftool_no_local": true,
        "trashbin_retention_obligation": "7, 10",
        "memories.db.triggers.fcu": true,
        "updater.secret": "***REMOVED SENSITIVE VALUE***"
    }
}
List of activated Apps
Enabled:
  - activity: 2.21.1
  - admin_audit: 1.19.0
  - analytics: 5.0.1
  - appointments: 2.1.10
  - apporder: 0.15.0
  - assistant: 1.1.0
  - audioplayer: 3.4.1
  - bookmarks: 14.2.6
  - bruteforcesettings: 2.9.0
  - cadviewer: 10.10.7
  - calendar: 4.7.16
  - camerarawpreviews: 0.8.5
  - cloud_federation_api: 1.12.0
  - cloud_py_api: 0.1.9
  - comments: 1.19.0
  - contacts: 6.0.0
  - contactsinteraction: 1.10.0
  - cookbook: 0.11.2
  - cospend: 1.6.1
  - dashboard: 7.9.0
  - dav: 1.30.1
  - deck: 1.13.1
  - drawio: 3.0.3
  - epubviewer: 1.6.3
  - event_update_notification: 2.4.0
  - external: 5.4.0
  - familytree: 1.3.5
  - federatedfilesharing: 1.19.0
  - federation: 1.19.0
  - files: 2.1.1
  - files_accesscontrol: 1.19.1
  - files_downloadlimit: 2.0.0
  - files_external: 1.21.0
  - files_fulltextsearch: 29.0.1
  - files_pdfviewer: 2.10.0
  - files_reminders: 1.2.0
  - files_sharing: 1.21.0
  - files_trashbin: 1.19.0
  - files_versions: 1.22.0
  - files_zip: 1.6.0
  - forms: 4.2.4
  - fulltextsearch: 29.0.1
  - fulltextsearch_elasticsearch: 29.0.1
  - gpoddersync: 3.9.0
  - groupfolders: 17.0.3
  - integration_mastodon: 2.0.6
  - integration_openstreetmap: 1.0.12
  - integration_peertube: 1.0.4
  - logreader: 2.14.0
  - lookup_server_connector: 1.17.0
  - mail: 3.7.8
  - maps: 1.4.0
  - mediadc: 0.3.9
  - nextcloud_announcements: 1.18.0
  - notifications: 2.17.0
  - oauth2: 1.17.1
  - password_policy: 1.19.0
  - photos: 2.5.0
  - privacy: 1.13.0
  - provisioning_api: 1.19.0
  - recommendations: 2.1.0
  - related_resources: 1.4.0
  - serverinfo: 1.19.0
  - settings: 1.12.0
  - sharebymail: 1.19.0
  - survey_client: 1.17.0
  - text: 3.10.1
  - theming: 2.4.0
  - twofactor_backupcodes: 1.18.0
  - twofactor_totp: 11.0.0-dev
  - updatenotification: 1.19.1
  - user_status: 1.9.0
  - viewer: 2.3.0
  - weather_status: 1.9.0
  - workflowengine: 2.11.0
Disabled:
  - circles: 29.0.0-dev (installed 24.0.1)
  - encryption: 2.17.0 (installed 2.8.1)
  - firstrunwizard: 2.18.0 (installed 2.13.0)
  - memories: 7.4.1 (installed 7.4.1)
  - support: 1.12.0 (installed 1.7.0)
  - suspicious_login: 7.0.0
  - systemtags: 1.19.0 (installed 1.14.0)
  - user_ldap: 1.20.0
Nextcloud Signing status

No response

Nextcloud Logs

No response

Additional info

Nextcloud is installed on bare metal in the Apache data folder.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the upgrade through /nextcloud/updater and inspect the updater's “Delete old files” and “Move new files in place” steps. Use the reported /data/nextcloud/updater-.../downloads and /srv/http paths to trace where the updater directory is removed or restored; done means a minor upgrade completes without a 404 and the updater folder remains available.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
devops, release
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.