Skip to content

[bug]: [wtclient] Tower that died make lnd start for hours #10646

@jkuchar

Description

@jkuchar

Pre-Submission Checklist

  • I have searched the existing issues and believe this is a new bug.
  • I am not asking a question about how to use lnd, but reporting a bug (otherwise open a discussion).

LND Version

v0.20.1-beta

LND Configuration

wtclient.active=true
wtclient.sweep-fee-rate=10

postgres as a backend (has the same problem with boltzdb)

Backend Version

Bitcoin Code 30.2.0

Backend Configuration

nlynet=ipv4
onlynet=ipv6
onlynet=onion
onlynet=i2p
listen=1
listenonion=1
i2pacceptincoming=1
peerblockfilters=1
blockfilterindex=1
peerbloomfilters=0
bantime=86400
maxconnections=125
maxreceivebuffer=5000
maxsendbuffer=1000
peertimeout=60
timeout=5000
maxuploadtarget=0
dbcache=450
prune=0
txindex=1
datacarrier=1
datacarriersize=83
permitbaremultisig=1
maxmempool=1000
mempoolexpiry=336
persistmempool=1
rest=0
rpcworkqueue=128
chain=main

...excluding networking configuration

OS/Distribution

docker image on linux

Bug Details & Steps to Reproduce

  1. Start LND
  2. Add watchtower & kill it
  3. Do some routing
  4. Restart LND -> it will take hours to restart

Expected Behavior

It starts promptly

I woud like to be able completely remove dead tower, so it does not interfere with the lnd start. I was able to at least disable dead towers, but it looks like they are still contacted during the lnd start.

Debug Information

All of these watchtowers are disabled (as removing is not possible). Anyway lnd tries to connect to them anyway.

For some reason it takes (minutes) to get answer for

$ lncli wtclient towers
(minutes)
2026-03-17 21:28:49.736 [ERR] WTCL: error deleting session xxx from tower: failed to dial tower(xxx) at any available addresses
2026-03-17 21:28:55.443 [ERR] WTCL: error deleting session xxx from tower: failed to dial tower(xxx) at any available addresses
2026-03-17 21:28:59.800 [ERR] WTCL: error deleting session xxx from tower: failed to dial tower(xxx) at any available addresses
2026-03-17 21:29:05.350 [ERR] WTCL: error deleting session xxx from tower: failed to dial tower(xxx) at any available addresses
2026-03-17 21:29:09.213 [ERR] WTCL: error deleting session xxx from tower: failed to dial tower(xxx) at any available addresses
2026-03-17 21:29:14.907 [ERR] WTCL: error deleting session xxx from tower: failed to dial tower(xxx) at any available addresses
2026-03-17 21:29:19.187 [ERR] WTCL: error deleting session xxx from tower: failed to dial tower(xxx) at any available addresses
2026-03-17 21:29:21.142 [INF] WTCL: (legacy) Client stats: tasks(received=0 accepted=0 ineligible=0) sessions(acquired=0 exhausted=0)
2026-03-17 21:29:25.939 [ERR] WTCL: error deleting session xxx from tower: failed to dial tower(xxx) at any available addresses

Environment

I use no API to interact with LND watchtower.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions