Testeurs g1-test : nouvelle pré-release 1.6.17 à tester!

Peux-tu préciser la façon dont est lancé Duniter ?

Si tu te sens le courage de débusquer le problème, il te suffit d’ajouter des instructions de logging comme celle-ci dans le fichier /opt/duniter/app/modules/prover/lib/proof.js :

require('fs').writeFileSync('/tmp/duniter_debug_pow', 'contenu') 

Par exemple tu pourrais en placer une juste en-dessous de la ligne contenant ‘uncaughtException’ :

require('fs').writeFileSync('/tmp/duniter_debug_pow_exception', err.stack) 

Je n’ai pas mieux à te donner, car les preuves se situent dans des processus séparés, il faut donc y aller à la main en cas de gros plantage comme celui-ci.

Je le lance en cliquant sur son icône dans le lanceur de gnome.

Tu disais le lancer automatiquement, je pensais qu’il s’agissait d’un robot.

Peux-tu relire mon message concernant les instructions de débogage ? (fichiers de traces)

Et je demandais sous quelle forme tu le lançais car c’est une erreur peu remontée par la communauté NodeJS, par contre 127 correspond en shell quand il y a un problème d’accès au programme (PATH, etc.).

Le lancement automatique à l’ouverture de session se passe mal : la fenêtre de Duniter n’affiche rien. Je l’arrête, puis le lance manuellement.
Je vais essayer de déboguer.

Je lance Duniter Deskop 1.6.17 depuis le dossier du tar.gz, avec la commande ./nw sur Ubuntu 14.04.

Je configure manuellement le réseau et ma box et cesium g1-test me voit de l’extérieur. Mais je ne calcule pas de blocs…

Il dit toujours Waiting for better proof conditions dans l’interface…

Je relance Duniter, et, comme @gerard94 je capture ça dans les logs :

2018-02-03T19:56:56+01:00 - info: Generating proof-of-work with 4 leading zeros followed by [0-9A-F]... (CPU usage set to 90%) for block#131198 DpJse2
2018-02-03T19:56:56+01:00 - info: Creating worker c#0#w#1
2018-02-03T19:56:56+01:00 - info: Creating worker c#0#w#2
[0203/195656.991824:WARNING:chrome_main_delegate.cc(590)] final extension: .js
2018-02-03T19:56:56+01:00 - info: Creating worker c#0#w#3
[0203/195656.999250:WARNING:chrome_main_delegate.cc(590)] final extension: .js
/mnt/data/Logiciels/duniter-desktop-v1.6.17-linux-x64/nw2018-02-03T19:56:57+01:00 - info: Creating worker c#0#w#4
: symbol lookup error: /mnt/data/Logiciels/duniter-desktop-v1.6.17-linux-x64/lib/libnode.so: undefined symbol: _ZN2v88platform21CreateDefaultPlatformEiNS0_15IdleTaskSupportENS0_21InProcessStackDumpingE
[0203/195657.005872:WARNING:chrome_main_delegate.cc(590)] final extension: .js
2018-02-03T19:56:57+01:00 - info: worker 12155 died with code 127 and signal null
/mnt/data/Logiciels/duniter-desktop-v1.6.17-linux-x64/nw: symbol lookup error: /mnt/data/Logiciels/duniter-desktop-v1.6.17-linux-x64/lib/libnode.so: undefined symbol: _ZN2v88platform21CreateDefaultPlatformEiNS0_15IdleTaskSupportENS0_21InProcessStackDumpingE
2018-02-03T19:56:57+01:00 - info: worker 12156 died with code 127 and signal null
/mnt/data/Logiciels/duniter-desktop-v1.6.17-linux-x64/nw: symbol lookup error: /mnt/data/Logiciels/duniter-desktop-v1.6.17-linux-x64/lib/libnode.so: undefined symbol: _ZN2v88platform21CreateDefaultPlatformEiNS0_15IdleTaskSupportENS0_21InProcessStackDumpingE
[0203/195657.015792:WARNING:chrome_main_delegate.cc(590)] final extension: .js
2018-02-03T19:56:57+01:00 - info: worker 12157 died with code 127 and signal null
/mnt/data/Logiciels/duniter-desktop-v1.6.17-linux-x64/nw: symbol lookup error: /mnt/data/Logiciels/duniter-desktop-v1.6.17-linux-x64/lib/libnode.so: undefined symbol: _ZN2v88platform21CreateDefaultPlatformEiNS0_15IdleTaskSupportENS0_21InProcessStackDumpingE
2018-02-03T19:56:57+01:00 - info: worker 12158 died with code 127 and signal null

