konnectors / fortuneo

Imports your Fortuneo bank accounts and transactions into your cozy cloud
GNU Affero General Public License v3.0
0 stars 0 forks source link

Aucune opération importée #99

Open ArchangeGabriel opened 4 years ago

ArchangeGabriel commented 4 years ago

Bonjour à tous,

Je m’aperçois que depuis très longtemps, le konnector n’importe plus rien. Pas d’erreur affichée dans l’interface web (il dit que tout va bien), mais ceci dans les logs:

time="2020-08-11T09:31:46+02:00" level=error msg="Stderr: (node:166914) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.\n" domain=cozy.domain.tld job_id=9dae7d616354bbebb28680b16602adc6 nspace=jobs slug=fortuneo worker_id=konnector/8
time="2020-08-11T09:36:24+02:00" level=error msg="PrepareWorkDir: jobs: abort" domain=cozy.domain.tld job_id=9dae7d616354bbebb28680b16602e4d7 nspace=jobs slug=fortuneo worker_id=konnector/9
time="2020-08-11T09:38:12+02:00" level=warning msg="Failed to create global model:" domain=cozy.domain.tld job_id=9dae7d616354bbebb28680b1660341d9 nspace=jobs slug=fortuneo worker_id=konnector/11
time="2020-08-11T09:38:12+02:00" level=warning msg="{\"errors\":[{\"status\":\"404\",\"title\":\"Not Found\",\"detail\":\"wanted remote asset is not part of our asset list\",\"source\":{}}]}" domain=cozy.domain.tld job_id=9dae7d616354bbebb28680b1660341d9 nspace=jobs slug=fortuneo worker_id=konnector/11
time="2020-08-11T09:38:13+02:00" level=error msg="Stderr: (node:166952) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.\n" domain=cozy.domain.tld job_id=9dae7d616354bbebb28680b1660341d9 nspace=jobs slug=fortuneo worker_id=konnector/11
time="2020-08-11T09:38:19+02:00" level=error msg="Could not parse stdout as JSON: \"flags.enable: Deprecation warning: prefer to use an object { flag1: true, flag2: true } instead of an array when using flags.enable\"" domain=cozy.domain.tld job_id=9dae7d616354bbebb28680b166035dad name=linkMyselfToAccounts nspace=jobs slug=banks worker_id=service/3
time="2020-08-11T09:38:19+02:00" level=error msg="Could not parse stdout as JSON: \"flags.enable: Deprecation warning: prefer to use an object { flag1: true, flag2: true } instead of an array when using flags.enable\"" domain=cozy.domain.tld job_id=9dae7d616354bbebb28680b166035141 name=autogroups nspace=jobs slug=banks worker_id=service/4
time="2020-08-11T09:38:19+02:00" level=error msg="Stderr: t [FetchError]: {\"error\":\"conflict\",\"ok\":false,\"reason\":\"Document update conflict.\",\"status\":\"409\"}\n    at e.<anonymous> (/tmp/service-banks918883084/index.js:14:307820)\n    at c (/tmp/service-banks918883084/index.js:14:272237)\n    at Generator._invoke (/tmp/service-banks918883084/index.js:14:272025)\n    at Generator.e.<computed> [as next] (/tmp/service-banks918883084/index.js:14:272659)\n    at n (/tmp/service-banks918883084/index.js:30:26506)\n    at u (/tmp/service-banks918883084/index.js:30:26716)\n\x1b[90m    at processTicksAndRejections (internal/process/task_queues.js:97:5)\x1b[39m {\n  response: q [Response] {\n    size: \x1b[33m0\x1b[39m,\n    timeout: \x1b[33m0\x1b[39m,\n    [\x1b[32mSymbol(Body internals)\x1b[39m]: { body: \x1b[36m[PassThrough]\x1b[39m, disturbed: \x1b[33mtrue\x1b[39m, error: \x1b[1mnull\x1b[22m },\n    [\x1b[32mSymbol(Response internals)\x1b[39m]: {\n      url: \x1b[32m'https://cozy.domain.tld/data/io.cozy.bank.settings/06e42cc2a7d319ebb0a1dec8d401e6e8'\x1b[39m,\n      status: \x1b[33m409\x1b[39m,\n      statusText: \x1b[32m'Conflict'\x1b[39m,\n      headers: \x1b[36m[D [Headers]]\x1b[39m,\n      counter: \x1b[33m0\x1b[39m\n    }\n  },\n  url: \x1b[32m'https://cozy.domain.tld/data/io.cozy.bank.settings/06e42cc2a7d319ebb0a1dec8d401e6e8'\x1b[39m,\n  status: \x1b[33m409\x1b[39m,\n  reason: {\n    error: \x1b[32m'conflict'\x1b[39m,\n    ok: \x1b[33mfalse\x1b[39m,\n    reason: \x1b[32m'Document update conflict.'\x1b[39m,\n    status: \x1b[32m'409'\x1b[39m\n  }\n}\n" domain=cozy.domain.tld job_id=9dae7d616354bbebb28680b166035141 name=autogroups nspace=jobs slug=banks worker_id=service/4
time="2020-08-11T09:38:19+02:00" level=warning msg="Error while performing job: exit status 1 (retry in 64.261503ms)" domain=cozy.domain.tld job_id=9dae7d616354bbebb28680b166035141 nspace=jobs worker_id=service/4
time="2020-08-11T09:38:20+02:00" level=error msg="Could not parse stdout as JSON: \"flags.enable: Deprecation warning: prefer to use an object { flag1: true, flag2: true } instead of an array when using flags.enable\"" domain=cozy.domain.tld job_id=9dae7d616354bbebb28680b166035141 name=autogroups nspace=jobs slug=banks worker_id=service/4

Je n’ai aucune idée du soucis derrière…

orandin commented 4 years ago

Salut @ArchangeGabriel

Rien à signaler de mon côté. Les opérations s'importent bien. Toutefois, je vois sur tes logs que tu aurais un conflit de document : Document update conflict (3ème ligne en partant de la fin). Je pense que cela pourrait être la cause du problème.

ArchangeGabriel commented 4 years ago

Une idée de comment je peux savoir à quoi ça correspond et comment régler ça ?

orandin commented 4 years ago

Mon idée serait d'essayer d'identifier le ou les documents en conflit : peut-être via les logs ou en inspectant couchDB et voir s'il est possible de déterminer le ou les document(s) qui pourrait poser soucis pour le(s) supprimer.

Sinon, je t'invite à te rapprocher de l'équipe de Cozy Cloud via leur forum.

ArchangeGabriel commented 4 years ago

Le document en conflit semble être une fausse piste. D’une part, ça ne se reproduit plus, d’autre part, le dit document (que j’ai pu identifier grâce à Clochix) s’avère être le descriptif du compte. Enfin, si je supprime tout puis réinitialise l’accès, ça se repasse de la même façon.

Maintenant j’ai ça dans les logs à chaque lancement du konnector (toutes les heures) :

time="2020-08-18T21:31:02+02:00" level=warning msg="Failed to create global model:" domain=cozy.domain.tld job_id=9dae7d616354bbebb28680b1660a5aaa nspace=jobs slug=fortuneo worker_id=konnector/6
time="2020-08-18T21:31:02+02:00" level=warning msg="{\"errors\":[{\"status\":\"404\",\"title\":\"Not Found\",\"detail\":\"wanted remote asset is not part of our asset list\",\"source\":{}}]}" domain=cozy.domain.tld job_id=9dae7d616354bbebb28680b1660a5aaa nspace=jobs slug=fortuneo worker_id=konnector/6
time="2020-08-18T21:31:03+02:00" level=error msg="Stderr: (node:253016) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.\n" domain=cozy.domain.tld job_id=9dae7d616354bbebb28680b1660a5aaa nspace=jobs slug=fortuneo worker_id=konnector/6
ArchangeGabriel commented 4 years ago

Logs de nginx au même moment :

"GET /remote/assets/bank_classifier_nb_and_voc HTTP/1.1" 404
ArchangeGabriel commented 4 years ago

Bon si je comprends bien ce que je lis ici https://github.com/orandin/cozy-global-model-classificator, ça n’est pas censé être un soucis… Du coup je ne comprends pas ce qui bloque.

orandin commented 4 years ago

L'absence de l'asset n'est pas problématique, car il passe à la suite. Cette ligne de log d'erreur est "normale". Pour faire en sorte de ne plus l'avoir, tu peux soit t'amuser à recréer le fichier grâce à cozy-global-model-classificator, soit mettre un json vide et demander à Cozy de le servir.

le dit document (que j’ai pu identifier grâce à Clochix) s’avère être le descriptif du compte

Saurais-tu me dire ce qui posait soucis ? Le problème vient peut-être de là. Le Konnector crée peut-être un conflit dans ton cas, car tu as peut-être accès à des services / comptes qui peuvent être mal interprétés par le Konnector.

ArchangeGabriel commented 4 years ago

Bon, j’ai redémarré la stack, relancé, plus aucun message d’erreur nulle part, mais toujours aucune opération importée.

ArchangeGabriel commented 4 years ago

J’ai supprimé tous les messages et logs (Clochix m’a conseillé de les nettoyer un peu plus), le nouveau log en mode debug est celui-ci : https://paste.xinu.at/x7F/

Aucune erreur à signaler, mais aucune opération importée.

orandin commented 4 years ago

En effet, le Konnector n'importe rien et au moins, s'exécute correctement car il se termine sans erreur fatale. Aussi, je note qu'il a su récupérer ton compte. Saurais-tu me dire quelle est la version de ton Konnector ?

De mon côté, j'ai :

$ cozy-stack konnectors ls --domain example.tld
fortuneo    git://github.com/konnectors/fortuneo.git#build    1.6.0-1457f0625568fbf3af58c83ccdd304af8dfa25b6  ready

La dernière version est censée être la 1.6.0, mais j'ignore si elle a été publiée sur le store.

Si ce n'est pas le cas, tu peux forcer la version en prenant celle de la branche git "build". Toutefois, je ne conseille pas cette méthode sur le long terme car tu ne bénéficieras pas des mises à jour automatique via le store.

cozy-stack konnectors update --domain example.tld fortuneo git://github.com/konnectors/fortuneo.git#build
ArchangeGabriel commented 4 years ago

J’ai bien la 1.6.0 des màj auto, fortuneo registry://fortuneo/stable 1.6.0 ready.

ArchangeGabriel commented 4 years ago

(Je suis actuellement dispo sur l’IRC/Matrix cozycloud pour du debug en live si besoin)

orandin commented 4 years ago

Problème résolu : Fortuneo exigeait une action utilisateur (message obligatoire) qui n'était pas détecté par le Konnector. Fix à venir pour essayer d'identifier ces cas.

dohseven commented 3 years ago

@orandin @ArchangeGabriel Quel était le message obligatoire qui bloquait le konnector ? J'ai ajouté la détection d'un de ces messages dans #136, est-ce que par hasard c'était le même ?

ArchangeGabriel commented 3 years ago

@dohseven Je ne sais plus exactement ce dont il s’agissait, mais je suis sûr que ça n’était pas ça.