ともき

ともき

@1215

(;;)

フォローしているユーザーはまだいません

(;;)

フォロワーはまだいません

(;;)

投稿はまだありません。

c-lightningの主キー制約とリストア

ライトニングネットワークの実装ソフトウェアの1つであるc-lightningのノード運用をこれまでしていたのですが、バージョンアップ(v0.8)を期にエラーがでるようになり、たまにプロセスが落ちるようになりました。 エラー内容は以下のようなSQLの主キー制約エラーなんですが、たぶんバージョンアップをする際に上手くDBが更新されなかったのかな?たちが悪いのがどのブロックのutxoを追加しようとしてるときにエラーとなっているのがわからないことです。 +245.990149661 lightningdBROKEN: Error executing statement: wallet/wallet.c:2923: INSERT INTO utxoset ( txid, outnum, blockheight, spendheight, txindex, scriptpubkey, satoshis) VALUES(?, ?, ?, ?, ?, ?, ?);: UNIQUE constraint failed: utxoset.txid, utxoset.outnum +246.144652678 lightningdBROKEN: FATAL SIGNAL 6 (version v0.8.0) Githubでそれっぽいイシューがないか調べてみたら、同じような主キー違反に関するイシューがありました。ただこのイシューではある特定のブロック高でエラーが発生していることなので、自分の現象とは少し違っていそうでした。 そこで、--rescan <blockheight>コマンドでc-lightningが持っているブロック情報をリスキャンしてみました。実際は以下のコマンドを実施。ブロック高を500,000にしているのはLNがローンチしたのがそれ以降だからです。※リスキャン前にすべてのチャネルを閉じて、どのピアとも接続していない状態にしてあります。 lightningd --rescan 500000 これでブロックを最初からリスキャンしだしたのですが、途中でプロセスが停止。お???と思いログを確認したら、以下のように特定ブロック高でエラーになっているのが分かりました。どうやらブロック高481824のあるutxoを保存しようとしてエラーとなっているみたいです。 +6.783965955 lightningdDEBUG: Adding block 481821: 0000000000000000007651ca005cf3c59f4e718cfde2a58

(;;)

アクティビティはまだありません。

アーカイブ