After migration to Nextcloud 24 some directories will not be shown in Browser

After migration to Nextcloud 24 (4 instances) are some directories are disappered in the Browser.
All 4 instances show this issue. One instance in the root directory, some others in subdirectories.
All affected directories have data >1GB in it.

Linux clients seems to work correct. All directories are seen and snchronisised.
On Winows clients users reports an error. I don’t know the exacte message.

php occ files:scan --all does’nt help.

Browser: Firefox https://xxx.de/index.php/apps/files/

Errormessage: Dieses Verzeichnis ist nicht verfügbar, bitte die Logdateien überprüfen oder den Administrator kontaktieren.

Log entries:

Fatal webdav Exception: Error 33 interacting with memcached : A BAD KEY WAS PROVIDED/CHARACTERS OUT OF RANGE

/var/www/CLOUD/xxx_CLOUD/lib/private/Memcache/Memcached.php - line 123:

OC\Memcache\Memcached->verifyReturnCode()

/var/www/CLOUD/xxx_CLOUD/lib/private/legacy/OC_Helper.php - line 599:

OC\Memcache\Memcached->set()

/var/www/CLOUD/xxx_CLOUD/apps/dav/lib/Connector/Sabre/Directory.php - line 341:

OC_Helper::getStorageInfo()

/var/www/CLOUD/xxx_CLOUD/3rdparty/sabre/dav/lib/DAV/CorePlugin.php - line 765:

OCA\DAV\Connector\Sabre\Directory->getQuotaInfo()

/var/www/CLOUD/xxx_CLOUD/3rdparty/sabre/dav/lib/DAV/PropFind.php - line 95:

Sabre\DAV\CorePlugin->Sabre\DAV\{closure}("*** sensiti ... *")

/var/www/CLOUD/xxx_CLOUD/3rdparty/sabre/dav/lib/DAV/CorePlugin.php - line 769:

Sabre\DAV\PropFind->handle()

/var/www/CLOUD/xxx_CLOUD/3rdparty/sabre/event/lib/WildcardEmitterTrait.php - line 89:

Sabre\DAV\CorePlugin->propFind()

/var/www/CLOUD/xxx_CLOUD/3rdparty/sabre/dav/lib/DAV/Server.php - line 1052:

Sabre\DAV\Server->emit()

/var/www/CLOUD/xxx_CLOUD/3rdparty/sabre/dav/lib/DAV/Server.php - line 984:

Sabre\DAV\Server->getPropertiesByNode()

/var/www/CLOUD/xxx_CLOUD/3rdparty/sabre/dav/lib/DAV/Server.php - line 1662:

Sabre\DAV\Server->getPropertiesIteratorForPath()

/var/www/CLOUD/xxx_CLOUD/3rdparty/sabre/dav/lib/DAV/Server.php - line 1647:

Sabre\DAV\Server->writeMultiStatus()

/var/www/CLOUD/xxx_CLOUD/3rdparty/sabre/dav/lib/DAV/CorePlugin.php - line 346:

Sabre\DAV\Server->generateMultiStatus()

/var/www/CLOUD/xxx_CLOUD/3rdparty/sabre/event/lib/WildcardEmitterTrait.php - line 89:

Sabre\DAV\CorePlugin->httpPropFind()

/var/www/CLOUD/xxx_CLOUD/3rdparty/sabre/dav/lib/DAV/Server.php - line 472:

Sabre\DAV\Server->emit()

/var/www/CLOUD/xxx_CLOUD/3rdparty/sabre/dav/lib/DAV/Server.php - line 253:

Sabre\DAV\Server->invokeMethod()

/var/www/CLOUD/xxx_CLOUD/3rdparty/sabre/dav/lib/DAV/Server.php - line 321:

Sabre\DAV\Server->start()

/var/www/CLOUD/xxx_CLOUD/apps/dav/lib/Server.php - line 352:

Sabre\DAV\Server->exec()

/var/www/CLOUD/xxx_CLOUD/apps/dav/appinfo/v2/remote.php - line 35:

OCA\DAV\Server->exec()

/var/www/CLOUD/xxx_CLOUD/remote.php - line 166:

require_once("/var/www/CL ... p")

Fehler PHP Error: disk_free_space(): No such file or directory at /var/www/CLOUD/xxx_CLOUD/lib/private/Files/Storage/Local.php#395

<<closure>>

OC\Log\ErrorHandler::onError()

/var/www/CLOUD/xxx_CLOUD/lib/private/Files/Storage/Local.php - line 395:

disk_free_space()

/var/www/CLOUD/xxx_CLOUD/lib/private/Files/Storage/Wrapper/Wrapper.php - line 334:

OC\Files\Storage\Local->free_space()

/var/www/CLOUD/xxx_CLOUD/lib/private/Files/Storage/Wrapper/Wrapper.php - line 334:

OC\Files\Storage\Wrapper\Wrapper->free_space()

/var/www/CLOUD/xxx_CLOUD/lib/private/Files/Storage/Wrapper/Jail.php - line 344:

OC\Files\Storage\Wrapper\Wrapper->free_space()

/var/www/CLOUD/xxx_CLOUD/lib/private/Files/Storage/Wrapper/Wrapper.php - line 334:

OC\Files\Storage\Wrapper\Jail->free_space()

/var/www/CLOUD/xxx_CLOUD/lib/private/legacy/OC_Helper.php - line 548:

OC\Files\Storage\Wrapper\Wrapper->free_space()

/var/www/CLOUD/xxx_CLOUD/apps/dav/lib/Connector/Sabre/Directory.php - line 341:

OC_Helper::getStorageInfo()

/var/www/CLOUD/xxx_CLOUD/3rdparty/sabre/dav/lib/DAV/CorePlugin.php - line 765:

OCA\DAV\Connector\Sabre\Directory->getQuotaInfo()

/var/www/CLOUD/xxx_CLOUD/3rdparty/sabre/dav/lib/DAV/PropFind.php - line 95:

Sabre\DAV\CorePlugin->Sabre\DAV\{closure}("*** sensiti ... *")

/var/www/CLOUD/xxx_CLOUD/3rdparty/sabre/dav/lib/DAV/CorePlugin.php - line 769:

Sabre\DAV\PropFind->handle()

/var/www/CLOUD/xxx_CLOUD/3rdparty/sabre/event/lib/WildcardEmitterTrait.php - line 89:

Sabre\DAV\CorePlugin->propFind()

/var/www/CLOUD/xxx_CLOUD/3rdparty/sabre/dav/lib/DAV/Server.php - line 1052:

Sabre\DAV\Server->emit()

/var/www/CLOUD/xxx_CLOUD/3rdparty/sabre/dav/lib/DAV/Server.php - line 984:

Sabre\DAV\Server->getPropertiesByNode()

/var/www/CLOUD/xxx_CLOUD/3rdparty/sabre/dav/lib/DAV/Server.php - line 1662:

Sabre\DAV\Server->getPropertiesIteratorForPath()

/var/www/CLOUD/xxx_CLOUD/3rdparty/sabre/dav/lib/DAV/Server.php - line 1647:

Sabre\DAV\Server->writeMultiStatus()

/var/www/CLOUD/xxx_CLOUD/3rdparty/sabre/dav/lib/DAV/CorePlugin.php - line 346:

Sabre\DAV\Server->generateMultiStatus()

/var/www/CLOUD/xxx_CLOUD/3rdparty/sabre/event/lib/WildcardEmitterTrait.php - line 89:

Sabre\DAV\CorePlugin->httpPropFind()

/var/www/CLOUD/xxx_CLOUD/3rdparty/sabre/dav/lib/DAV/Server.php - line 472:

Sabre\DAV\Server->emit()

