-
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
Don't allow manual close of restored channels #3321
Comments
Could you provide logs of the recovery process along with the errors that cause the crash? |
You can't force close restored channels as you don't have any commitments, the DLP protocol should request a force close from the remote side once you are able to reconnect. As @wpaulino some logs will be needed to figure out exactly what's going on |
I guess this portion of the logs is relevant, if privacy-killing:
|
Looking at these outputs on-chain, they seem to all have been swept back to your wallet (assuming the funds were on your side of the channel). Are these channels still showing under |
I filtered only the CNCT lines. Let me know if you need more!
|
It appears LND is now trying to sweep something but thinks its own txs are invalid:
|
The channel As for |
A month later, both channels still look the same. One says pending force closing, the other waiting close. Can I do anything to make lnd recognize what happened? |
For the pending force close, it will always stay in this state because of the issue outlined in my previous comment. Regarding the other channel, has lnd been running without being stopped throughout the whole month? What are the latest logs for the channel after a restart? |
So is there any way I can mark the force closed channel as resolved? It looks in the logs below like LND is waiting for a commit tx to confirm. No, LND hasn't been running for a month straight, the platform I am working on isn't stable enough for that yet. But I think it has been running for at least a week multiple times now. Here are the CNCT logs after a restart: |
Could you also include non-CNCT logs for both channels? |
0bbc93b20ff29ff564b88f5e41005cddcea6de76ac5692f47cfae9f5cc94a9c4:
|
e8d2c: |
Sorry for the delay on this @stefanwouldgo. I looked at the logs for the waiting close channel 0bbc93b20ff29ff564b88f5e41005cddcea6de76ac5692f47cfae9f5cc94a9c4. The channel is still open on-chain, so it seems that you haven't been able to connect to your channel peer to receive a key needed to sweep your funds. |
LND (0.8.2) now only seems to look for the other channel: The remaining open channel hasn't been mentioned in the logs for some time, but is still listed as waiting close. IIUC, there is no way to close this channel without cooperation from the channel partner, which doesn't seem to happen. However, I don't understand the case of the force-closed channel. Why has it been respent so many times and shouldn't LND know the private keys for that? |
You're seeing this error because you haven't been able to connect to the peer since you launched the latest recovery attempt, but looking at the channel on-chain, it has been closed and the funds have went into a different channel that you likely opened. This means it was probably swept in one of your previous recovery attempts where you were able to connect to the peer. |
The problem is I haven't opened a new channel and LND is still waiting for
this channel to be force-closed.
Am Mo., 24. Feb. 2020 um 16:05 Uhr schrieb Wilmer Paulino <
notifications@github.com>:
… [ERR] CNCT: Unable to retrieve commitment point for
channel(e8d2c8a62808377520c7926ece00c925f942cdff832bca5d6c6b08695bddc180:0)
with lost state: no commit point found. Retrying in 10m0s.
You're seeing this error because you haven't been able to connect to the
peer since you launched the latest recovery attempt, but looking at the
channel on-chain, it has been closed and the funds have went into a
different channel that you likely opened. This means it was probably swept
in one of your previous recovery attempts where you were able to connect to
the peer.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#3321?email_source=notifications&email_token=AAFQNEADXDILBVL4NHTUO33REPO2XA5CNFSM4IEQCNI2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEMYEOZQ#issuecomment-590366566>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAFQNEEVFHGRSGACEESMZLTREPO2XANCNFSM4IEQCNIQ>
.
|
I think this can be closed? |
I don't think so. I have just updated my LND to 0.10, and both channels are still pending. One pending close - I think that can probably not be resolved without the data from the other side. But another one pending force close (!) - I really think this is an unresolved bug in LND. |
I finally got to take a look at this. There seem to be multiple problems:
To address point 2, I did a few tests:
|
Background
I was running LND 0.6.1 on bitcoin 0.18.0 on my old phone (Termux). Copying channel updates by inotify. Then my micro sd containing .lnd died.
After I received my new card, I tried restoring both offchain and onchain funds using
lncli create -multi_file=channels.backup
(on 0.6.1 again), but LND crashed. Sorry, I didn't get any logs.Instead, I tried the same on the just released 0.7.0. This time, it didn't crash, and the onchain balance got restored, but the channels didn't get closed. I used to have two channels open with funds on my side. One didn't show up at all, the other remained in waiting_close_channels. When I tried to force-close this one, LND crashed again, saying something along the lines of "chain-link missing".
So I tried it a third time, this time first doing just
lncli create
(with the seed), then laterlncli restorechanbackup
. This again restored the onchain funds. One channel is again in waiting_close_channels, and this time, the other channel is also here, but it's in pending_force_close_channels (and the commitment-tx has long been confirmed).Your environment
lnd
0.7.0 (from 0.6.1)
uname -a
on *Nix)Linux localhost 3.4.0-perf-gbccb33a #1 SMP PREEMPT Fri Jul 10 09:23:01 2015 armv7l Android
btcd
,bitcoind
, or other backendbitcoind 0.18.0
Steps to reproduce
probably hard to reproduce. Kill your .lnd with open channels, then try to restore.
Expected behaviour
All open channels should be closed and the funds be returned to my wallet.
Actual behaviour
Onchain funds got returned, but it appears that one force-closed channel isn't recognized as returned to us while another is kept open, and makes lnd crash on force-close.
The text was updated successfully, but these errors were encountered: