eclair-mobile icon indicating copy to clipboard operation
eclair-mobile copied to clipboard

Auto-closed channel to my own LN node

Open STAWKEYE opened this issue 6 years ago • 21 comments

I run a LN node using Eclair on PC, connected with a handful of channels. Yesterday I downloaded Eclair mobile wallet for android, funded it, and then set up a payment channel with my own node on PC. The mobile wallet showed LN balance and an on-chain balance of what I didn't put in the payment channel (as expected). Today I open mobile wallet for first time today, and LN balance is 0, all funds are showing up under on-chain BTC. Tx list shows a 0 confirmation Tx migrating all my payment channel funds back on-chain. Checking main Eclair LN node on PC shows that my payment channel with my phone is "CLOSING". I did not wish for the channel to be closed, and am wasting Tx fees as I try and learn LN, opening and closing channels excessively due to anomalies like this.

LN Node (on PC) URI: 02065e25c272203440b66ea0ba66601d1248564554d0a68472b82511af54288120@71.225.72.81:9735

Remote node ID (phone): 03d3fdd1336f220a9f597a323971cdb297f8282fce42d1072860574e90a44b6653

Funding TxID (opening mobile wallet's channel): 7a4a76103df41ecdc0ad86e688e37b9823d2c504baa507e5d9f36761ebd7df6c

Closing Tx ID (automatic closing of channel against my will): 1f213f9c3feb1afdb973047f354a234989dc22a83ad04def59dd5a9be688cfa0

Thanks for any help - I am no dev or programmer.

STAWKEYE avatar Sep 21 '18 14:09 STAWKEYE

Hello, can you paste your eclair.log file (to pastebin or something similar) ? Your log file will be in your eclair directory, which by default is ~/.eclair on linux and c:\Users\YOUR_USER_NAME.eclair on windows

sstone avatar Sep 21 '18 16:09 sstone

wow the log file is over 200MB - is that normal? Still trying to get it on pastebin but both notepad and pastebin aren't being responsive with such a large file

STAWKEYE avatar Sep 21 '18 16:09 STAWKEYE

Can you just paste the logs for the last 2 days ?

sstone avatar Sep 21 '18 17:09 sstone

No idea if I did this correctly - the log was so massive that I could only paste a few random lines to stay below the 500kb pastebin limit. The log is recording events several times a second nonstop and so I will unfortunately probably not be able to provide you any useful log info... On the bright side I set up a new channel to my same LN node after this one closed and I was able to buy those Blockstream stickers, FWIW. Below is the pastebin: https://pastebin.com/raw/9p5gFBj0

STAWKEYE avatar Sep 21 '18 17:09 STAWKEYE

You can check for error that look like peer sent error: ascii='local/remote feerates are too different: remoteFeeratePerKw=848 localFeeratePerKw=12031' We've released our beta6 that should prevent channels from getting closed when peers disagree on fee estimations in most cases. And we now ship a default logging configuration with a rolling policy (one log file per day).

sstone avatar Sep 26 '18 16:09 sstone

Excellent - I like the broken-up log files and so far my 2nd payment channel (that I set up when I originally posted this issue) has not disconnected yet.

STAWKEYE avatar Sep 28 '18 13:09 STAWKEYE

I can't believe it - but it just disconnected in a force close. The error was the "local/remote feerates are too different" issue. I am running beta6 Eclair node and latest eclair mobile wallet from the Google Play store (although technically the payment channel was created a day before I updated from beta 5 to 6).

All of my outbound channels from my LN node are set to a firm 1satoshi/byte, but I am not sure what the mobile wallet is doing when I create the payment channel from my mobile wallet to my LN node. I use "slowest/lowest fee" setting when funding the payment channel to my node, but I assume that is simply to determine the Tx fee of the on-chain initial funding. I assume the payment channel from my mobile wallet to my LN node is Txfee-free once it's set up.

Since this channel was created prior to beta6 release I will reopen later today when the BTC mempool clears, and hope for the best.

STAWKEYE avatar Sep 28 '18 17:09 STAWKEYE

Add this to your eclair.conf:

eclair.max-feerate-mismatch=100000 // basically we accept everything

it won't solve the issue but will remove the symptoms

What was the full error message?

pm47 avatar Sep 28 '18 18:09 pm47

In mobile wallet, upon clicking on the closed channel to get details, under "Cause of closing" it says "local/remote feerates are too different: remoteFeeratePerKw=792 localFeeratePerKw=5589" (see screenshot).

Also FWIW, it incorrectly states that the channel was opened Sept28th at 8:15am (which roughly corresponds to the time I tried to make a purchase, however the funding Tx for that channel happened on Sept25th and the channel has been open since, until about 1pm EST today.)

screenshot_2018-09-28-13-18-04

STAWKEYE avatar Sep 28 '18 18:09 STAWKEYE

There is a huge difference in estimates, which is interesting.

Can you attach the relevant eclair logs?

pm47 avatar Sep 28 '18 18:09 pm47

eclair.log

STAWKEYE avatar Sep 28 '18 18:09 STAWKEYE

If you look at the BTC mempool around 9am EST (maybe 40 minutes after my initial purchase attempt but long before the ultimate closing of the channel around 1pmEST) there is a massive spike which could have caused significant changes to the average Tx fee, if that's what you mean. https://jochen-hoenicke.de/queue/#0,24h

STAWKEYE avatar Sep 28 '18 18:09 STAWKEYE

What is your timezone?

pm47 avatar Sep 28 '18 18:09 pm47

EST (Eastern Standard)

STAWKEYE avatar Sep 28 '18 18:09 STAWKEYE

Oops - I just Googled my own time and it's "technically" EDT right now (Eastern Daylight Time). Whatever New York City is...

STAWKEYE avatar Sep 28 '18 18:09 STAWKEYE

there is a massive spike which could have caused significant changes to the average Tx fee, if that's what you mean

Exactly.

long before the ultimate closing of the channel around 1pmEST

No, the channel closing got initiated at 10pmEDT, when the fee spiked:

2018-09-28 09:53:02,559 ERROR f.a.e.channel.Channel  n:03d3fdd1336f220a9f597a323971cdb297f8282fce42d1072860574e90a44b6653 c:68d3d973df0da020e5f91f337fdb26c476db736cb9b455592b9c1ea5d8658e06 - local/remote feerates are too different: remoteFeeratePerKw=792 localFeeratePerKw=5589 while processing msg=CurrentFeerates in state=NORMAL

So you basically turned on eclair wallet at the worst possible moment, but we still need to handle fee varations of that amplitude @sstone

pm47 avatar Sep 28 '18 18:09 pm47

Wow - well kudos to you for actually figuring that out, haha. I have been having significant trouble getting successful payments in either mobile wallet or direct from LN node and I'm hoping that this was the underlying issue for all of them. Technically, so far the only successful payment I've had was for those Blockstream stickers, and for that I created a direct payment channel to their node which isn't "really" the full LN experience since routing is not involved. I've added that above line to the config file and am running latest instances of everything and so I'll reopen a channel from mobile to my node and see how it goes.

STAWKEYE avatar Sep 28 '18 18:09 STAWKEYE

My Eclair Mobile automatically closed a channel to the ACINQ node on 4.10.2019 (October) for exactly the same reason. remoteFeeratePerKw=10500 localFeeratePerKw=1241 It was an inbound channel so I got to pay for liquidity again. Would be nice if we can set the max-feerate-mismatch on the mobile wallet too. Or it should ask before closing a channel. Please also fix the channel opened time value on the Channel Details screen.

kozo-cz avatar Oct 19 '19 19:10 kozo-cz

@dpad85 we could indeed add a setting to set the tolerance to fee mismatches (e.g. low/medium/high). @kozo-cz how about submitting a PR?

pm47 avatar Oct 21 '19 08:10 pm47

@STAWKEYE your setup is different: your mobile is the funder, so it chooses the feerate, and you can configure your node to be tolerant. In @kozo-cz's case the funder is the node, so we would have to tell eclair mobile to be tolerant. It's the other way around.

pm47 avatar Oct 21 '19 15:10 pm47

Oh, my mistake - I see now. Deleted to avoid confusion.

STAWKEYE avatar Oct 21 '19 15:10 STAWKEYE