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 :
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.
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
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
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.
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.
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 ?).
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.
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.