-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
funding_locked sent before channel_reestablish #4006
Comments
Related: #2555 |
Just ran into this too |
I'm not sure how we can work around this, either? It seems lnd sometimes simply never sends a |
just had this issue. any plans to fix it? |
So you mean upon reconnection you never see a chan reest message sent? It's the very first thing that happens once a "link" is created, if this isn't the "initial" funding event: https://github.com/lightningnetwork/lnd/blob/master/htlcswitch/link.go#L673
How's the issue manifesting in your specific context? |
Upon reconnection, more often than not, the first thing lnd does is send a funding_locked prior to the channel_reestablish message (which is required to come first, as lnd is required to check the values in it before deciding whether or not to send a funding_locked at all). C-lightning has special code to work around this case (by storing the funding_locked in memory until a channel_reestablish appears), but we do not currently have any such workaround, so we just force-close and kill the connection. |
lnd has a long-standing bug where, upon reconnection, if the channel is not yet confirmed they will not send a channel_reestablish until the channel locks in. Then, they will send a funding_locked *before* sending the channel_reestablish (which is clearly a violation of the BOLT specs). We copy c-lightning's workaround here and simply store the funding_locked message until we receive a channel_reestablish. See-also lightningnetwork/lnd#4006
lnd has a long-standing bug where, upon reconnection, if the channel is not yet confirmed they will not send a channel_reestablish until the channel locks in. Then, they will send a funding_locked *before* sending the channel_reestablish (which is clearly a violation of the BOLT specs). We copy c-lightning's workaround here and simply store the funding_locked message until we receive a channel_reestablish. See-also lightningnetwork/lnd#4006 Fixes lightningdevkit#963
lnd has a long-standing bug where, upon reconnection, if the channel is not yet confirmed they will not send a channel_reestablish until the channel locks in. Then, they will send a funding_locked *before* sending the channel_reestablish (which is clearly a violation of the BOLT specs). We copy c-lightning's workaround here and simply store the funding_locked message until we receive a channel_reestablish. See-also lightningnetwork/lnd#4006 Fixes lightningdevkit#963
To complete the reference list, the c-lightning workaround was merged at ElementsProject/lightning#2373 |
lnd has a long-standing bug where, upon reconnection, if the channel is not yet confirmed they will not send a channel_reestablish until the channel locks in. Then, they will send a funding_locked *before* sending the channel_reestablish (which is clearly a violation of the BOLT specs). We copy c-lightning's workaround here and simply store the funding_locked message until we receive a channel_reestablish. See-also lightningnetwork/lnd#4006 Fixes lightningdevkit#963
lnd has a long-standing bug where, upon reconnection, if the channel is not yet confirmed they will not send a channel_reestablish until the channel locks in. Then, they will send a funding_locked *before* sending the channel_reestablish (which is clearly a violation of the BOLT specs). We copy c-lightning's workaround here and simply store the funding_locked message until we receive a channel_reestablish. See-also lightningnetwork/lnd#4006 Fixes lightningdevkit#963
This is because the |
I think lnd doesn't send channel reestablish if the channel is pending (hasn't hit min confs yet) |
I don't think that's, itself, a major issue, but you need to send it before you send the channel_ready. |
This may be an old bug, I saw it while testing against the testnet.yalls.org node:
While the spec doesn't call it out explicitly, its somewhat nonsensical to send the funding_locked before the channel_reestablish:
as the first text there refers to the channel_reestablish in the past tense, and, really, why would you send a message about a channel before reestablishing the channel.
The text was updated successfully, but these errors were encountered: