LND is not working anymore (runtime error in log)

Hi,

since a recent restart LND is not syncing anymore and keeps in the “Synchronizing” state in the dashboard.

These are the logs via ssh that report a bug I don’t know what to do about it:

lnd                  | 2022-05-03 12:29:48.066 [INF] LTND: Version: 0.14.2-beta commit=v0.14.2-beta, build=production, logging=default, debuglevel=info
lnd                  | 2022-05-03 12:29:48.066 [INF] LTND: Active chain: Bitcoin (network=mainnet)
lnd                  | 2022-05-03 12:29:48.070 [INF] RPCS: RPC server listening on 0.0.0.0:10009
lnd                  | 2022-05-03 12:29:48.088 [INF] RPCS: gRPC proxy started at 0.0.0.0:8080
lnd                  | 2022-05-03 12:29:48.088 [INF] LTND: Opening the main database, this might take a few minutes...
lnd                  | 2022-05-03 12:29:48.089 [INF] LTND: Opening bbolt database, sync_freelist=false, auto_compact=false
lnd                  | 2022-05-03 12:29:48.614 [INF] LTND: Shutdown complete
lnd                  | 
lnd                  | panic: runtime error: slice bounds out of range [::2147484337] with length 2147483647
lnd                  | 
lnd                  | goroutine 1 [running]:
lnd                  | go.etcd.io/bbolt.unsafeByteSlice(...)
lnd                  | 	go.etcd.io/bbolt@v1.3.6/unsafe.go:27
lnd                  | go.etcd.io/bbolt.(*leafPageElement).key(...)
lnd                  | 	go.etcd.io/bbolt@v1.3.6/page.go:126
lnd                  | go.etcd.io/bbolt.(*Cursor).keyValue(0x4000b057c8)
lnd                  | 	go.etcd.io/bbolt@v1.3.6/cursor.go:350 +0x1c0
lnd                  | go.etcd.io/bbolt.(*Cursor).next(0x4000b057c8)
lnd                  | 	go.etcd.io/bbolt@v1.3.6/cursor.go:242 +0xe8
lnd                  | go.etcd.io/bbolt.(*Cursor).Next(0x4000b057c8)
lnd                  | 	go.etcd.io/bbolt@v1.3.6/cursor.go:75 +0x38
lnd                  | go.etcd.io/bbolt.(*Bucket).ForEach(0x40001787c0, 0x4000b05818)
lnd                  | 	go.etcd.io/bbolt@v1.3.6/bucket.go:389 +0xcc
lnd                  | go.etcd.io/bbolt.(*Tx).checkBucket(0x400049c7e0, 0x40001787c0, 0x4000b05b00, 0x4000b05ad0, 0x4000894d20)
lnd                  | 	go.etcd.io/bbolt@v1.3.6/tx.go:487 +0xec
lnd                  | go.etcd.io/bbolt.(*Tx).checkBucket.func2({0x7f80af23eb, 0xa, 0xa}, {0x0, 0x0, 0x0})
lnd                  | 	go.etcd.io/bbolt@v1.3.6/tx.go:489 +0x90
lnd                  | go.etcd.io/bbolt.(*Bucket).ForEach(0x400049c7f8, 0x4000b05978)
lnd                  | 	go.etcd.io/bbolt@v1.3.6/bucket.go:390 +0x10c
lnd                  | go.etcd.io/bbolt.(*Tx).checkBucket(0x400049c7e0, 0x400049c7f8, 0x400090db00, 0x400090dad0, 0x4000894d20)
lnd                  | 	go.etcd.io/bbolt@v1.3.6/tx.go:487 +0xec
lnd                  | go.etcd.io/bbolt.(*DB).freepages(0x40000f38c0)
lnd                  | 	go.etcd.io/bbolt@v1.3.6/db.go:1059 +0x164
lnd                  | go.etcd.io/bbolt.(*DB).loadFreelist.func1()
lnd                  | 	go.etcd.io/bbolt@v1.3.6/db.go:320 +0xd4
lnd                  | sync.(*Once).doSlow(0x40000f3a30, 0x400090dc88)
lnd                  | 	sync/once.go:68 +0x108
lnd                  | sync.(*Once).Do(...)
lnd                  | 	sync/once.go:59
lnd                  | go.etcd.io/bbolt.(*DB).loadFreelist(0x40000f38c0)
lnd                  | 	go.etcd.io/bbolt@v1.3.6/db.go:316 +0x58
lnd                  | go.etcd.io/bbolt.Open({0x40000fbfb0, 0x28}, 0x180, 0x400090ede0)
lnd                  | 	go.etcd.io/bbolt@v1.3.6/db.go:293 +0x528
lnd                  | github.com/btcsuite/btcwallet/walletdb/bdb.openDB({0x40000fbfb0, 0x28}, 0x1, 0x0, 0xdf8475800)
lnd                  | 	github.com/btcsuite/btcwallet/walletdb@v1.3.6-0.20210803004036-eebed51155ec/bdb/db.go:472 +0xa4
lnd                  | github.com/btcsuite/btcwallet/walletdb/bdb.openDBDriver({0x40007f4b70, 0x3, 0x3})
lnd                  | 	github.com/btcsuite/btcwallet/walletdb@v1.3.6-0.20210803004036-eebed51155ec/bdb/driver.go:61 +0x9c
lnd                  | github.com/btcsuite/btcwallet/walletdb.Open({0x165bf28, 0x3}, {0x40007f4b70, 0x3, 0x3})
lnd                  | 	github.com/btcsuite/btcwallet/walletdb@v1.3.6-0.20210803004036-eebed51155ec/interface.go:361 +0x80
lnd                  | github.com/lightningnetwork/lnd/kvdb.GetBoltBackend(0x400090f2d0)
lnd                  | 	github.com/lightningnetwork/lnd/kvdb@v1.3.0/backend.go:106 +0x1bc
lnd                  | github.com/lightningnetwork/lnd/lncfg.(*DB).GetBackends(0x400001a000, {0x1a54510, 0x400001b100}, {0x40007ad1c0, 0x1d}, {0x40000fb110, 0x25}, {0x40000fbf80, 0x2a}, 0x0, ...)
lnd                  | 	github.com/lightningnetwork/lnd/lncfg/db.go:392 +0x20b8
lnd                  | github.com/lightningnetwork/lnd.(*DefaultDatabaseBuilder).BuildDatabase(0x4000306f00, {0x1a54510, 0x400001b100})
lnd                  | 	github.com/lightningnetwork/lnd/config_builder.go:810 +0x324
lnd                  | github.com/lightningnetwork/lnd.Main(0x4000264f00, {{0x0, 0x0, 0x0}}, 0x4000309020, {0x4000478840, 0x40004de2a0, 0x40004de300, 0x40004de360, {0x0}})
lnd                  | 	github.com/lightningnetwork/lnd/lnd.go:353 +0x15d0
lnd                  | main.main()
lnd                  | 	github.com/lightningnetwork/lnd/cmd/lnd/main.go:38 +0x258
lnd                  | 2022-05-03 12:30:49.911 [INF] LTND: Version: 0.14.2-beta commit=v0.14.2-beta, build=production, logging=default, debuglevel=info
lnd                  | 2022-05-03 12:30:49.912 [INF] LTND: Active chain: Bitcoin (network=mainnet)
lnd                  | 2022-05-03 12:30:49.916 [INF] RPCS: RPC server listening on 0.0.0.0:10009
lnd                  | 2022-05-03 12:30:49.922 [INF] RPCS: gRPC proxy started at 0.0.0.0:8080
lnd                  | 2022-05-03 12:30:49.923 [INF] LTND: Opening the main database, this might take a few minutes...
lnd                  | 2022-05-03 12:30:49.923 [INF] LTND: Opening bbolt database, sync_freelist=false, auto_compact=false
lnd                  | 2022-05-03 12:30:50.399 [INF] LTND: Shutdown complete
lnd                  | 
lnd                  | panic: runtime error: slice bounds out of range [::2147484337] with length 2147483647
lnd                  | 
lnd                  | goroutine 1 [running]:
lnd                  | go.etcd.io/bbolt.unsafeByteSlice(...)
lnd                  | 	go.etcd.io/bbolt@v1.3.6/unsafe.go:27
lnd                  | go.etcd.io/bbolt.(*leafPageElement).key(...)
lnd                  | 	go.etcd.io/bbolt@v1.3.6/page.go:126
lnd                  | go.etcd.io/bbolt.(*Cursor).keyValue(0x40004977c8)
lnd                  | 	go.etcd.io/bbolt@v1.3.6/cursor.go:350 +0x1c0
lnd                  | go.etcd.io/bbolt.(*Cursor).next(0x40004977c8)
lnd                  | 	go.etcd.io/bbolt@v1.3.6/cursor.go:242 +0xe8
lnd                  | go.etcd.io/bbolt.(*Cursor).Next(0x40004977c8)
lnd                  | 	go.etcd.io/bbolt@v1.3.6/cursor.go:75 +0x38
lnd                  | go.etcd.io/bbolt.(*Bucket).ForEach(0x40008bad40, 0x4000497818)
lnd                  | 	go.etcd.io/bbolt@v1.3.6/bucket.go:389 +0xcc
lnd                  | go.etcd.io/bbolt.(*Tx).checkBucket(0x40008288c0, 0x40008bad40, 0x4000497b00, 0x4000497ad0, 0x40005d3080)
lnd                  | 	go.etcd.io/bbolt@v1.3.6/tx.go:487 +0xec
lnd                  | go.etcd.io/bbolt.(*Tx).checkBucket.func2({0x7f6c6953eb, 0xa, 0xa}, {0x0, 0x0, 0x0})
lnd                  | 	go.etcd.io/bbolt@v1.3.6/tx.go:489 +0x90
lnd                  | go.etcd.io/bbolt.(*Bucket).ForEach(0x40008288d8, 0x4000497978)
lnd                  | 	go.etcd.io/bbolt@v1.3.6/bucket.go:390 +0x10c
lnd                  | go.etcd.io/bbolt.(*Tx).checkBucket(0x40008288c0, 0x40008288d8, 0x4000497b00, 0x4000497ad0, 0x40005d3080)
lnd                  | 	go.etcd.io/bbolt@v1.3.6/tx.go:487 +0xec
lnd                  | go.etcd.io/bbolt.(*DB).freepages(0x40000f3200)
lnd                  | 	go.etcd.io/bbolt@v1.3.6/db.go:1059 +0x164
lnd                  | go.etcd.io/bbolt.(*DB).loadFreelist.func1()
lnd                  | 	go.etcd.io/bbolt@v1.3.6/db.go:320 +0xd4
lnd                  | sync.(*Once).doSlow(0x40000f3370, 0x4000497c88)
lnd                  | 	sync/once.go:68 +0x108
lnd                  | sync.(*Once).Do(...)
lnd                  | 	sync/once.go:59
lnd                  | go.etcd.io/bbolt.(*DB).loadFreelist(0x40000f3200)
lnd                  | 	go.etcd.io/bbolt@v1.3.6/db.go:316 +0x58
lnd                  | go.etcd.io/bbolt.Open({0x400040eab0, 0x28}, 0x180, 0x4000498de0)
lnd                  | 	go.etcd.io/bbolt@v1.3.6/db.go:293 +0x528
lnd                  | github.com/btcsuite/btcwallet/walletdb/bdb.openDB({0x400040eab0, 0x28}, 0x1, 0x0, 0xdf8475800)
lnd                  | 	github.com/btcsuite/btcwallet/walletdb@v1.3.6-0.20210803004036-eebed51155ec/bdb/db.go:472 +0xa4
lnd                  | github.com/btcsuite/btcwallet/walletdb/bdb.openDBDriver({0x40004afa70, 0x3, 0x3})
lnd                  | 	github.com/btcsuite/btcwallet/walletdb@v1.3.6-0.20210803004036-eebed51155ec/bdb/driver.go:61 +0x9c
lnd                  | github.com/btcsuite/btcwallet/walletdb.Open({0x165bf28, 0x3}, {0x40004afa70, 0x3, 0x3})
lnd                  | 	github.com/btcsuite/btcwallet/walletdb@v1.3.6-0.20210803004036-eebed51155ec/interface.go:361 +0x80
lnd                  | github.com/lightningnetwork/lnd/kvdb.GetBoltBackend(0x40004992d0)
lnd                  | 	github.com/lightningnetwork/lnd/kvdb@v1.3.0/backend.go:106 +0x1bc
lnd                  | github.com/lightningnetwork/lnd/lncfg.(*DB).GetBackends(0x40000bc900, {0x1a54510, 0x4000816640}, {0x4000470d20, 0x1d}, {0x400080bb90, 0x25}, {0x400040ea80, 0x2a}, 0x0, ...)
lnd                  | 	github.com/lightningnetwork/lnd/lncfg/db.go:392 +0x20b8
lnd                  | github.com/lightningnetwork/lnd.(*DefaultDatabaseBuilder).BuildDatabase(0x400000c378, {0x1a54510, 0x4000816640})
lnd                  | 	github.com/lightningnetwork/lnd/config_builder.go:810 +0x324
lnd                  | github.com/lightningnetwork/lnd.Main(0x4000848000, {{0x0, 0x0, 0x0}}, 0x400047e3c0, {0x400047e7e0, 0x40008ca2a0, 0x40008ca300, 0x40008ca360, {0x0}})
lnd                  | 	github.com/lightningnetwork/lnd/lnd.go:353 +0x15d0
lnd                  | main.main()
lnd                  | 	github.com/lightningnetwork/lnd/cmd/lnd/main.go:38 +0x258

