Multiple Error after updating to NextCloud v34

Support intro

Sorry to hear you’re facing problems. :slightly_frowning_face:

The community help forum (help.nextcloud.com) is for home and non-enterprise users. Support is provided by other community members on a best effort / “as available” basis. All of those responding are volunteering their time to help you.

If you’re using Nextcloud in a business/critical setting, paid and SLA-based support services can be accessed via portal.nextcloud.com where Nextcloud engineers can help ensure your business keeps running smoothly.

Getting help

In order to help you as efficiently (and quickly!) as possible, please fill in as much of the below requested information as you can.

Before clicking submit: Please check if your query is already addressed via the following resources:

(Utilizing these existing resources is typically faster. It also helps reduce the load on our generous volunteers while elevating the signal to noise ratio of the forums otherwise arising from the same queries being posted repeatedly).

Some or all of the below information will be requested if it isn’t supplied; for fastest response please provide as much as you can. :heart:

The Basics

  • Nextcloud Server version (e.g., 29.x.x):
  • Operating system and version (e.g., Ubuntu 24.04):
    • Ubuntu 24.04
  • Web server and version (e.g, Apache 2.4.25):
    • NGINX
  • Reverse proxy and version _(e.g. nginx 1.27.2)
    • nginx/1.18.0
  • PHP version (e.g, 8.3):
    • 8.2
  • Is this the first time you’ve seen this error? (Yes / No):
    • yes
  • When did this problem seem to first start?
    • After 30.0
  • Installation method (e.g. AlO, NCP, Bare Metal/Archive, etc.)
    • I don’t know anymore
  • Are you using CloudfIare, mod_security, or similar? (Yes / No)
    • No

Summary of the issue you are facing:

  1. Connection problem: we are not being redirected, but we have to refresh to connect.
  2. No longer have access to the admin section of the applications.
  3. Several menus are no longer displayed.
  4. Configuration verification error.

Steps to replicate it (hint: details matter!):

  1. Simply update and switch PHP from 8.1 to 8.2

Log entries

Nextcloud

Please provide the log entries from your Nextcloud log that are generated during the time of problem (via the Copy raw option from Administration settings->Logging screen or from your nextcloud.log located in your data directory). Feel free to use a pastebin/gist service if necessary.

