Duniter v1.8.7 release

J’ai ce type d’erreurs sans nouvelle synchro :

│2023-06-17T14:01:35+02:00 - debug: Configuration saved.                                                                                                                                                                                     │
│2023-06-17T14:01:35+02:00 - debug: Now open indexers...                                                                                                                                                                                     │
│2023-06-17T14:01:36+02:00 - error: Error: SQL error "SQLITE_ERROR: no such column: issuer" on query "                                                                                                                                       │
│    BEGIN;                                                                                                                                                                                                                                  │
│    CREATE TABLE IF NOT EXISTS txs (                                                                                                                                                                                                        │
│hash VARCHAR(70),                                                                                                                                                                                                                           │
│block_number INT NULL,                                                                                                                                                                                                                      │
│locktime INT NULL,                                                                                                                                                                                                                          │
│version INT NULL,                                                                                                                                                                                                                           │
│currency VARCHAR(10) NULL,                                                                                                                                                                                                                  │
│comment TEXT NULL,                                                                                                                                                                                                                          │
│blockstamp VARCHAR(100) NULL,                                                                                                                                                                                                               │
│blockstampTime INT NULL,                                                                                                                                                                                                                    │
│time INT NULL,                                                                                                                                                                                                                              │
│inputs TEXT NULL,                                                                                                                                                                                                                           │
│unlocks TEXT NULL,                                                                                                                                                                                                                          │
│outputs TEXT NULL,                                                                                                                                                                                                                          │
│issuer VARCHAR(50) NULL,                                                                                                                                                                                                                    │
│issuers TEXT NULL,                                                                                                                                                                                                                          │
│signatures TEXT NULL,                                                                                                                                                                                                                       │
│recipient VARCHAR(50) NULL,                                                                                                                                                                                                                 │
│recipients TEXT NULL,                                                                                                                                                                                                                       │
│written BOOLEAN,                                                                                                                                                                                                                            │
│removed BOOLEAN,                                                                                                                                                                                                                            │
│received BOOLEAN NULL,                                                                                                                                                                                                                      │
│output_base INT NULL,                                                                                                                                                                                                                       │
│output_amount INT NULL,                                                                                                                                                                                                                     │
│written_on VARCHAR(100) NULL,                                                                                                                                                                                                               │
│writtenOn INT NULL);;                                                                                                                                                                                                                       │
│                                                                                                                                                                                                                                            │
│    CREATE INDEX IF NOT EXISTS idx_txs_hash ON txs (hash);                                                                                                                                                                                  │
│CREATE INDEX IF NOT EXISTS idx_txs_block_number ON txs (block_number);                                                                                                                                                                      │
│CREATE INDEX IF NOT EXISTS idx_txs_blockstamp ON txs (blockstamp);                                                                                                                                                                          │
│CREATE INDEX IF NOT EXISTS idx_txs_blockstampTime ON txs (blockstampTime);                                                                                                                                                                  │
│CREATE INDEX IF NOT EXISTS idx_txs_time ON txs (time);                                                                                                                                                                                      │
│CREATE INDEX IF NOT EXISTS idx_txs_issuer ON txs (issuer);                                                                                                                                                                                  │
│CREATE INDEX IF NOT EXISTS idx_txs_recipient ON txs (recipient);                                                                                                                                                                            │
│CREATE INDEX IF NOT EXISTS idx_txs_written ON txs (written);                                                                                                                                                                                │
│CREATE INDEX IF NOT EXISTS idx_txs_removed ON txs (removed);                                                                                                                                                                                │
│                                                                                                                                                                                                                                            │
│    COMMIT;                                                                                                                                                                                                                                 │
│    "                                                                                                                                                                                                                                       │
│    at Database.<anonymous> (/home/moul/duniter/app/lib/dal/drivers/SQLiteDriver.js:71:31)                                                                                                                                                  │
│    at Database.replacement (/home/moul/duniter/node_modules/sqlite3/lib/trace.js:19:31)

Ah zut, dans ton cas moul c’est peut-etre que la dernière migration de la BDD txs.db n’a pas été correctement passé, mais pourtant considérée comme telle.
Tu coup les commandes SQL d’ajout des nouvelles colonnes n’ont pas été passées, et ca plante à la création de l’index (qui arrive plus tard).

Peux tu faire un “reset data” et relancer une synchro ? Désolé…

