Integrity check missing files after nc 25.0.11 -> 25.0.12 (core/composer.json +3)

Support intro

Sorry to hear you’re facing problems :slightly_frowning_face:

help.nextcloud.com is for home/non-enterprise users. If you’re running a business, paid support can be accessed via portal.nextcloud.com where we can ensure your business keeps running smoothly.

In order to help you as quickly as possible, before clicking Create Topic please provide as much of the below as you can. Feel free to use a pastebin service for logs, otherwise either indent short log examples with four spaces:

example

Or for longer, use three backticks above and below the code snippet:

longer
example
here

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:

Nextcloud version (eg, 20.0.5): 25.0.12
Operating system and version (eg, Ubuntu 20.04): 22.04.3
Apache or nginx version (eg, Apache 2.4.25): Apache 2.4.52
PHP version (eg, 7.4): 8.1.2

The issue you are facing:

After updating NC from 25.0.11 to 25.0.12 (via deb packeges from jurisic.org) the integrity check in the admin’s web interface complains about four missing files:

  • core
    • FILE_MISSING
      • composer.json
      • composer.lock
      • package-lock.json
      • package.json

Is this the first time you’ve seen this error? (Y/N): Y

Steps to replicate it:

  1. Have NC 25.0.11 on Ubuntu 22.04.3 from deb APT Jurišić bullseye main contrib non-free
  2. update NC via apt install nextcloud-server (no errors shown)
  3. log into admin account in nextcloud
  4. go to administration overview

The output of your Nextcloud log in Admin > Logging:

(nothing showing up after log in)

The output of your config.php file in /path/to/nextcloud (make sure you remove any identifiable information!):

<?php
$CONFIG = array (
  'passwordsalt' => 'SECRET',
  'datadirectory' => '/var/www/nextcloud/data',
  'dbtype' => 'mysql',
  'version' => '25.0.12.0',
  'dbname' => 'nextcloud',
  'dbhost' => 'localhost',
  'dbtableprefix' => 'oc_',
  'dbuser' => 'nextcloud',
  'dbpassword' => 'SECRET',
  'installed' => true,
  'instanceid' => '50ab64f1f133e',
  'log_type' => 'file',
  'logfile' => '/var/log/nextcloud/nextcloud.log',
  'loglevel' => 2,
  'theme' => '',
  'trusted_domains' => 
  array (
    0 => 'wolkepur.de',
  ),
  'forcessl' => true,
  'mail_from_address' => 'noreply',
  'mail_smtpmode' => 'sendmail',
  'mail_domain' => 'wolkepur.de',
  'secret' => 'SECRET',
  'memcache.local' => '\\OC\\Memcache\\APCu',
  'default_language' => 'de',
  'skeletondirectory' => '',
  'singleuser' => false,
  'updatechecker' => false,
  'overwrite.cli.url' => 'https://wolkepur.de',
  'mail_smtpauthtype' => 'LOGIN',
  'upgrade.disable-web' => 'true',
  'mysql.utf8mb4' => true,
  'app_install_overwrite' => 
  array (
    0 => 'audioplayer',
    1 => 'ocsms',
    2 => 'user_sql',
    3 => 'files_texteditor',
    4 => 'documentserver_community',
    5 => 'user_external',
  ),
  'default_phone_region' => 'DE',
  'maintenance' => false,
);

The output of your Apache/nginx/system log in /var/log/apache2/wolkepur/error.log:

[Sat Sep 23 10:44:48.863316 2023] [access_compat:error] [pid 2386] [client 87.168.43.84:52400] AH01797: client denied by server configuration:
 /var/www/nextcloud/data/.ocdata
[Sat Sep 23 11:01:50.659395 2023] [access_compat:error] [pid 1941] [client 87.168.43.84:32954] AH01797: client denied by server configuration:
 /var/www/nextcloud/data/.ocdata
[Sat Sep 23 11:28:47.714681 2023] [access_compat:error] [pid 5159] [client 87.168.43.84:59232] AH01797: client denied by server configuration:
 /var/www/nextcloud/data/.ocdata
[Sat Sep 23 11:33:55.595327 2023] [access_compat:error] [pid 7083] [client 87.168.43.84:48674] AH01797: client denied by server configuration:
 /var/www/nextcloud/data/.ocdata
[Sat Sep 23 11:35:30.713649 2023] [access_compat:error] [pid 2388] [client 87.168.43.84:33844] AH01797: client denied by server configuration:
 /var/www/nextcloud/data/.ocdata
[Sat Sep 23 11:37:06.267736 2023] [access_compat:error] [pid 7913] [client 87.168.43.84:44180] AH01797: client denied by server configuration:
 /var/www/nextcloud/data/.ocdata

Output errors in nextcloud.log in /var/www/ or as admin user in top right menu, filtering for errors. Use a pastebin service if necessary.

{"reqId":"v3tWAjetC25cSKKKWnH1","level":3,"time":"2023-09-23T09:29:17+00:00","remoteAddr":"87.168.43.84","user":"martin","app":"internet_connection_check","method":"GET","url":"/index.php/settings/ajax/checksetup","message":"Cannot connect to: www.nextcloud.com","userAgent":"Mozilla/
5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/117.0","version":"25.0.12.0","exception":{"Exception":"GuzzleHttp\\Exception\
\ConnectException","Message":"cURL error 28: Operation timed out after 30001 milliseconds with 0 bytes received (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for http://www.nextcloud.com/","Code":0,"Trace":[{"file":"/var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/Handler
/CurlFactory.php","line":158,"function":"createRejection","class":"GuzzleHttp\\Handler\\CurlFactory","type":"::"},{"file":"/var/www/nextcloud/
3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php","line":110,"function":"finishError","class":"GuzzleHttp\\Handler\\CurlFactory","type":
"::"},{"file":"/var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/Handler/CurlHandler.php","line":47,"function":"finish","class":"GuzzleHttp\\Handler\\CurlFactory","type":"::"},{"file":"/var/www/nextcloud/lib/private/Http/Client/DnsPinMiddleware.php","line":151,"function":"__invoke","
class":"GuzzleHttp\\Handler\\CurlHandler","type":"->"},{"file":"/var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php","
line":35,"function":"OC\\Http\\Client\\{closure}","class":"OC\\Http\\Client\\DnsPinMiddleware","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":31,"function":"__invoke","class":"GuzzleHttp\
\PrepareBodyMiddleware","type":"->"},{"file":"/var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/RedirectMiddleware.php","line":71,"function":"
GuzzleHttp\\{closure}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":63,"function":"__invoke","class":"GuzzleHttp\\RedirectMiddleware","type":"->"},{"file":"/var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/HandlerStack.php","line":75,"function":"GuzzleHttp\\{closure}","class":"GuzzleHttp\\Midd
leware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/Client.php","
line":331,"function":"__invoke","class":"GuzzleHttp\\HandlerStack","type":"->"},{"file":"/var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/Client.php","line":168,"function":"transfer","class":"GuzzleHttp\\Client","type":"->"},{"file":"/var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src
/Client.php","line":187,"function":"requestAsync","class":"GuzzleHttp\\Client","type":"->"},{"file":"/var/www/nextcloud/lib/private/Http/Client/Client.php","line":218,"function":"request","class":"GuzzleHttp\\Client","type":"->"},{"file":"/var/www/nextcloud/apps/settings/lib/Controller/CheckSetupController.php","line":211,"function":"get","class":"OC\\Http\\Client\\Client","type":"->"},{"file":"/var/www/nextcloud/apps/settings/lib/Controller/CheckSetupController.php","line":193,"function":"isSiteReachable","class":"OCA\\Settings\\Controller\\CheckSetupController
","type":"->"},{"file":"/var/www/nextcloud/apps/settings/lib/Controller/CheckSetupController.php","line":871,"function":"hasInternetConnectivityProblems","class":"OCA\\Settings\\Controller\\CheckSetupController","type":"->"},{"file":"/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","line":225,"function":"check","class":"OCA\\Settings\\Controller\\CheckSetupController","type":"->"},{"file":"/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","line":133,"function":"executeController","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->"},{"file":"/var/www/nextcloud/lib/private/AppFramework/App.php","line":172,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatch
er","type":"->"},{"file":"/var/www/nextcloud/lib/private/Route/Router.php","line":298,"function":"main","class":"OC\\AppFramework\\App","type"
:"::"},{"file":"/var/www/nextcloud/lib/base.php","line":1053,"function":"match","class":"OC\\Route\\Router","type":"->"},{"file":"/var/www/nextcloud/index.php","line":36,"function":"handleRequest","class":"OC","type":"::"}],"File":"/var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php","Line":210,"message":"Cannot connect to: www.nextcloud.com","exception":{},"CustomMessage":"Cannot connect to: www.nextcloud.com"}}
{"reqId":"WVpbekgt1EqmsEyaNvVM","level":2,"time":"2023-09-23T09:30:29+00:00","remoteAddr":"","user":"--","app":"news","method":"","url":"--","
message":"https://kulturkueche-karlsruhe.de/rss read error : internal server error","userAgent":"--","version":"25.0.12.0","data":{"app":"news
"}}

You need to ask the packager why files are missing.

btw. welcome back after 6 years :slight_smile:

I hit an at least very similar issue:

See also Maintenance releases for Hub 4, 5 and 6 - Nextcloud

It is just not mentioned there, if all composer.json files should be deleted (I have 597 in my nextcloud installation) or if only some (one?) of them are extra and the others are required.

Can anybody tell?

Only the files that the installer complains about and only the ones that are located in the root folder of your Nextcloud installation should and must be deleted.

1 Like

Many thanks, worked for me.

More information is in this bugreport: "Check for expected files failed" for upgrade from v25 or v26 · Issue #40456 · nextcloud/server · GitHub

1 Like

Hi Mark / @rakekniven ,

sorry that I did not notice your reply. I seem to misconfigure notification settings every time …

Well, the issue is still unsolved for me. That’s why I’m going to ask you for further information.

You say, that I have to ask my packager. I am willing to, but first of all I will try to understand the code signing beyond. Perhaps you can tell me, if I’m right or wrong.

There is exactly one file called “signature.json”. This file is placed in “nextcloud/core”, and it contains all of the file names with their path relative to “nextcloud” (our software root). Each single file has it’s integrity hash.

The integrity check routine checks each single file in our software root against the entries in signature.json and vice versa. So it will complain about incorrect hashes as well as about missing or additional files.

On my system, the check routine complains about four files missing. So I would expect one of two things to be true:

  1. There are entries in my “signature.json” concerning these four missing files.
  2. In a fresh downloaded archive of nextcloud-25.0.13 (from nextcloud.org) these four files are contained.

But, neither one nor the other applies.

Where am I going wrong?

Thank you very much for your help!