Nextcloud stopped, need error-line-translation

My Nextcloud 19 stopped working without anything done from my side since the update 2 month ago. The Server itself is working.

I created a new log-file and made an access, the resulting log consists of one line with 3600 characters and the most used word is “Memcache”. That indicates anything is wrong with redis, but systemctl status redis shows “success” and “running”.

sudo -u www-data php /var/www/nextcloud/occ maintenance:repair

went fine.

I uploaded the error-line-file to my server: (Link removed)

Can someone translate this and perhaps give an advice?

Spielmops

Out of your error:
“Is the matching PHP module installed and enabled?”
Probably not.

Message":“Memcache \OC\Memcache\Redis not available for local cache”

As @peteman52 has already recommended, make sure that the php-redis module has been installed and configured and that the Redis server is correctly runnung and accesible.

What would happen, if the php-redis-module is not installed? Would the nextcloud run?

Spielmops

No, not if you’ve configured Nextcloud to use Redis as its memory cache.

If someone tells me this, I would assume, that everything is correctly installed. And here the output of apt:

php-redis ist schon die neueste Version (5.3.2+4.3.0-7+0~20210228.34+debian9~1.gbp893bd4)

Spielmops

Edit:

I found the command occ log:watch and made one single call of my nextcloud. I think, it’s the same error-output, but better readable:

(Link removed)

Look also here for redis configuration:
Memory caching — Nextcloud latest Administration Manual latest documentation

Check “redis-server” is working. For small installations you do not need Redis. Perhaps you can deactivate it and use other performance optimisations.

My Nextcloud 19 stopped working without anything done from my side since the update 2 month ago. The Server itself is working.

systemctl status redis shows “success” and “running”.

Spielmops

Yes. Perhaps. But perhaps not.

ps ax | grep redis

 ps ax | grep redis
 1939 ?        Ssl    0:50 /usr/bin/redis-server 127.0.0.1:0
 8200 pts/1    S+     0:00 grep redis

Spielmops

Sieht irgendwie komisch aus. Hätte den Port 6379 erwartet. “0” erscheint mir falsch.

ps ax | grep redis
22203 ? Ssl    0:00 /usr/bin/redis-server 127.0.0.1:6379

Quelle: Memory caching — Nextcloud latest Administration Manual latest documentation

Kontrolliere mal:

'memcache.distributed' => '\OC\Memcache\Redis',
'redis' => [
     'host' => 'redis-host.example.com',
     'port' => 6379,
],

netstat -an |grep 6379

