Problème de collecte sur Debian Stretch

Comportement attendu

Collecte automatique des documents via les konnectors sur une instance dédiée avec Debian Stretch. J’ai suivi le tuto d’autohébergement et j’ai bien installé le chroot avec /usr/share/cozy/konnector-create-chroot.sh.

Comportement constaté

Lors de l’ajout d’un connecteur, le bouton Se connecter me fait patienter pendant un certain temps avant de redevenir clicable, sans pour autant indiquer une erreur ou un succès. Si je reclique dessus, j’ai le message d’erreur Un problème semble s’être produit pendant la tentative de connexion à Ameli. Merci de réessayer ou de contacter le support sur notre forum.
L’arborescence des dossiers est bien créée dans le Drive, mais il n’y a aucun document récupéré à l’intérieur.
Le comportement est le même pour tous les connecteurs que j’ai pu essayer (Ameli, Free, FreeMobile, Trainline, CA).

Mon problème ressemble donc à Collect sur Raspbian Stretch, mais pour éviter de polluer ce sujet avec mes problèmes, j’en recrée un.

Voilà les logs de /var/log/cozy/stack.debug.log quand j’essaye d’ajouter le connecteur ameli avec mon instance en mode debug (en espérant que j’ai bien viré toutes les infos sensibles :wink: ):

Première tentative d’ajout du connecteur

https://framabin.org/?2f648aba523c997d#IwMa45iNAaIDBXjp7+LGwiLejiFVAvxVfdf1qTVsgpA=

Nouveau clic sur Se connecter

https://framabin.org/?505acbc4f02e40e8#ybODPVco3D4Ajr2FEh7LOH/xSkGiCU0+wp1bWYjfKP4=

Je n’ai rien vu de particulier dans ces logs, si ce n’est la boucle infine de requêtes/réponses.

Configuration

Serveur : dédié Kimsufi sous Debian Stretch avec les paquets suivants :

ii  cozy                            2017M4S6-1                     all          Cozy: Simple, Versatile, Yours
ii  cozy-coclyco                    0.1.0-1                        all          Cozy: Simple, Versatile, Yours
ii  cozy-couchdb                    2.1.0-1                        amd64        RESTful document oriented database
ii  cozy-nsjail                     1.8-1                          amd64        A light-weight process isolation tool, making use of Linux namespaces
ii  cozy-stack                      2017M4S6-1                     amd64        Cozy: Simple, Versatile, Yours

Navigateur : Firefox 57.0.4 (64 bits) sous Ubuntu 17.10

Hello @dohseven,

Ça ressemble à un souci de lancement du code du connecteur dans sa prison. Malheureusement, je ne sais pas du tout comment c’est censé fonctionner en auto-hébergement. J’invoque @aeris :wink:

Hello @Clochix,

Merci pour la réponse. Du coup j’ai regardé du côté du chroot (même si je découvre complètement ce truc), et je vois dans /usr/share/cozy/chroot/debootstrap/debootstrap.log :

gpgv: Signature made Sat Dec  9 09:17:43 2017 UTC
gpgv:                using RSA key A1BD8E9D78F7FE5C3E65D8AF8B48AD6246925553
gpgv: Good signature from "Debian Archive Automatic Signing Key (7.0/wheezy) <ftpmaster@debian.org>"
gpgv: Signature made Sat Dec  9 09:17:43 2017 UTC
gpgv:                using RSA key 126C0D24BD8A2942CC7DF8AC7638D0442B90D010
gpgv: Good signature from "Debian Archive Automatic Signing Key (8/jessie) <ftpmaster@debian.org>"
gpgv: Signature made Sat Dec  9 09:21:06 2017 UTC
gpgv:                using RSA key 067E3C456BAE240ACEE88F6FEF0F382A1A7B6500
gpgv: Good signature from "Debian Stable Release Key (9/stretch) <debian-release@lists.debian.org>"
tar: ./lib/x86_64-linux-gnu/libacl.so.1.1.0: Cannot open: File exists
tar: ./usr/share/doc/libacl1/changelog.Debian.amd64.gz: Cannot open: File exists
tar: ./usr/share/doc/libacl1/changelog.Debian.gz: Cannot open: File exists
tar: ./usr/share/doc/libacl1/changelog.gz: Cannot open: File exists
tar: ./usr/share/doc/libacl1/copyright: Cannot open: File exists
tar: ./lib/x86_64-linux-gnu/libacl.so.1: Cannot create symlink to ‘libacl.so.1.1.0’: File exists
tar: Exiting with failure status due to previous errors

Et si je regarde dans /usr/share/cozy/chroot/lib/x86_64-linux-gnu/ :

ll /usr/share/cozy/chroot/lib/x86_64-linux-gnu/ | grep libacl 
lrwxrwxrwx 1 root root   15 Feb  6  2016 libacl.so.1 -> libacl.so.1.1.0
-rw-r--r-- 1 root root  35K Feb  6  2016 libacl.so.1.1.0

Il semblerait donc que le script de chroot ne se soit pas correctement terminé. Ça peut peut-être aider @aeris (ou alors ça n’a rien à voir :stuck_out_tongue_winking_eye:) ?

J’ai tenté un truc un peu bourrin en supprimant complètement le dossier /usr/share/cozy/chroot/ et en relançant le script, maintenant je n’ai plus d’erreur dans debootstrap/debootstrap.log (ce fichier n’existe même pas d’ailleurs).

Par contre je suis toujours confronté au même problème avec mes connecteurs…

En fouillant un peu je vois un script /usr/share/cozy/konnector-nsjail-run.sh qui semble lancer un nsjail. Or je ne vois pas ce nsjail dans mes process actifs, on dirait donc qu’il n’est pas lancé : se pourrait-il que ce soit le problème ?

J’ai essayé de lancer ce script, mais il demande un chemin en paramètre, je ne sais absolument pas quoi lui donner…

nsjail est un outil pour isoler un processus. Nous l’utilisons pour exécuter les connecteurs en les isolant du reste du système, pour qu’un connecteur frauduleux ne puisse pas accéder à tes données.

Essaies de relancer un connecteur et de voir si le script de lancement de nsjail est bien lancé…

Comment je pourrais relancer un connecteur ? Si je le fais par Cozy Collect, j’ai une erreur directement, et si je passe par cozy-stack, ça n’est pas beaucoup mieux :

cozy-stack konnectors ls --domain mon.cozy.chez.moi
Password:**************
ameli  git://github.com/briced/cozy-konnector-v3-ameli.git#build  1.0.0-3b3376c21fe21fcc4754b2e822296b86c7271234  ready
cozy-stack konnectors run ameli --domain mon.cozy.chez.moi
Password:**************
Error: Could not find a konnector "ameli": it may be installed but it is not activated (no related trigger)

Et comment je pourrais voir si le script de lancement de nsjail est bien lancé ? Simplement avec un ps aux ou c’est plus sioux ?

Merci d’essayer de m’aider à résoudre mon problème en tout cas :slight_smile:

:frowning: Il manque le déclencheur (trigger) pour le connecteur. Les triggers sont les machins qui déclenchent périodiquement l’exécution du connecteur. Avec la version actuelle de Collect, un trigger n’est créé que si le connecteur s’est exécuté correctement une fois. Or comme ton connecteur n’a pas fonctionné, il n’a pas de trigger et cozy-stack konnectors run ne fonctionnera pas.
Pour créer le trigger, tu peux essayer cozy-stack fixer accounts-orphans mon.cozy.chez.moi, mais je ne suis pas certain que cette commande soit disponible dans la version de cozy-stack dont tu disposes.
Il y a moyen de créer le trigger à la main en base, mais ça n’est pas trivial.