With not a complete debug log, we can’t help you too much.
Please paste the entire debug log on https://0bin.net (is nothing to worry in there).

Hi,

here is the full log: https://0bin.net/paste/jAb4MtS+#hYUBxuShNu0k+SgxNyoMV+1VTeIF6B6kFghi694XfD1

LndUnlocker: Wallet failed to unlock!

That’s the cause.
Reflash your mSD card with latest version and be sure you didn’t have wrong lines in your lnd.conf.
For safety you can start your node with default lnd.conf file. Delete or rename the actual lnd.conf and let umbrel to crate a default one. Once all is ok, you can modify it back and restart only the lnd service.

It didn’t work out.

What I did:
-renamed lnd.conf in ~/umbrel/lnd
-removed mSD card and reflashed it with the newest image
After a fresh start I still have the same situation. There is no new default lnd.conf created.

I recreated the conf file with rm ~/umbrel/lnd/lnd.conf && ~/umbrel/scripts/configure && sudo reboot.

But lnd is still sending errors: https://0bin.net/paste/Si7PAll2#H9NC+JjmLAe7osMHrVrxJadlrP8C1ZEVUBYzE3oMRHl

Have patience, I see that the wallet is unlocked and electrs is still catching up.
Just some tor connection issues.

Waited for many hours, but the problem is still the same, lnd is throwing the errors.

Does another soution exist? Can I reinstall lnd?

Not sure if a reinstall will fix it. If you don’t exactly what cause that, it can happen again even after reinstall. So you will lose a lot of time, sats (if you have channels) because you will have to close the channels.
Could be just a issue with your Tor.