/var/www/CLOUD/xxx_CLOUD/3rdparty/sabre/dav/lib/DAV/Server.php - line 253:

Sabre\DAV\Server->invokeMethod()

/var/www/CLOUD/xxx_CLOUD/3rdparty/sabre/dav/lib/DAV/Server.php - line 321:

Sabre\DAV\Server->start()

/var/www/CLOUD/xxx_CLOUD/apps/dav/lib/Server.php - line 352:

Sabre\DAV\Server->exec()

/var/www/CLOUD/xxx_CLOUD/apps/dav/appinfo/v2/remote.php - line 35:

OCA\DAV\Server->exec()

/var/www/CLOUD/xxx_CLOUD/remote.php - line 166:

require_once("/var/www/CL ... p")

Fehler no app in context OCP\Files\NotFoundException: File with id “34370” has not been found.

/var/www/CLOUD/xxx_CLOUD/apps/activity/lib/FilesHooks.php - line 703:

OC\Files\View->getPath()

/var/www/CLOUD/xxx_CLOUD/apps/activity/lib/FilesHooks.php - line 224:

OCA\Activity\FilesHooks->getSourcePathAndOwner()

/var/www/CLOUD/xxx_CLOUD/apps/activity/lib/FilesHooks.php - line 160:

OCA\Activity\FilesHooks->addNotificationsForFileAction()

/var/www/CLOUD/xxx_CLOUD/apps/activity/lib/FilesHooksStatic.php - line 47:

OCA\Activity\FilesHooks->fileCreate()

/var/www/CLOUD/xxx_CLOUD/lib/private/legacy/OC_Hook.php - line 106:

OCA\Activity\FilesHooksStatic::fileCreate()

/var/www/CLOUD/xxx_CLOUD/lib/private/Files/View.php - line 1290:

OC_Hook::emit()

/var/www/CLOUD/xxx_CLOUD/lib/private/Files/View.php - line 1218:

OC\Files\View->runHooks()

/var/www/CLOUD/xxx_CLOUD/lib/private/Files/View.php - line 276:

OC\Files\View->basicOperation()

/var/www/CLOUD/xxx_CLOUD/apps/dav/lib/Connector/Sabre/Directory.php - line 197:

OC\Files\View->mkdir()

/var/www/CLOUD/xxx_CLOUD/3rdparty/sabre/dav/lib/DAV/Server.php - line 1210:

OCA\DAV\Connector\Sabre\Directory->createDirectory()

/var/www/CLOUD/xxx_CLOUD/3rdparty/sabre/dav/lib/DAV/CorePlugin.php - line 560:

Sabre\DAV\Server->createCollection()

/var/www/CLOUD/xxx_CLOUD/3rdparty/sabre/event/lib/WildcardEmitterTrait.php - line 89:

Sabre\DAV\CorePlugin->httpMkcol()

/var/www/CLOUD/xxx_CLOUD/3rdparty/sabre/dav/lib/DAV/Server.php - line 472:

Sabre\DAV\Server->emit()

/var/www/CLOUD/xxx_CLOUD/3rdparty/sabre/dav/lib/DAV/Server.php - line 253:

Sabre\DAV\Server->invokeMethod()

/var/www/CLOUD/xxx_CLOUD/3rdparty/sabre/dav/lib/DAV/Server.php - line 321:

Sabre\DAV\Server->start()

/var/www/CLOUD/xxx_CLOUD/apps/dav/lib/Server.php - line 352:

Sabre\DAV\Server->exec()

/var/www/CLOUD/xxx_CLOUD/apps/dav/appinfo/v2/remote.php - line 35:

OCA\DAV\Server->exec()

/var/www/CLOUD/xxx_CLOUD/remote.php - line 166:

require_once("/var/www/CL ... p")

=======

Environment: Debian Buster, PHP8.1, MariaDb