OK ne cherchez pas plus loin, je reproduis aussi l’erreur sur la version Desktop Linux.

J’ai testé une version Windows buildée localement, qui pour le coup fonctionne. Donc je pense que ça vient du build Docker.

2 Likes

Merci.

Je confirme, je reproduit :

En arrière plan c’est la web-ui d’un noeud membre sur un de mes serveur via pont ssh.

Ce qui est curieux, c’est que j’ai un très bon souvenir d’avoir déjà réussir a calculer des blocs avec la version desktop buildée sous docker mais je ne sais plus si c’était et 1.6.15 et 1.6.16 ou une release de test sur un commit :confused:

Ok il faudra donc faire une 1.6.18 pour régler les tickets #1268 et #1269, on pourrait en profiter pour régler #1267 aussi.

Cependant, merci de continuer a tester la 1.6.17 pour nous assurer qu’elle ne cache pas d’autres problèmes :slight_smile:

Autant pour moi, le build Windows fonctionnait mais c’était dans le cadre de nouveaux développements, je n’avais pas fait attention. Il faut que je refasse d’autres tests, il y a peut-être un vrai bug logiciel, hors méthode de build.

Les résultats :

  • build Windows Desktop sous Vagrant : OK
  • build Linux Server sous Docker : OK
  • build Linux Desktop sous Docker : KO
  • build Linux Desktop sous Vagrant : KO
  • build ARM : OK

OK = calcule des blocs
KO = ne calcule pas de blocs

Bref, le problème est précisément sur la version Linux Dekstop. Cela semble venir de l’enrobeur NwJS car je constate aussi des problèmes similaires pour Duniter 1.7, sur lequel je bosse en ce moment (justement pour une nouvelle version du code de la preuve de travail !).

Bref je vais tester d’autres versions de NwJS pour Duniter 1.6, voir s’il y en a une qui passe.

2 Likes

Bon alors pour faire court, je n’arrive plus à produire de Linux Desktop qui fonctionne avec NodeJS 8. Néanmoins, j’arrive à en produire pour NodeJS 9.

Je pense donc amener le passage à NodeJS 9 dès la v1.6.18 de Duniter, sauf contre-indication (@elois ton avis ?).

Heu si la migration est rapide pourquoi pas, tu peut pusher une branche avec node 9 que je teste ?

Je n’ai de toute façon pas de solution plus rapide que de migrer :confused:

Il y a déjà une branche en cours, avec des releases en préparation : https://git.duniter.org/nodes/typescript/duniter/commit/6e9962b3c67f4d83dd3c2283b7bd1029a9353187/pipelines

@cgeek j’ai zieuter ton commit, et j’ai 2 questions :

Pourquoi le build window ce fait avec nodejs 9.1.0 au lieu de 9.4.0 ?
Pourquoi toujours autoriser node 8 dans le package.json ?

Car j’ai testé les versions supérieures de NwJS (voir Blogs), et la 9.1.0 est la plus haute qui fait fonctionner Duniter correctement sur Windows. Quant à Linux c’est la 9.4.0.

En soit NodeJS 8 fonctionne très bien, c’est plutôt avec NwJS que ça ne passe pas.

Enfin ceci dit, nanocryk prétend avoir des problèmes similaires même sans NwJS … mais bon ça reste à confirmer : Lancer automatiquement Duniter au démarrage - #120 by nanocryk

Fausse alerte j’ai mal lu la date (jour et mois, toussa) et j’ai forgé mon dernier bloc hier soir. Après entre temps je vois pas mal de noms passer plusieurs fois, mais peut-être que je n’ai pas beaucoup de chance depuis hier.

2 Likes

le paquet deb desktop sous nodejs 9 fonctionne chez moi :

La release de test est ici : https://git.duniter.org/nodes/typescript/duniter/-/jobs/2152