La commande est dispo, mais elle n’a pas l’air d’estimer qu’il y a besoin de faire quelque chose :frowning:

cozy-stack fixer accounts-orphans mon.cozy.chez.moi
Password:*************
Nothing to do

Flûte :frowning:
Tu peux essayer via l’interface de Collect de supprimer ton compte Ameli, de le ré-créer, et de voir si tu as davantage de logs…

J’ai réessayé, mais je retombe sur les mêmes logs que dans mon premier message : une requête/réponse qui tourne en boucle toutes les secondes…

Jan 22 21:32:19 ns371506 cozy[25592]: time="2018-01-22T21:32:19Z" level=debug msg="request: GET mon-cozy-chez-moi%2Fio-cozy-sessions/e0fa5d21560802d3b619aaa49403a827 " domain=mon.cozy.chez.moi
Jan 22 21:32:19 ns371506 cozy[25592]: time="2018-01-22T21:32:19Z" level=debug msg="response: {\"_id\":\"e0fa5d21560802d3b619aaa49403a827\",\"_rev\":\"3-950aa311e5e27672e9f6e6c2554d619e\",\"last_seen\":\"2018-01-20T11:43:15.653558343Z\"}" domain=mon.cozy.chez.moi

D’autres idées pour essayer de cerner le problème ?

Non, personne ? :cry: La fonction de collecte est vraiment le truc en plus qui m’a attiré dans Cozy, du coup ça m’ennuie de ne pas réussir à la faire fonctionner correctement…

Hello @dohseven,

Je suis réellement navré, mais comme tu le sais, nous avons annoncé officiellement la disponibilité de Cozy cette semaine. Depuis, nous sommes littéralement submergé·e·s sous des centaines de demandes d’aide, et je ne vais pas avoir de temps pour t’aider, d’autant que je ne connais pas du tout cette partie :frowning: Je n’ai aucune idée de comment vérifier que l’infrastructure pour faire tourner les connecteurs a été correctement installée et configurée.

Hello @Clochix,

A vrai dire j’avais raté l’annonce de l’officialisation de Cozy, et je comprends bien que ces premiers temps doivent être un peu chaotiques. Pour mon problème je crois que je vais tout simplement attendre la mise à jour des paquets Debian pour essayer de relancer la collecte automatique.

Merci en tout cas d’avoir suivi ce thread et proposé des idées, et bon courage pour les débuts officiels de Cozy !

1 Like

Bonjour,

Problème strictement identique pour moi. Des nouvelles à ce sujet?

Bonjour,

Même problème de mon côté aussi sur Debian stretch dedibox avec cozy 2018M1S2-1.

Voici les logs que j’ai côté navigateur (chrome) quand je lance la première création d’un compte :

app.ea96f298d4aaa823487b.min.js:66701  action CREATE_DOCUMENT @ 22:37:05.028
app.ea96f298d4aaa823487b.min.js:66701  action RECEIVE_NEW_DOCUMENT @ 22:37:05.200
app.ea96f298d4aaa823487b.min.js:66701  action RECEIVE_NEW_DOCUMENT @ 22:37:05.891

Et côté nginx
==> cozy.mondomain.com.error.log <==

2018/02/04 22:37:04 [error] 7490#7490: *3 connect() failed (111: Connection refused) while connecting to upstream, client: 1:2:3:4:, server: *.cozy.mondomain.com, request: "GET /files/io.cozy.files.root-dir HTTP/2.0", upstream: "http://[::1]:8080/files/io.cozy.files.root-dir", host: "cozy.mondomain.com", referrer: "https://collect.cozy.mondomain.com/"

