Stuck "ChanStatusRestored" Channels — Funds Unspent On-Chain After Force Close #10276
Replies: 6 comments 25 replies
-
Regarding Channel 4, can you peer do is this peer an LND node ? For the other channels which were not force-closed, can you verify that the peers are online meaning they can essentially force-close the channel from their side? |
Beta Was this translation helpful? Give feedback.
-
Re Channel #4, I'll email node operator again now and ask them to report outputs/findings to your request above and post it here. On 1ML the owner info states: c-lightning, Regarding rest of the channels, I've email all of these remote nodes a few times via lightninngnetwork.plus where I opened the liquidity swaps with no responses and on 1ML shows the nodes haven't been seen for awhile 'over 1 year' for most of them. I can't confirm but I suspect most are offline. However channel 4 is definitely online but still hasn't closed. I know channel #4 ran this request and got this output, nil: listpeerchannels 02480372e95bc572b196c8a37d66098cf49b55dd841eaad5135ecf1255283ff0c4 |
Beta Was this translation helpful? Give feedback.
-
you can try this as well for channel 4: https://github.com/lightninglabs/chantools/blob/master/doc/chantools_triggerforceclose.md |
Beta Was this translation helpful? Give feedback.
-
Thanks @ziggie1984, I've tried using chantools triggerforceclose previously but was unable to trigger force close – getting a channel status manager error. Here is the details. Command used for channel 4: export CHAN_ENABLE_TIMEOUT=10
export CHAN_STATUS_SAMPLE_INTERVAL=5
export CHAN_DISABLE_TIMEOUT=30
$HOME/go/bin/chantools triggerforceclose \
--peer 02fe6a27ddcb2dd9fa8479fe1d52549b5932079a493b51f1409fa2c5878f1bc07c@65.108.134.61:9735 \
--channel_point da72f710178fefb50ad13f44dbcf50aa00c04209484da62de2195fa26481b1b5:1 Error msgs received:
Environment:
Notes:
Unsure why chantools refuses these settings even though they appear valid? |
Beta Was this translation helpful? Give feedback.
-
Thanks @ziggie1984 for finding a bug fix to code with @guggero Unfortunately after successfully running triggerforceclose with most channels (with exception of a few of Tor that could not connect too), I am still unable to resolve the stuck channels. What other options should I explore? Other measures I have tried it recovering an old channel.backup and running the SCB again. I've been able to recover files off my old node SSD such as channel.db, wallet.db, channel.backup and .macaroon files. I don't have alot of experience though in try to recover channels with these files. |
Beta Was this translation helpful? Give feedback.
-
If contacting the other noderunners does not work out and they remain silent, you still have another chance to recover your funds look also at: https://github.com/lightninglabs/chantools/blob/master/doc/chantools_scbforceclose.md In the SCB file we safe the latest commitment transaction for every channel, however given that your node crashed (afaict) there might be the risk that this is an outdated state of the channel and you might get punished by your peers if thats the case and you might lose all your money on this channel. Be aware of the risk !!! |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Summary
7 channels remain stuck in
ChanStatusRestored
on an Umbrel node hardware (Raspberry Pi 5, 2TB SSD).go github.com/lightningnetwork/lnd/...
#4: contacted remote node whom ran listpeerchannels and can confirm does not see this channellncli closechannel --force
fails with "cannot close with state ChanStatusRestored"Environment: Umbrel Docker, LND v0.19.3-beta, Bitcoin Core v29.1, fully synced.
Background
Originally ran an Umbrel node on a Raspberry Pi 4 (1TB SSD). Pruned the blockchain on this node, but afterwards realized that a pruned node would not operate with Lightning channels correctly. Then attempted to resolve by removing the pruned state, which left the node completely unresponsive. Still have old hardware and SSD.
In attempt to recover my open channels, I ran a fresh Umbrel install, fully sync'd blockchain on a Raspberry Pi 5 (2TB SSD), new hardware. After the node fully sync, Umbrel prompted to recover from a backup file and start force closure of channnels (SCB), which was done. At the time, using the SCB forced-close did not realise this might not have been a poor decision as Umbrel recovery process appeared to be recommending this approach.
From this recovery, 17 other channels restored successfully with funds returned to the on-chain wallet. However, 7 channels remained stuck in ChanStatusRestored state now since Feb '25.
After investigating further attempted past suggestions without any luck.
The first 3x channels below I dont' think we ever opened properly but not sure why they are still listed as pending. Last 4x channels below have unspent funds.
I am able to contact remote peer from channel #4 although they can't see this as an open channel on their node.
I have installed chantools and attempted to triggerforceclose although appears to have not successfully run from the logs, but I haven't attempted this again in case its the wrong approach.
Expected Outcome
Pending channel to be closed and sats returned to onchain wallet.
Attached Log File with focus on SCB and errors
Pending Channels Output
Beta Was this translation helpful? Give feedback.
All reactions