{"file":"/var/www/nextcloud/console.php","line":92,"function":"run","class":"OC\\Console\\Application","type":"->"},{"file":"/var/www/nextcloud/occ","line":33,"args":["/var/www/nextcloud/console.php"],"function":"require_once"}],"File":"/var/www/nextcloud/lib/private/DB/Connection.php","Line":407,"message":"dirty table reads: SELECT `appid`, `configkey`, `configvalue`, `type`, `lazy` FROM `*PREFIX*appconfig` WHERE `lazy` = :dcValue1","tables":"[\"oc_migrations\",\"oc_jobs\",\"oc_appconfig\",\"oc_preferences\",\"oc_calendars\",\"oc_filecache\",\"oc_talk_rooms\",\"oc_talk_attendees\",\"oc_oauth2_access_tokens\",\"oc_oauth2_clients\",\"oc_filecache_extended\"]","reads":"[\"oc_appconfig\"]","exception":"{\"class\":\"Exception\",\"message\":\"dirty table reads: SELECT `appid`, `configkey`, `configvalue`, `type`, `lazy` FROM `*PREFIX*appconfig` WHERE `lazy` = :dcValue1\",\"code\":0,\"file\":\"/var/www/nextcloud/lib/private/DB/Connection.php:407\",\"trace\":\"#0 /var/www/nextcloud/lib/private/DB/ConnectionAdapter.php(57): OC\\DB\\Connection->executeQuery()\\n#1 /var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php(261): OC\\DB\\ConnectionAdapter->executeQuery()\\n#2 /var/www/nextcloud/lib/private/AppConfig.php(1418): OC\\DB\\QueryBuilder\\QueryBuilder->executeQuery()\\n#3 /var/www/nextcloud/lib/private/AppConfig.php(1081): OC\\AppConfig->loadConfig()\\n#4 /var/www/nextcloud/lib/private/Config/ConfigManager.php(104): OC\\AppConfig->updateLazy()\\n#5 /var/www/nextcloud/lib/private/Config/ConfigManager.php(91): OC\\Config\\ConfigManager->updateLexiconAppConfigEntries()\\n#6 /var/www/nextcloud/lib/private/Repair/ConfigKeyMigration.php(30): OC\\Config\\ConfigManager->updateLexiconEntries()\\n#7 /var/www/nextcloud/lib/private/Repair.php(102): OC\\Repair\\ConfigKeyMigration->run()\\n#8 /var/www/nextcloud/lib/private/Updater.php(265): OC\\Repair->run()\\n#9 /var/www/nextcloud/lib/private/Updater.php(102): OC\\Updater->doUpgrade()\\n#10 /var/www/nextcloud/core/Command/Upgrade.php(195): OC\\Updater->upgrade()\\n#11 /var/www/nextcloud/3rdparty/symfony/console/Command/Command.php(326): OC\\Core\\Command\\Upgrade->execute()\\n#12 /var/www/nextcloud/3rdparty/symfony/console/Application.php(1098): Symfony\\Component\\Console\\Command\\Command->run()\\n#13 /var/www/nextcloud/3rdparty/symfony/console/Application.php(324): Symfony\\Component\\Console\\Application->doRunCommand()\\n#14 /var/www/nextcloud/3rdparty/symfony/console/Application.php(175): Symfony\\Component\\Console\\Application->doRun()\\n#15 /var/www/nextcloud/lib/private/Console/Application.php(188): Symfony\\Component\\Console\\Application->run()\\n#16 /var/www/nextcloud/console.php(92): OC\\Console\\Application->run()\\n#17 /var/www/nextcloud/occ(33): require_once('...')\\n#18 {main}\"}","CustomMessage":"dirty table reads: SELECT `appid`, `configkey`, `configvalue`, `type`, `lazy` FROM `*PREFIX*appconfig` WHERE `lazy` = :dcValue1"}}
{"reqId":"1c1LWHcj6mIo2L1FOVAK","level":1,"time":"2026-07-16T10:33:49+00:00","remoteAddr":"","user":"--","app":"updater","method":"","url":"--","scriptName":"/var/www/nextcloud/updater/../occ","message":"OC\\Repair\\Events\\RepairStepEvent: Repair step: Cleanup completed background jobs","userAgent":"--","version":"33.0.6.2","occ_command":["/var/www/nextcloud/updater/../occ","upgrade"],"data":{"app":"updater"}}
{"reqId":"1c1LWHcj6mIo2L1FOVAK","level":0,"time":"2026-07-16T10:33:49+00:00","remoteAddr":"","user":"--","app":"no app in context","method":"","url":"--","scriptName":"/var/www/nextcloud/updater/../occ","message":"dirty table reads: SELECT `id` FROM `*PREFIX*jobs` WHERE (`class` = :dcValue1) AND (`argument_hash` = :dcValue2) LIMIT 1","userAgent":"--","version":"33.0.6.2","occ_command":["/var/www/nextcloud/updater/../occ","upgrade"],"exception":{"Exception":"Exception","Message":"dirty table reads: SELECT `id` FROM `*PREFIX*jobs` WHERE (`class` = :dcValue1) AND (`argument_hash` = :dcValue2) LIMIT 1","Code":0,"Trace":[{"file":"/var/www/nextcloud/lib/private/DB/ConnectionAdapter.php","line":57,"function":"executeQuery","class":"OC\\DB\\Connection","type":"->"},{"file":"/var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php","line":261,"function":"executeQuery","class":"OC\\DB\\ConnectionAdapter","type":"->"},{"file":"/var/www/nextcloud/lib/private/BackgroundJob/JobList.php","line":134,"function":"executeQuery","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->"},{"file":"/var/www/nextcloud/lib/private/BackgroundJob/JobList.php","line":59,"function":"has","class":"OC\\BackgroundJob\\JobList","type":"->"},{"file":"/var/www/nextcloud/lib/private/Repair/AddCleanupBackgroundJobsJob.php","line":31,"function":"add","class":"OC\\BackgroundJob\\JobList","type":"->"},{"file":"/var/www/nextcloud/lib/private/Repair.php","line":102,"function":"run","class":"OC\\Repair\\AddCleanupBackgroundJobsJob","type":"->"},{"file":"/var/www/nextcloud/lib/private/Updater.php","line":265,"function":"run","class":"OC\\Repair","type":"->"},{"file":"/var/www/nextcloud/lib/private/Updater.php","line":102,"function":"doUpgrade","class":"OC\\Updater","type":"->"},{"file":"/var/www/nextcloud/core/Command/Upgrade.php","line":195,"function":"upgrade","class":"OC\\Updater","type":"->"},{"file":"/var/www/nextcloud/3rdparty/symfony/console/Command/Command.php","line":326,"function":"execute","class":"OC\\Core\\Command\\Upgrade","type":"->"},{"file":"/var/www/nextcloud/3rdparty/symfony/console/Application.php","line":1098,"function":"run","class":"Symfony\\Component\\Console\\Command\\Command","type":"->"},{"file":"/var/www/nextcloud/3rdparty/symfony/console/Application.php","line":324,"function":"doRunCommand","class":"Symfony\\Component\\Console\\Application","type":"->"},{"file":"/var/www/nextcloud/3rdparty/symfony/console/Application.php","line":175,"function":"doRun","class":"Symfony\\Component\\Console\\Application","type":"->"},{"file":"/var/www/nextcloud/lib/private/Console/Application.php","line":188,"function":"run","class":"Symfony\\Component\\Console\\Application","type":"->"},{"file":"/var/www/nextcloud/console.php","line":92,"function":"run","class":"OC\\Console\\Application","type":"->"},{"file":"/var/www/nextcloud/occ","line":33,"args":["/var/www/nextcloud/console.php"],"function":"require_once"}],"File":"/var/www/nextcloud/lib/private/DB/Connection.php","Line":407,"message":"dirty table reads: SELECT `id` FROM `*PREFIX*jobs` WHERE (`class` = :dcValue1) AND (`argument_hash` = :dcValue2) LIMIT 1","tables":"[\"oc_migrations\",\"oc_jobs\",\"oc_appconfig\",\"oc_preferences\",\"oc_calendars\",\"oc_filecache\",\"oc_talk_rooms\",\"oc_talk_attendees\",\"oc_oauth2_access_tokens\",\"oc_oauth2_clients\",\"oc_filecache_extended\"]","reads":"[\"oc_jobs\"]","exception":"{\"class\":\"Exception\",\"message\":\"dirty table reads: SELECT `id` FROM `*PREFIX*jobs` WHERE (`class` = :dcValue1) AND (`argument_hash` = :dcValue2) LIMIT 1\",\"code\":0,\"file\":\"/var/www/nextcloud/lib/private/DB/Connection.php:407\",\"trace\":\"#0 /var/www/nextcloud/lib/private/DB/ConnectionAdapter.php(57): OC\\DB\\Connection->executeQuery()\\n#1 /var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php(261): OC\\DB\\ConnectionAdapter->executeQuery()\\n#2 /var/www/nextcloud/lib/private/BackgroundJob/JobList.php(134): OC\\DB\\QueryBuilder\\QueryBuilder->executeQuery()\\n#3 /var/www/nextcloud/lib/private/BackgroundJob/JobList.php(59): OC\\BackgroundJob\\JobList->has()\\n#4 /var/www/nextcloud/lib/private/Repair/AddCleanupBackgroundJobsJob.php(31): OC\\BackgroundJob\\JobList->add()\\n#5 /var/www/nextcloud/lib/private/Repair.php(102): OC\\Repair\\AddCleanupBackgroundJobsJob->run()\\n#6 /var/www/nextcloud/lib/private/Updater.php(265): OC\\Repair->run()\\n#7 /var/www/nextcloud/lib/private/Updater.php(102): OC\\Updater->doUpgrade()\\n#8 /var/www/nextcloud/core/Command/Upgrade.php(195): OC\\Updater->upgrade()\\n#9 /var/www/nextcloud/3rdparty/symfony/console/Command/Command.php(326): OC\\Core\\Command\\Upgrade->execute()\\n#10 /var/www/nextcloud/3rdparty/symfony/console/Application.php(1098): Symfony\\Component\\Console\\Command\\Command->run()\\n#11 /var/www/nextcloud/3rdparty/symfony/console/Application.php(324): Symfony\\Component\\Console\\Application->doRunCommand()\\n#12 /var/www/nextcloud/3rdparty/symfony/console/Application.php(175): Symfony\\Component\\Console\\Application->doRun()\\n#13 /var/www/nextcloud/lib/private/Console/Application.php(188): Symfony\\Component\\Console\\Application->run()\\n#14 /var/www/nextcloud/console.php(92): OC\\Console\\Application->run()\\n#15 /var/www/nextcloud/occ(33): require_once('...')\\n#16 {main}\"}","CustomMessage":"dirty table reads: SELECT `id` FROM `*PREFIX*jobs` WHERE (`class` = :dcValue1) AND (`argument_hash` = :dcValue2) LIMIT 1"}}
{"reqId":"1c1LWHcj6mIo2L1FOVAK","level":1,"time":"2026-07-16T10:33:49+00:00","remoteAddr":"","user":"--","app":"updater","method":"","url":"--","scriptName":"/var/www/nextcloud/updater/../occ","message":"\\OC\\Updater::startCheckCodeIntegrity: Starting code integrity check...","userAgent":"--","version":"33.0.6.2","occ_command":["/var/www/nextcloud/updater/../occ","upgrade"],"data":{"app":"updater"}}
{"reqId":"1c1LWHcj6mIo2L1FOVAK","level":1,"time":"2026-07-16T10:34:01+00:00","remoteAddr":"","user":"--","app":"updater","method":"","url":"--","scriptName":"/var/www/nextcloud/updater/../occ","message":"\\OC\\Updater::finishedCheckCodeIntegrity: Finished code integrity check","userAgent":"--","version":"33.0.6.2","occ_command":["/var/www/nextcloud/updater/../occ","upgrade"],"data":{"app":"updater"}}
{"reqId":"1c1LWHcj6mIo2L1FOVAK","level":1,"time":"2026-07-16T10:34:01+00:00","remoteAddr":"","user":"--","app":"updater","method":"","url":"--","scriptName":"/var/www/nextcloud/updater/../occ","message":"\\OC\\Updater::updateEnd: Update successful","userAgent":"--","version":"34.0.1.2","occ_command":["/var/www/nextcloud/updater/../occ","upgrade"],"data":{"app":"updater"}}
{"reqId":"1c1LWHcj6mIo2L1FOVAK","level":1,"time":"2026-07-16T10:34:01+00:00","remoteAddr":"","user":"--","app":"updater","method":"","url":"--","scriptName":"/var/www/nextcloud/updater/../occ","message":"\\OC\\Updater::maintenanceActive: Maintenance mode is kept active","userAgent":"--","version":"34.0.1.2","occ_command":["/var/www/nextcloud/updater/../occ","upgrade"],"data":{"app":"updater"}}
{"reqId":"1c1LWHcj6mIo2L1FOVAK","level":1,"time":"2026-07-16T10:34:01+00:00","remoteAddr":"","user":"--","app":"updater","method":"","url":"--","scriptName":"/var/www/nextcloud/updater/../occ","message":"\\OC\\Updater::resetLogLevel: Reset log level to Warning(2)","userAgent":"--","version":"34.0.1.2","occ_command":["/var/www/nextcloud/updater/../occ","upgrade"],"data":{"app":"updater"}}

Web Browser

If the problem is related to the Web interface, open your browser inspector Console and Network tabs while refreshing (reloading) and reproducing the problem. Provide any relevant output/errors here that appear.

Brave (Chromium)

Web server / Reverse Proxy

The output of your Apache/nginx/system log in /var/log/____:

2026/07/16 10:28:59 [error] 793735#793735: *99 access forbidden by rule, client: 10.8.0.8, server: , request: "GET /data/.ncdata HTTP/1.1", host: "10.8.0.8"
2026/07/16 10:29:36 [error] 793735#793735: *117 access forbidden by rule, client: 10.8.0.8, server: , request: "GET /.well-known/webfinger HTTP/1.1", host: "10.8.0.8"
2026/07/16 10:30:04 [error] 793735#793735: *35 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 285066024 bytes) in /var/www/nextcloud/updater/index.php on line 881" while reading response header from upstream, client: 10.8.0.3, server: , request: "POST /updater/ HTTP/1.1", upstream: "fastcgi://unix:/run/php/php8.2-fpm.sock:", host: "10.8.0.8"
2026/07/16 10:36:32 [error] 793735#793735: *187 access forbidden by rule, client: 10.8.0.8, server: , request: "GET /data/.ncdata HTTP/1.1", host: "10.8.0.8"
2026/07/16 10:37:09 [error] 793735#793735: *199 access forbidden by rule, client: 10.8.0.8, server: , request: "GET /.well-known/webfinger HTTP/1.1", host: "10.8.0.8"
2026/07/16 10:37:22 [error] 793735#793735: *140 upstream timed out (110: Unknown error) while reading response header from upstream, client: 10.8.0.3, server: , request: "GET /settings/ajax/checksetup HTTP/1.1", upstream: "fastcgi://unix:/run/php/php8.2-fpm.sock", host: "10.8.0.8"
2026/07/16 10:37:43 [error] 793735#793735: *237 access forbidden by rule, client: 10.8.0.8, server: , request: "GET /data/.ncdata HTTP/1.1", host: "10.8.0.8"
2026/07/16 10:38:21 [error] 793735#793735: *249 access forbidden by rule, client: 10.8.0.8, server: , request: "GET /.well-known/webfinger HTTP/1.1", host: "10.8.0.8"
2026/07/16 10:38:34 [error] 793735#793735: *146 upstream timed out (110: Unknown error) while reading response header from upstream, client: 10.8.0.3, server: , request: "GET /settings/ajax/checksetup HTTP/1.1", upstream: "fastcgi://unix:/run/php/php8.2-fpm.sock", host: "10.8.0.8"
2026/07/16 10:39:15 [error] 793735#793735: *389 access forbidden by rule, client: 127.0.0.1, server: , request: "GET /data/.ncdata HTTP/1.1", host: "localhost"
2026/07/16 10:39:18 [error] 793735#793735: *401 access forbidden by rule, client: 10.8.0.8, server: , request: "GET /data/.ncdata HTTP/1.1", host: "10.8.0.8"
2026/07/16 10:39:40 [error] 793735#793735: *468 access forbidden by rule, client: 10.8.0.8, server: , request: "GET /data/.ncdata HTTP/1.1", host: "10.8.0.8"
2026/07/16 10:39:52 [error] 793735#793735: *504 access forbidden by rule, client: 127.0.0.1, server: , request: "GET /.well-known/webfinger HTTP/1.1", host: "localhost"
2026/07/16 10:39:55 [error] 793735#793735: *543 access forbidden by rule, client: 10.8.0.8, server: , request: "GET /.well-known/webfinger HTTP/1.1", host: "10.8.0.8"
2026/07/16 10:40:14 [error] 793735#793735: *587 access forbidden by rule, client: 10.8.0.8, server: , request: "GET /.well-known/webfinger HTTP/1.1", host: "10.8.0.8"

Configuration

Nextcloud

The output of occ config:list system or similar is best, but, if not possible, the contents of your config.php file from /path/to/nextcloud is fine (make sure to remove any identifiable information!):

root@nextcloud:/var/www/nextcloud# sudo -u www-data php occ config:list system
{
    "system": {
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "192.168.1.50",
            "10.8.0.8",
            "192.168.1.95"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "pgsql",
        "version": "34.0.1.2",
        "overwrite.cli.url": "http:\/\/192.168.1.50",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "app_install_overwrite": [
            "files_external_ipfs",
            "webhooks"
        ],
        "maintenance": false,
        "updater.secret": "***REMOVED SENSITIVE VALUE***",
        "theme": "",
        "loglevel": 2,
        "updater.release.channel": "stable"
    }
}
root@nextcloud:/var/www/nextcloud#

Apps

The output of occ app:list (if possible).

}root@nextcloud:/var/www/nextcloud# sudo -u www-data php occ app:list
Enabled:

activity: 7.0.0

admin_audit: 1.24.0

announcementcenter: 7.4.1

app_api: 34.0.0

appstore: 1.0.0

bruteforcesettings: 7.0.0

calendar: 6.5.1

circles: 34.0.0

cloud_federation_api: 1.18.0

comments: 1.24.0

