Following an unrelated memory issue with eclair causing it to grind to a halt, I had to forcekill the node, and on restart I saw a few Bad commit_sig from several c-lightning nodes. After investigating I think this may have revealed a corner case problem on c-lightning's side related to update_fee.
eclair c-lightning
| |
| (idle, no htlc) |
| |
|<------ fee1 ------|
|<------ sig -------|
|------ rev ------->|
|------- sig ------>|
|<------ fee2 ------|
|<------ sig -------|
|<----- rev --------|
|-rev-> ? |
| |
| (reconnection) |
| |
|------- rev ------>|
|------- sig ------>|
|<------ err -------| <- Bad commit_sig feerate=fee1
| ... |
I think eclair is right to have been using feerate=fee2 after reconnection.
2019-05-21 18:55:39,565 INFO IN msg=UpdateFee(edc7ef107af445a433be4b2b992ca251b64df6bcb43c8c1306104cac783fa277,41186)
2019-05-21 18:55:39,565 INFO IN msg=CommitSig(edc7ef107af445a433be4b2b992ca251b64df6bcb43c8c1306104cac783fa277,3bdbd03cccbf8bf1f14909ec9bc2de9e4e7d36ccc1a14d643ff0e84e5111c9fe314c2b270241044708077b3c02029ea7589f2f24734b286811afbc140667bd46,List())
2019-05-21 18:56:15,680 INFO built local commit number=1868 htlc_in= htlc_out= feeratePerKw=41186 txid=b1155d1d24358f1351cf32dabf04dcb2ff583ff8515d819991916d183167a251 tx=0200000001edc7ef107af445a433be4b2b992ca251b64df6bcb43c8c1306104cac783fa2770000000000bafd188001466de400000000001600140fbea428c4ff928c2a0090ba0842499b8471b5f515231220
2019-05-21 18:56:36,965 INFO built remote commit number=1868 htlc_in= htlc_out= feeratePerKw=41186 txid=1e7de91fc13f3156d4ce6936a6c9cf770e3a0aefe31f61e7850e724743af1dc6 tx=0200000001edc7ef107af445a433be4b2b992ca251b64df6bcb43c8c1306104cac783fa2770000000000bafd188001466de40000000000220020763457b672c1e62fee350241cac82ddd90fefc30cb233920edf045af4762fbaf15231220
2019-05-21 18:56:36,967 INFO OUT msg=RevokeAndAck(edc7ef107af445a433be4b2b992ca251b64df6bcb43c8c1306104cac783fa277,696eb92f5b9833d87cddde7b168c08005b039da998bf3a42aa83d815c7acad0e,039314eb7e617941a275040c0dae4f013c77084d8f2c54d9bfd002b51a0a73e685)
2019-05-21 18:56:44,069 INFO f.a.e.db.BackupHandler - database backup triggered by channelId=edc7ef107af445a433be4b2b992ca251b64df6bcb43c8c1306104cac783fa277 took 7117ms
2019-05-21 18:56:44,069 INFO OUT msg=CommitSig(edc7ef107af445a433be4b2b992ca251b64df6bcb43c8c1306104cac783fa277,88d579eb0e0d586cb5686850d55eaf9d525cdcded2a6a7d7629f6883e4f18309707f3cabd7e70ad870ef074d8073e901f4f48cdb033cbd324366da54254d2652,List())
2019-05-21 18:56:49,200 INFO IN msg=UpdateFee(edc7ef107af445a433be4b2b992ca251b64df6bcb43c8c1306104cac783fa277,41167)
2019-05-21 18:56:49,200 INFO IN msg=CommitSig(edc7ef107af445a433be4b2b992ca251b64df6bcb43c8c1306104cac783fa277,f374c037e8fe81346589331e359fbdda28f2a2ee06f05b5c52d490b2fa0f187257b0d7cab653d6a76ee48da2aeb4ddbaf563e9f3138d3c31fda1af9c45c5c10e,List())
2019-05-21 18:56:49,204 INFO built local commit number=1869 htlc_in= htlc_out= feeratePerKw=41167 txid=4bfd6397433b995dfd807a1854ec2dafe44a4faf154de0c99d238f91cc75c96f tx=0200000001edc7ef107af445a433be4b2b992ca251b64df6bcb43c8c1306104cac783fa2770000000000bafd188001546de4000000000016001415939184bb32d1d27f1972543904365e9d3da4f414231220
2019-05-21 18:56:55,396 INFO IN msg=RevokeAndAck(edc7ef107af445a433be4b2b992ca251b64df6bcb43c8c1306104cac783fa277,79bd4885c75c521334f22558fbabfc8e0194f794728eea42844e0928f0fa9a57,03b700847056de2dddbf7a4c409448ec05583fc07385f86de581f23b3fe90c334e)
2019-05-21 18:56:55,396 WARN waited for too long for a revocation to remoteCommitNumber=1867, disconnecting
2019-05-21 19:22:11,032 INFO restoring channel channelId=edc7ef107af445a433be4b2b992ca251b64df6bcb43c8c1306104cac783fa277
2019-05-21 19:22:11,032 INFO current channel_update was created 5 days ago, will refresh it in 4 days
2019-05-21 19:22:11,032 INFO re-emitting channel_update=ChannelUpdate(ByteVector(71 bytes, 0x304402201f9ddc04b0540f32193bc4c354ebe2755dc0d34bed4dc3e220b2a7329586d0250220187eb4a2962ff7b6fbaa37b34860ca461d61c49f842bc46cec5d477cbecb469f01),6fe28c0ab6f1b372c1a6a246ae63f74f931e8365e15a089c68d6190000000000,554656x1817x0,1558011262,1,3,144,0,0,0,Some(15000000000)) enabled=false
2019-05-21 19:22:43,935 INFO OUT msg=ChannelReestablish(edc7ef107af445a433be4b2b992ca251b64df6bcb43c8c1306104cac783fa277,1870,1868,Some(79bd4885c75c521334f22558fbabfc8e0194f794728eea42844e0928f0fa9a57),Some(039314eb7e617941a275040c0dae4f013c77084d8f2c54d9bfd002b51a0a73e685))
2019-05-21 19:22:44,054 INFO IN msg=ChannelReestablish(edc7ef107af445a433be4b2b992ca251b64df6bcb43c8c1306104cac783fa277,1869,1868,Some(696eb92f5b9833d87cddde7b168c08005b039da998bf3a42aa83d815c7acad0e),Some(02763007023899c663d1304f2bb756e41ab15bf4f1141801ea35383143759a7e23))
2019-05-21 19:22:44,054 INFO OUT msg=RevokeAndAck(edc7ef107af445a433be4b2b992ca251b64df6bcb43c8c1306104cac783fa277,07fdb4b89775ed653b91fb799e9ed283e5c246b4f3a9b0a57eefcc778ae1acef,023580ac5bac2f9e4368e34306a2c379fd0f1de78fbb1b1e824021e054ade17c92)
2019-05-21 19:22:44,057 INFO built remote commit number=1869 htlc_in= htlc_out= feeratePerKw=41167 txid=28a845f354ddccc7c3c5369d5d35fe76ba3399b19068f270da58d3fde6f49707 tx=0200000001edc7ef107af445a433be4b2b992ca251b64df6bcb43c8c1306104cac783fa2770000000000bafd188001546de40000000000220020e23ab07197ff9f9ea88eeacee40b4b114da0a0de1f66efc38c8709d476d6c55014231220
2019-05-21 19:22:44,062 INFO OUT msg=CommitSig(edc7ef107af445a433be4b2b992ca251b64df6bcb43c8c1306104cac783fa277,ByteVector(71 bytes, 0x304402204de00a6f3cdbc267a38a1d2a4536f84387df3ff4cd72e420b4944315887fb7970220570498285dc6330c22dc4a885d2be6517ea4ac4159c68e99c05b3e3914c5d32c01),List())
2019-05-21 19:22:44,148 INFO f.a.e.db.BackupHandler - database backup triggered by channelId=edc7ef107af445a433be4b2b992ca251b64df6bcb43c8c1306104cac783fa277 took 86ms
2019-05-21 19:22:44,175 INFO IN msg=AnnouncementSignatures(edc7ef107af445a433be4b2b992ca251b64df6bcb43c8c1306104cac783fa277,554656x1817x0,ByteVector(71 bytes, 0x304402200bf3ac5408ce731009adf23467c57507ca8bda366d039c6c4f78c5634f33676b022078e7986d65d6237c7692cdbc8cc9cbc6d17f6f46c2288df4047081272947775001),ByteVector(72 bytes, 0x3045022100b59d01441dba4bc71b6081be2a463f4154de5d8b4a8aafa479989feec7b4052902207498abbcfb6e117fe76875ff807bc7f72891c0094244c070178df84c83ee66e101))
2019-05-21 19:22:44,175 INFO re-sending our announcement sigs
2019-05-21 19:22:44,175 INFO OUT msg=AnnouncementSignatures(edc7ef107af445a433be4b2b992ca251b64df6bcb43c8c1306104cac783fa277,554656x1817x0,ByteVector(71 bytes, 0x3044022045e1e79d73f34f589e002430c9f83aadeef48c7d726f81d54f3d6e0d5161493602207520f416a3850d0b3edf39466a52a83f00bcf5dd2df173f6ae705db2b7e0408001),ByteVector(72 bytes, 0x3045022100e76feb5664ecc83d323ff0fbcb5627eb901f9731f0be249494d94d37990d8abe0220028ed614b52a45e8a25dc7f51170a91329d3ec196b26ffa49ff50bc0ae02e12f01))
2019-05-21 19:22:44,362 INFO IN msg=UpdateFee(edc7ef107af445a433be4b2b992ca251b64df6bcb43c8c1306104cac783fa277,41175)
2019-05-21 19:22:44,521 INFO IN msg=CommitSig(edc7ef107af445a433be4b2b992ca251b64df6bcb43c8c1306104cac783fa277,ByteVector(71 bytes, 0x3044022057d9a20f6a3a323927d3485bf91928aa5e10f79f305908882e5bff5f2f063c9a02200c0a591f643f39e1e02021e7498f4e02e3218a2a05cd7292de82e653310df4a101),List())
2019-05-21 19:22:44,521 INFO IN msg=Error(edc7ef107af445a433be4b2b992ca251b64df6bcb43c8c1306104cac783fa277,ByteVector(602 bytes, #-605886696))
2019-05-21 19:22:44,523 INFO built local commit number=1870 htlc_in= htlc_out= feeratePerKw=41175 txid=7c7c0859f0222b348df5af14a5a7c910555147c633071d82055a05ce9cf22f7f tx=0200000001edc7ef107af445a433be4b2b992ca251b64df6bcb43c8c1306104cac783fa2770000000000bafd1880014e6de400000000001600147bf1e7bc6942765a97e698219807952ec476c4c017231220
2019-05-21 19:22:44,530 INFO OUT msg=RevokeAndAck(edc7ef107af445a433be4b2b992ca251b64df6bcb43c8c1306104cac783fa277,03e72eff3f9e0767ca5df55249d014f43a4212804785cfe3a72c1bde3915633a,02c8bf4ff762ff827027691adf66fdd984fe077fdc2cf90181e724c601c4b98cab)
2019-05-21 19:22:44,531 ERRORpeer sent error: ascii='Bad commit_sig signature 1869 304402204de00a6f3cdbc267a38a1d2a4536f84387df3ff4cd72e420b4944315887fb7970220570498285dc6330c22dc4a885d2be6517ea4ac4159c68e99c05b3e3914c5d32c for tx 0200000001edc7ef107af445a433be4b2b992ca251b64df6bcb43c8c1306104cac783fa2770000000000bafd188001466de40000000000220020e23ab07197ff9f9ea88eeacee40b4b114da0a0de1f66efc38c8709d476d6c55014231220 wscript 52210243dbfd3d449f086f0e9b1679b050048f828265de443eed03b53ffe48232a694d2102abde6ccd15e4c861bafbdb4aa8052fdb0a9f85577a1226c3c5e22f8d3f01d24952ae key 0243dbfd3d449f086f0e9b1679b050048f828265de443eed03b53ffe48232a694d feerate 41186'
Issue and Steps to Reproduce
Following an unrelated memory issue with eclair causing it to grind to a halt, I had to forcekill the node, and on restart I saw a few
Bad commit_sigfrom several c-lightning nodes. After investigating I think this may have revealed a corner case problem on c-lightning's side related toupdate_fee.Here is what happened (taken from the logs below):
I think eclair is right to have been using feerate=fee2 after reconnection.