As tu quelque chose dans les logs ?

Je pense que la synchro est nécessaire, il faut communiquer là-dessus. Bon après, la synchro est bien optimisée maintenant grâce à tes travaux :+1:

J’ai synchro mon nœud ĞTest en 22 minutes \o/
All done in 1320.300 seconds.

Malheureusement, la synchro n’est pas loggée/journalisée.

2 Likes

Ctrl+C

(v10) node max > 3GB & nocautious ?

Je n’ai pas les logs de synchronisation, du moins je ne sais pas comment on y accède et si on peut vu la réponse de Moul ci-dessus…

J’ai re-tenté une synchro qui est allé un peu plus loin mais qui c’est arrêté à 91% de télécharger et 89% appliqué avec ce message d’erreur =>
/usr/bin/duniter : ligne 15 : 1248235 Erreur de segmentation $NODE "$DUNITER_DIR/bin/duniter" "$@"

Au démarrage j’avais un message d’erreur déjà vu =>
Status: Peers...(node:1248235) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 pipe listeners added. Use emitter.setMaxListeners() to increase limit

@fdrubigny : hum bizarre cela est censé avoir été corrigé… si tu fais duniter --version ca te donne bien la dernière (1.8.6.rc4) ?

Tiens je n’avais même pas remarqué, car je lance toujours, par habitude, un duniter sync --nointeractive $HOST > sync.log &

c’était combien de temps avant ? Juste pour savoir… Et sur la G1 ?
Comme mon noeud G1 ne se lancait plus, en fait je n’ai pas vraiment de comparatif…
Là sur mon noeud, ca me parait toujours interminable…

Je ne comprends pas trop pourquoi, car les 2 colonnes ajoutées sur la table txs (BDD Sqlite txs.db), sont gérées dans la migration, au démarrage. cf ce code
Une idée @cgeek ?

Salut, oui ça me donne bien la version 1.8.7-rc4

Concernant la vitesse de synchro sur la Ğ1 :

v1.8.7 :

4495.12s user 868.02s system 153% cpu 58:17.54 total

v1.8.6 :

4088.93s user 699.88s system 140% cpu 56:53.81 total

C’est donc un peu plus lent sur ma machine. Peut-être du fait du nouvel index indexOfComplexeConditionForPubkeys, je ne sais pas dire.

Aucune. Néanmoins, il vaut mieux resychroniser dans tous les cas à cause de #1447.

Mon noeud duniter-18-dev.pini.fr est maintenant à jour et synchro, si tu veux tester, @kimamila.

1 Like

Est-ce que vos noeuds 1.8.7-rc4 tournent toujours sans soucis, et sont restés synchro ? Si oui, on va pouvoir releaser je penses…

Mon noeud semble OK d’après Kazou. Et je n’en vois qu’un seul autre en 1.8.7, qui est synchro également.

J’ai re-tenté plusieurs fois la synchro, ce n’est jamais allé au bout…

Mais c’était pareil en 1.8.6, si j’ai bien suivi ?

En 1.8.6 ça bloquait à 98% tout le temps mais pas le même message d’erreur, je ne me souviens plus par contre du message…
Là j’ai re-tenté une synchro sur la 1.8.7-rc4 ça c’est arrêté à 61% de téléchargé et 59% appliqué avec le message suivant =>

Status: Peers...node: ../deps/leveldb/leveldb-1.20/table/table_builder.cc:97: void leveldb::TableBuilder::Add(const leveldb::Slice&, const leveldb::Slice&): Assertion `r->options.comparator->Compare(key, Slice(r->last_key)) > 0' failed.
/usr/bin/duniter : ligne 15 : 1795868 Abandon                 $NODE "$DUNITER_DIR/bin/duniter" "$@"

Voici la capture d’écran de ma console

La v1.8.7 n’adresse pas ce problème connu. Ceci étant, ça ne bloque pas la sortie de la v1.8.7.

Ah, je ne connais pas ce problème.

Sinon, j’ai voulu lancer la release, mais le gitlabn n’est plus joignable…
Je retente demain matin, sauf si l’un de vous veux lancer ?

la 1.8 dev ne semble pas communiquer les documents en attente au client

Que veux tu dire, précisément ? je ne comprends pas de quoi tu parles. As tu des exemples ?
Parles tu spécifiquement de la 1.8.7 ? ou des versions précédentes 1.8.x ?