contactsinteraction: 1.15.0

dav: 1.39.0

external: 9.0.1

federatedfilesharing: 1.24.0

federation: 1.24.0

files: 2.6.0

files_downloadlimit: 5.2.0-dev.0

files_external: 1.26.0

files_lock: 34.0.0

files_pdfviewer: 7.0.0-dev.0

files_reminders: 1.7.0

files_sharing: 1.26.0

files_trashbin: 1.24.0

files_versions: 1.27.0

files_zip: 3.0.0

firstrunwizard: 7.0.0-dev.0

forms: 5.3.3

logreader: 7.0.0

lookup_server_connector: 1.22.0

nextcloud_announcements: 6.0.0

notifications: 7.0.0-dev.1

oauth2: 1.22.0

office: 1.0.0

oidc: 2.0.3

onlyoffice: 10.1.2

password_policy: 6.0.0-dev.0

photos: 7.0.0

privacy: 6.0.0-dev.1

profile: 1.3.0

provisioning_api: 1.24.0

recommendations: 7.0.0

related_resources: 5.0.0-dev.0

serverinfo: 6.0.0

settings: 1.17.0

sharebymail: 1.24.0

spreed: 24.0.2

support: 6.0.0

survey_client: 6.0.0-dev.0

suspicious_login: 12.0.0-dev.0

systemtags: 1.24.0

tasks: 0.18.1

text: 8.0.0

theming: 2.9.0

twofactor_backupcodes: 1.23.0

twofactor_nextcloud_notification: 8.0.0

twofactor_totp: 16.0.0

updatenotification: 1.24.0

user_status: 1.14.0

viewer: 7.0.0-dev.0

weather_status: 1.14.0

webhook_listeners: 1.6.0

webhooks: 0.4.3

workflowengine: 2.16.0
Disabled:

dashboard: 7.14.0 (installed 7.9.0)

encryption: 2.22.0 (installed 2.17.0)

files_external_ipfs: 0.2.0 (installed 0.2.0)

files_readmemd: 3.0.2 (installed 3.0.2)

side_menu: 5.3.0 (installed 5.3.0)

user_ldap: 1.25.0

user_saml: 6.2.0 (installed 6.2.0)

My Problem :



Nothing really shocking in the logs. There are some entries to the upgrade, and it seems to have passed successfully.

I am not familiar with theming, is it possible that for that reason some things are just not seen (text or stuff having the same color as the background or are marked with hidden?).

And is it normal to have office and onlyoffice installed at the same time? Such a thing would be my second guess that some app is tricking you by hiding some things.

Over the last versions there were a few changes, so some apps and/or some themes might need some adaptation. If you know at which version you have started seeing problems, you can try to dig deeper what exactly has changed.

Hi @gabsamw,

two separate things are going on, and you already pointed at one of the real culprits. Worth fixing them in order.

1. PHP runs out of memory, and that is what blanks your pages. Your log has an explicit fatal:

134217728 is 128 MB, so memory_limit is at the old default. Nextcloud’s minimum is 512 MB, and more is fine. The apps page and the admin pages are Vue views that call an API; when that request builds the full list of your 60-plus apps and dies at 128 MB, the API returns a 500 and the page renders empty, which is exactly your blank /settings/apps (only the theme logo left) and the empty logging page. The checksetup upstream timeout in the nginx log is the same request giving up. Raise it in both php.ini files, because the web path and occ/cron use different ones. On Ubuntu 24.04 with PHP 8.2 they are:

  • PHP-FPM pool: /etc/php/8.2/fpm/php.inimemory_limit = 512M (or higher), then reload php-fpm
  • CLI: /etc/php/8.2/cli/php.inimemory_limit = 512M (or higher), so occ upgrade and cron do not hit the same wall

2. The two force-installed apps you spotted have to go, and one of them cannot run on 34 at all. You have this in config.php:

That flag bypasses the compatibility check, so both run despite declaring a far older maximum. I looked at their code:

  • files_external_ipfs declares max Nextcloud 18 and was last touched upstream in 2020. Its appinfo/app.php uses the legacy OC_App::loadApp() / \OC::$server->query() bootstrap, and that whole appinfo/app.php mechanism was removed in Nextcloud 32. Its Application class does not implement IBootstrap either, so on 34 nothing loads it. In other words it can no longer register its storage backend at all; it is dead weight on your instance.
  • webhooks (kffl) declares max 26. You do not need it: Nextcloud ships its own webhook_listeners app (“Nextcloud Webhook Support”) in core since version 30, so the third-party one is redundant on 34.

Disable both and clear the overwrite:

cd /var/www/nextcloud
sudo -u www-data php occ app:disable files_external_ipfs
sudo -u www-data php occ app:disable webhooks
sudo -u www-data php occ config:system:delete app_install_overwrite

app_install_overwrite is meant for the rare case of a still-working app whose maintainer just has not bumped info.xml yet, not for apps 16 and 8 major versions out of date. These two are the prime suspects behind the failed config check and the repair errors on oc_appconfig/oc_jobs.

3. You have both Office apps enabled. As @tflidd said, office and onlyoffice are active at the same time (ONLYOFFICE shows in your admin menu). Two document editors registering handlers for the same file types collide. Keep the one you use and disable the other.

Then re-check the upgrade. After raising memory and disabling those apps, run:

sudo -u www-data php occ upgrade
sudo -u www-data php occ status

If occ status reports no pending upgrade and the two apps are gone, the admin and apps pages should (hopefully :crossed_fingers:) come back. The “dirty table reads” during repair most likely came from the upgrade steps dying on the memory limit, so they should not recur once memory is raised.

Two nginx log lines you can ignore:

access forbidden for /data/.ncdata is correct, your data directory must not be reachable over the web, so blocking it is the intended result. The /.well-known/webfinger 403 is a missing well-known location block in your nginx config (see the Nextcloud nginx example); it only triggers a setup warning, not the crash.

h.t.h.


ernolf