'redis' => 
  array (
    'host' => '/var/run/redis/redis.sock',
    'port' => 0,

'memcache.locking' => '\\OC\\Memcache\\Redis'

netstat -an |grep 6379 ergibt keine Ausgabe

Ich vermute eine Rechte-Fehler in einer Datei. Gab’s da nicht mal einen Befehl zum Überprüfen aller Dateirechte?

Spielmops

I see something strange:
within the documentation, the lines in config.php regarding Redis are shown this way:
‘memcache.local’ => ‘\OC\Memcache\APCu’,
‘memcache.distributed’ => ‘\OC\Memcache\Redis’

In my config.php they lines look thios way:
‘memcache.local’ => ‘\\OC\\Memcache\\Redis’,
‘memcache.locking’ => ‘\\OC\\Memcache\\Redis’

The difference ist the double backslash. Is this important?

Spielmops

I changed this and no difference …

My nextcloud was updated 34 days before now. I checked for changed file within the nextcloud: 1 - config.php and that was me yesterday. Everything else has not changed since the upgrade. I suspected a write_to_file_no-right_error.

What could make the running nextcloud change? Anything in ncdata: Here is the list of the last changed files:
/media/DATA-SERVER/ncdata# find -mtime -2
.
./nextcloud.log
./appdata_ociau2k169hp/css/core
./appdata_ociau2k169hp/css/files_sharing
./appdata_ociau2k169hp/css/files
./appdata_ociau2k169hp/css/notifications
./appdata_ociau2k169hp/css/activity
./appdata_ociau2k169hp/css/contacts
./appdata_ociau2k169hp/css/theming
./appdata_ociau2k169hp/css/text
./appdata_ociau2k169hp/css/icons
./appdata_ociau2k169hp/css/settings
./appdata_ociau2k169hp/js/core
./appdata_ociau2k169hp/js/files
./appdata_ociau2k169hp/js/activity
./appdata_ociau2k169hp/appstore/apps.json
./appdata_ociau2k169hp/text/documents
./nextcloud.log.alt
./hartmut/files/Osmand-Favoriten
./hartmut/files/Osmand-Favoriten/Ol-Amerika_1614629483860.gpx

This last line is last file-action that I remember.

And the database? Here is the list of changed database-files:
/media/Datenbanken# find -mtime -2
./ncdatabase
./ncdatabase/aria_log_control
./ncdatabase/nextcloud/oc_filecache.ibd
./ncdatabase/nextcloud/oc_preview_generation.ibd
./ncdatabase/nextcloud/oc_notifications.ibd
./ncdatabase/nextcloud/oc_calendar_reminders.ibd
./ncdatabase/nextcloud/oc_activity.ibd
./ncdatabase/nextcloud/oc_filecache_extended.ibd
./ncdatabase/nextcloud/oc_appconfig.ibd
./ncdatabase/nextcloud/oc_jobs.ibd
./ncdatabase/nextcloud/oc_text_sessions.ibd
./ncdatabase/nextcloud/oc_text_documents.ibd
./ncdatabase/nextcloud/oc_preferences.ibd
./ncdatabase/nextcloud/oc_authtoken.ibd
./ncdatabase/ibdata1
./ncdatabase/aria_log.00000001
./ncdatabase/mysql/innodb_table_stats.ibd
./ncdatabase/mysql/innodb_index_stats.ibd
./ncdatabase/tc.log
./ncdatabase/ib_logfile0

Spielmops

One more info: space of disk: df
Dateisystem 1K-Blöcke Benutzt Verfügbar Verw% Eingehängt auf
udev 953884 0 953884 0% /dev
tmpfs 204488 8484 196004 5% /run
/dev/mmcblk1p1 9479416 1963560 7396976 21% /
tmpfs 1022424 0 1022424 0% /dev/shm
tmpfs 5120 4 5116 1% /run/lock
tmpfs 1022424 0 1022424 0% /sys/fs/cgroup
tmpfs 1022424 16 1022408 1% /tmp
/dev/zram0 49584 11432 34568 25% /var/log
/dev/mmcblk1p3 19016572 239788 17787756 2% /media/Datenbanken
/dev/sda1 492127584 116888732 350217140 26% /media/DATA-SERVER
tmpfs 204484 0 204484 0% /run/user/0

While searching for a solution I found this line for testing the redis-server:
sudo -u www-data redis-cli -s /run/redis/redis-server.sock ping

the answer should be : Pong

but is: (error) NOAUTH Authentication required.

Is this part of the problem?

Spielmops

Edit: no, Redis is running. password is in config.php

Further exploration:

If Redis-server ist used as an own server on the machine, then the module php-redis should be installed. On my machine the module is installed but php-info does not list this module. How can I get Nextcloud-php to use this module?

Spielmops

Ok, no help, I close this thread.

Now the solution:

that is an php-version-error. Some php-packages are version 7.1, a few 7.2, most are 7.3 (the version I used) and also some are from 7.4 and 8.0. The package php-redis working was version 8.0 …

One great bad mix!

And worse: I had a backport-repository in sources-list, that was for some time a workaround for php-redis. That package was deleted for security-reasons. So backport could be deleted. But most of the php7.3-modules was from backport and marked “manually installed”.

The only solution was: remove every php-module and reinstall all needed modules from version 7.3 anew. If you do that, first make a list of the installed 7.3-modules to keep track.

If all are installed, restart apache-fpm and apache (or nginx). In my case, I had to replay a nextcloud-backup from the day before the failure. Everything worked and was back.

Spielmops

1 Like