Nextcloud et erreurs incompréhensibles

Top Page

Reply to this message
Author: Patrice Karatchentzeff
Date:  
To: GUILDE
Subject: Nextcloud et erreurs incompréhensibles
Salut,

J'ai un serveur avec une instance Nextcloud (14.0.6 donc à jour prod)
installé (normalement) aux petits oignons :

- Debian stable
- nginx, PHP 7 (fpm), Mariadb, redis, fail2ban

(Je me suis inspiré de cette page pour l'installation
https://howto.wared.fr/ubuntu-installation-nextcloud-nginx/ )

Validé tous les tests (externes) et internes (nextcloud) : tout bon :)

Le client est celui de nextcloud ( 2.5.1-20181204.111806~bionic1) sur
des Linux Mint

Première syncro (lente due à une ligne lente... merci la fracture)
mais ça fonctionne. Sur trois comptes et trois dépos différents.
Utilisation au quotidienne OK.

Puis sont apparues des erreurs sur le premier compte suite à une
mauvaise manip de ma part. J'ai laissé tomber et j'ai resynchronisé
tout le dépôt.

Problème : à nouveau les mêmes erreurs, sans manip particulières que
d'ajouter des fichiers, sur le second compte.

J'ai ouvert un bogue sur nextcloud mais ça n'avance pas :-(

L'erreur semble classique, mais toutes les solutions qui sont
proposées ont été vérifiées et appliquées sur ma machine sans la
résoudre.

J'ai un problème grosso de timeout dans ma connexion. Au bout d'un
certain temps, le fichier (certain uniquement) n'est pas uploadé. Le
message d'erreur varie en fonction des circonstances :

Sur le serveur, côté nextcloud/PHP, j'ai

Sabre\DAV\Exception\BadRequest: expected filesize 355802 got 8192
/var/www/nextcloud/apps/dav/lib/Connector/Sabre/Directory.php - line 156:
OCA\DAV\Connector\Sabre\File->put(null)
/var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php - line 1096:
OCA\DAV\Connector\Sabre\Directory->createFile("fattoincasa ... f", null)
/var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php - line 529:
Sabre\DAV\Server->createFile("files/ck/Pe ... f", null, null)
Sabre\DAV\CorePlugin->httpPut(Sabre\HTTP\R ... "}, Sabre\HTTP\Response {})
/var/www/nextcloud/3rdparty/sabre/event/lib/EventEmitterTrait.php - line 105:
call_user_func_array([ Sabre\DAV\ ... "], [ Sabre\HTTP ... }])
/var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php - line 479:
Sabre\Event\EventEmitter->emit("method:PUT", [ Sabre\HTTP ... }])
/var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php - line 254:
Sabre\DAV\Server->invokeMethod(Sabre\HTTP\R ... "}, Sabre\HTTP\Response {})
/var/www/nextcloud/apps/dav/lib/Server.php - line 293:Sabre\DAV\Server->exec()
/var/www/nextcloud/apps/dav/appinfo/v2/remote.php - line
35:OCA\DAV\Server->exec()
/var/www/nextcloud/remote.php - line 163:require_once("/var/www/ne ... p")

(en gros, il attend un fichier de la taille de 355802 et n'a que 8192
donc il gueule (à raison)).

Côté client, c'est très drôle : ça lève une exception du genre «
erreur inconnue » (moi, j'aurai mis : erreur inconnue que je ne
connais et démerde-toi pour la trouver, petit con d'admin).

[OCC::AccessManager::createRequest     6 "PROPFIND"
"https://monserveur.eu/remote.php/dav/files/ck/" has X-Request-ID
"72655e72-d9c2-4235-997f-f79df080b969"
[OCC::AbstractNetworkJob::start     OCC::PropfindJob created for
"https://monserveur.eu" + "/" "OCC::QuotaInfo"
[OCC::WebFlowCredentials::slotFinished     request finished
[OCC::WebFlowCredentials::stillValid     Still valid?
[OCC::WebFlowCredentials::stillValid     QNetworkReply::NetworkError(NoError)
[OCC::WebFlowCredentials::stillValid     "Erreur inconnue"


J'ai élargi tout ce que je pouvais faire sans être ridicule : tous les
timeout de PHP, nging et tailles de fichiers (512 Mo) et packet
(ullimited), etc. La durée de vie des trheads PHP aussi.

Il reste quelque part quelque chose qui coupe la connexion (SSL) entre
le serveur et le client. J'intuite que cela vient du client, mais je
n'ai pas de preuve ( et dépiler le client me parait peu réalisable).

Les erreurs renvoyées côté client sont au choix et selon l'âge du capitaine :

- HEADERS on invalid stream
- server replied : expected filesize 355802 got 8192
- server is unable to maintain header compression context for the connexion

À noter que je n'ai rien dans les logs côtés serveur (je retrouve le
message de nextcloud et une coupure de connexion SSL dans nginx :
c'est tout) :

2019/02/07 10:49:59 [error] 975#975: *4981 recv() failed (104:
Connection reset by peer) while reading response header from upstream,
client: MY.IP server: MONSERVEUR.eu, request: "GET
/apps/logreader/poll?lastReqId=zd7Kp0NdO7k5RN1eJwKp HTTP/2.0",
upstream: "fastcgi://unix:/var/run/nextcloud.sock:", host:
"MONSERVEUR.eu"

Bref, je me tire des balles et je sèche...

Si quelqu'un a une idée, je le bénirai !

Merci

PK

-- 
      |\      _,,,---,,_           Patrice KARATCHENTZEFF
ZZZzz /,`.-'`'    -.  ;-;;,_   mailto:patrice.karatchentzeff@gmail.com
     |,4-  ) )-,_. ,\ (  `'-'
    '---''(_/--'  `-'\_)