lncli-web icon indicating copy to clipboard operation
lncli-web copied to clipboard

Error: 12 UNIMPLEMENTED: unknown service lnrpc.Lightning

Open Stadicus opened this issue 6 years ago • 0 comments

I am setting up Lnd Web Client on my RaspiBolt and it runs very well. As a last step I'd like to automate startup with systemd, but here I encountered an issue.

The startup process is as follows:

  1. bitcoind
  2. lnd
  3. lncli-web

As lncli-web starts directly after lnd, the wallet is not unlocked yet. As expected, I get no details on the web client, as long as the wallet is locked. What I did not expect is that later on, after the wallet is unlocked, the web client is not able to connect to lnd and gives the error message "12 UNIMPLEMENTED: unknown service lnrpc.Lightning".

Screenshot: Chrome, after closing it comletely and re-authentication:

grafik

This issue seems seems to be known, I found it in other github repositories:

  • lightning-app: https://github.com/lightninglabs/lightning-app/issues/243
  • lnd-explorer: https://github.com/altangent/lnd-explorer/issues/6

I can reproduce the error without problem.

This works

admin ~ ฿ sudo systemctl start lnd
admin ~ ฿ lncli unlock
Input wallet password:

lnd successfully unlocked!
admin ~ ฿ sudo systemctl start lncli-web
admin ~ ฿ sudo systemctl status lncli-web
* lncli-web.service - Lnd Web Client
   Loaded: loaded (/etc/systemd/system/lncli-web.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2018-07-13 17:40:29 CEST; 6s ago
 Main PID: 2051 (node)
   CGroup: /system.slice/lncli-web.service
           |-2051 /usr/bin/node /home/web/lncli-web/server.js --usetls /home/web/lncli-web --serverhost 0.0.0.0 --user manager --pwd xxxxxxxx--limituser lnd --limitpwd xxxxxxxx
           `-2068 tail -F --sleep-interval=2 /home/web/.lnd/logs/bitcoin/testnet/lnd.log

Jul 13 17:40:29 RaspiBolt systemd[1]: Started Lnd Web Client.
Jul 13 17:40:32 RaspiBolt node[2051]: { pubKeyHex: '0315976de23b04f363f6b3a23cb7263c1fe98b5de18e4210fb67c52c810df1b04b',
Jul 13 17:40:32 RaspiBolt node[2051]:   paymentHashHex: '4e67764598fca6b07f96e706b9e3c3561fbd2f38cc019f97e4c503123b5bfe77',
Jul 13 17:40:32 RaspiBolt node[2051]:   value: 3 }
Jul 13 17:40:32 RaspiBolt node[2051]: yck3q5xn8cnxga9ssqtd3p3g8ox6un47hg8rrr85c9n13yep6garsuu8q3n3t9fgsb93p3agz8thgio9zwzutuybu6m6jtedne7iz9uzyyyyyyyyyyyy8n6fbmso
Jul 13 17:40:32 RaspiBolt node[2051]: { pubKeyHex: '0315976de23b04f363f6b3a23cb7263c1fe98b5de18e4210fb67c52c810df1b04b',
Jul 13 17:40:32 RaspiBolt node[2051]:   paymentHashHex: '4e67764598fca6b07f96e706b9e3c3561fbd2f38cc019f97e4c503123b5bfe77',
Jul 13 17:40:32 RaspiBolt node[2051]:   value: 3 }
Jul 13 17:40:34 RaspiBolt node[2051]: info:    App listening on 0.0.0.0 port 8280
Jul 13 17:40:34 RaspiBolt node[2051]: (node:2051) DeprecationWarning: grpc.load: Use the @grpc/proto-loader module with grpc.loadPackageDefinition instead

Screenshot in Chrome:

grafik

This does not work

admin ~ ฿ sudo systemctl stop lncli-web
admin ~ ฿ sudo systemctl stop lncli-web
admin ~ ฿ sudo systemctl restart lnd
admin ~ ฿ sudo systemctl status lnd
* lnd.service - LND Lightning Daemon
   Loaded: loaded (/etc/systemd/system/lnd.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2018-07-13 17:44:47 CEST; 16s ago
 Main PID: 2107 (lnd)
   CGroup: /system.slice/lnd.service
           `-2107 /usr/local/bin/lnd --externalip=91.190.22.151 --tlsextraip=91.190.22.151

Jul 13 17:44:47 RaspiBolt systemd[1]: Started LND Lightning Daemon.
Jul 13 17:44:47 RaspiBolt lnd[2107]: Attempting automatic RPC configuration to bitcoind
Jul 13 17:44:47 RaspiBolt lnd[2107]: Automatically obtained bitcoind's RPC credentials
Jul 13 17:44:47 RaspiBolt lnd[2107]: 2018-07-13 17:44:47.547 [INF] LTND: Version 0.4.2-beta commit=fc658dbf6043951f6ba8b8e86f4e67bc903cf6b7
Jul 13 17:44:47 RaspiBolt lnd[2107]: 2018-07-13 17:44:47.547 [INF] LTND: Active chain: Bitcoin (network=mainnet)
Jul 13 17:44:47 RaspiBolt lnd[2107]: 2018-07-13 17:44:47.548 [INF] CHDB: Checking for schema update: latest_version=1, db_version=1
Jul 13 17:44:47 RaspiBolt lnd[2107]: 2018-07-13 17:44:47.553 [INF] RPCS: password RPC server listening on [::]:10009
Jul 13 17:44:47 RaspiBolt lnd[2107]: 2018-07-13 17:44:47.554 [INF] RPCS: password gRPC proxy started at 127.0.0.1:8080
Jul 13 17:44:47 RaspiBolt lnd[2107]: 2018-07-13 17:44:47.555 [INF] LTND: Waiting for wallet encryption password. Use `lncli create` to create a wallet, `lncli unlock` to unlock an existing wallet, or `lncli ch

admin ~ ฿ sudo systemctl start lncli-web
admin ~ ฿ sudo systemctl status lncli-web
* lncli-web.service - Lnd Web Client
   Loaded: loaded (/etc/systemd/system/lncli-web.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2018-07-13 17:45:19 CEST; 14s ago
 Main PID: 2134 (node)
   CGroup: /system.slice/lncli-web.service
           |-2134 /usr/bin/node /home/web/lncli-web/server.js --usetls /home/web/lncli-web --serverhost 0.0.0.0 --user manager --pwd 2ld27idr --limituser lnd --limitpwd rocks
           `-2150 tail -F --sleep-interval=2 /home/web/.lnd/logs/bitcoin/testnet/lnd.log

Jul 13 17:45:19 RaspiBolt systemd[1]: Started Lnd Web Client.
Jul 13 17:45:21 RaspiBolt node[2134]: { pubKeyHex: '0315976de23b04f363f6b3a23cb7263c1fe98b5de18e4210fb67c52c810df1b04b',
Jul 13 17:45:21 RaspiBolt node[2134]:   paymentHashHex: '4e67764598fca6b07f96e706b9e3c3561fbd2f38cc019f97e4c503123b5bfe77',
Jul 13 17:45:21 RaspiBolt node[2134]:   value: 3 }
Jul 13 17:45:21 RaspiBolt node[2134]: yck3q5xn8cnxga9ssqtd3p3g8ox6un47hg8rrr85c9n13yep6garsuu8q3n3t9fgsb93p3agz8thgio9zwzutuybu6m6jtedne7iz9uzyyyyyyyyyyyy8n6fbmso
Jul 13 17:45:21 RaspiBolt node[2134]: { pubKeyHex: '0315976de23b04f363f6b3a23cb7263c1fe98b5de18e4210fb67c52c810df1b04b',
Jul 13 17:45:21 RaspiBolt node[2134]:   paymentHashHex: '4e67764598fca6b07f96e706b9e3c3561fbd2f38cc019f97e4c503123b5bfe77',
Jul 13 17:45:21 RaspiBolt node[2134]:   value: 3 }
Jul 13 17:45:23 RaspiBolt node[2134]: info:    App listening on 0.0.0.0 port 8280
Jul 13 17:45:23 RaspiBolt node[2134]: (node:2134) DeprecationWarning: grpc.load: Use the @grpc/proto-loader module with grpc.loadPackageDefinition instead
admin ~ ฿ lncli unlock
Input wallet password:

lnd successfully unlocked!

See screenshot at the beginning: in Chrome, after closing it comletely, waiting about a minute and re-authentication as limituser.

Random thought: could this have something to do with the process that is reading the testnet log file? 2150 tail -F --sleep-interval=2 /home/web/.lnd/logs/bitcoin/testnet/lnd.log

Some system / version information:

Linux RaspiBolt 4.14.30-v7+ #1102 SMP Mon Mar 26 16:45:49 BST 2018 armv7l GNU/Linux
Raspbian GNU/Linux 9 (stretch)
OpenSSL 1.1.0f  25 May 2017
LND 0.4.2-beta

Stadicus avatar Jul 13 '18 15:07 Stadicus