==> cozy.mondomain.com.log <==
> 1:2:3:4: - - [04/Feb/2018:22:37:04 +0100] “GET /files/io.cozy.files.root-dir HTTP/2.0” 200 1882 “https://collect.cozy.mondomain.com/” “Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36”
> 1:2:3:4: - - [04/Feb/2018:22:37:04 +0100] “GET /files/metadata?Path=%2FAdministrative HTTP/2.0” 200 2119 “https://collect.cozy.mondomain.com/” “Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36”
> 1:2:3:4: - - [04/Feb/2018:22:37:04 +0100] “GET /files/metadata?Path=%2FAdministrative%2FAmeli HTTP/2.0” 200 2170 “https://collect.cozy.mondomain.com/” “Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36”
> 1:2:3:4: - - [04/Feb/2018:22:37:05 +0100] “GET /files/metadata?Path=%2FAdministrative%2FAmeli%2F1771295491025 HTTP/2.0” 200 1181 “https://collect.cozy.mondomain.com/” “Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36”
> 1:2:3:4: - - [04/Feb/2018:22:37:05 +0100] “POST /data/io.cozy.accounts/ HTTP/2.0” 201 783 “https://collect.cozy.mondomain.com/” “Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36”
> 1:2:3:4: - - [04/Feb/2018:22:37:05 +0100] “POST /data/io.cozy.konnectors/_index HTTP/2.0” 200 459 “https://collect.cozy.mondomain.com/” “Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36”
> 1:2:3:4: - - [04/Feb/2018:22:37:05 +0100] “POST /data/io.cozy.konnectors/_find HTTP/2.0” 200 369 “https://collect.cozy.mondomain.com/” “Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36”
> 1:2:3:4: - - [04/Feb/2018:22:37:05 +0100] “POST /konnectors/ameli?Source=git%3A%2F%2Fgithub.com%2Fbriced%2Fcozy-konnector-v3-ameli.git%23build HTTP/2.0” 202 1738 “https://collect.cozy.mondomain.com/” “Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36”
> 1:2:3:4: - - [04/Feb/2018:22:37:06 +0100] “GET /data/io.cozy.konnectors/io.cozy.konnectors%2Fameli HTTP/2.0” 404 319 “https://collect.cozy.mondomain.com/” “Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36”

La dernière ligne de log part en boucle.
Le deuxième clic ou une nouvelle tentative de création plante différemment mais je ne pense pas que ça soit intéressant.

pour info c’est comme si l’installation se termine mal quelque part, la méthode “show” ne fonctionne pas

cozy-stack konnectors show ameli
Error: Not Found: Application is not installed

Alors que quand je le supprime ça fonctionne (et ça me permet de reproduire le même problème) :

cozy-stack konnectors uninstall ameli

J’ai le même problème avec orange et ameli.

J’ai essayé de regarder du côté de nsjail mais là ça devient un peu obscur.
En tout cas s’il doit faire partie de la chaine d’actions, le script konnector-nsjail-run.sh n’est pas lancé (j’ai rajouté un log dans un fichier pour tracer s’il faisait parti de la chaine).

Bonjour @lunanova,

Bienvenue à bord :slight_smile:

:frowning: Oui, c’est le script qui lance l’exécution du connecteur dans un bac à sable. C’est malheureusement une partie du code que je ne connais pas du tout. Je vais essayer de demander à @aeris s’il a des idées, mais je crois qu’il sèche aussi.

Merci à @aeris d’avoir trouvé la solution ! :tada:

Il suffit de modifier la configuration du virtual host dans nginx pour retirer un slash superflu :

proxy_pass http://localhost:8080/;

doit être remplacé par :

proxy_pass http://localhost:8080;

J’imagine que la modification sera intégrée dans cozy-coclyco dans le futur, mais en le modifiant manuellement ça a fonctionné pour moi !

1 Like

Merci @aeris pour cette recherche et @dohseven pour partager l’info !
Je confirme c’est le genre de petit détail qui peut pourrir une journée ou plus …
Donc super, ça se connecte : testé sur orange et ameli, il me reste à creuser pourquoi ça ne ramène pas de fichier.