PHP.ini Changes:

  • memory_limit = 512M
    added:
    ; Local Variables:
    opcache.enable=1
    opcache.enable_cli=1
    opcache.interned_strings_buffer=32
    opcache.max_accelerated_files=20000
    opcache.memory_consumption=512
    opcache.save_comments=1
    opcache.revalidate_freq=1

Nextcloudconfig.php:

<?php $CONFIG = array ( 'passwordsalt' => 'xxx', 'secret' => 'xxx', 'trusted_domains' => array ( 0 => 'xxx.de', ), 'trusted_proxies' => array ( 0 => 'xxx.de', ), 'overwritehost' => 'xxx.de', 'overwriteprotocol' => 'https', 'overwritecondaddr' => '^cati-cloud.xpile.de$', 'datadirectory' => '/data/CLOUD/xxx_CLOUD', 'overwrite.cli.url' => 'http://xxx.de', 'dbtype' => 'mysql', 'version' => '24.0.0.12', 'dbname' => 'cati_cloud', 'dbhost' => 'localhost', 'dbport' => '', 'dbtableprefix' => 'oc_', 'dbuser' => 'oc_xxx_xxx', 'dbpassword' => 'xxx', 'logtimezone' => 'UTC', 'installed' => true, 'instanceid' => 'ocq47wwv7tgp', 'filelocking.enabled' => true, 'memcache.local' => '\\OC\\Memcache\\Memcached', 'memcache.distributed' => '\\OC\\Memcache\\Memcached', 'memcached_servers' => array ( 0 => array ( 0 => 'localhost', 1 => 11211, ), ), 'memcache.locking' => '\\OC\\Memcache\\Redis', 'redis' => array ( 'host' => 'localhost', 'port' => 6379, 'timeout' => 0, 'password' => '', ), 'maintenance' => false, 'theme' => '', 'loglevel' => 2, 'mail_from_address' => 'xxx-cloud', 'mail_smtpmode' => 'smtp', 'mail_domain' => 'xxx.de', 'mail_smtphost' => 'localhost', 'mysql.utf8mb4' => true, 'updater.release.channel' => 'stable', 'default_phone_region' => 'ISO 3166-2:DE', 'mail_sendmailmode' => 'smtp', 'data-fingerprint' => 'xxxx', );

Bug Report this to Nextcloud server github

Had the same issue on 24.0.1, I replaced Memcached with APCu as local memcache in config.php and now web frontend works again.

Hello! Faced the same problem. Can you tell us more about how you fixed this problem?

1 Like

This workaround is only tested on Ubuntu 20.04 where Memcached is set as local memcache.

In your Nextcloud config.php file change the line reading
'memcache.local' => '\OC\Memcache\Memcached',
to
'memcache.local' => '\OC\Memcache\APCu',
and be sure to remove the lines containing the Memcached address array, in my case they looked like this:

'memcached_servers' => 
  array (
    0 => 
    array (
      0 => 'localhost',
      1 => 11211,
    ),
  ),

Also, make sure php-apcu is installed. Finally restart web server.
Relevant docs:
https://docs.nextcloud.com/server/stable/admin_manual/configuration_server/caching_configuration.html

1 Like

Hi everyone,

I changed config.php to:


‘filelocking.enabled’ => true,
‘memcache.distributed’ => ‘\OC\Memcache\Redis’,
‘memcache.locking’ => ‘\OC\Memcache\Redis’,
‘memcache.local’ => ‘\OC\Memcache\APCu’,
‘redis’ =>
array (
‘host’ => ‘localhost’,
‘port’ => 6379,
‘timeout’ => 0,
‘password’ => ‘’,
),

It works fo me in all NectCloud - instances on my server.

Thanks a lot

1 Like

This also fixed it for me. Did anyone put in an issue for this on Github?

EDIT: Maybe it’s this: [Bug]: Directory not available / Error loading data · Issue #32541 · nextcloud/server · GitHub

1 Like