ACINQ / eclair-mobile

An Android wallet for the Lightning Network
Apache License 2.0
258 stars 44 forks source link

Tried to pay on lightning and acinq channel was closed uncooperative #79

Open bitcoinuser opened 6 years ago

bitcoinuser commented 6 years ago

See:

photo4920351325443696659

bitcoinuser commented 6 years ago

Now I opened a channel with rompert, tried to pay the same service,the transaction is pending and seconds after the channel was closed uncooperative too.

bitcoinuser commented 6 years ago

The rompert channel it's closing uncooperative. But now this channel never close. How to recover the money?

photo4922603125257381862

photo4922603125257381863

bitcoinuser commented 6 years ago

I imported my eclair wallet seed on electrum wallet and the balance is 0

captura de tela de 2018-05-26 19-47-57

robtex commented 6 years ago

for your pleasure, attached log about that channel from my side (rompert.com) http://paste.ubuntu.com/p/xD7Tm6fpbR/

sstone commented 6 years ago

Which service where you trying to pay ? Did you see any error message ? It looks like your eclair wallet closed the channel and published its commit tx, so you need to wait (about 5 hours from now) until it can be spent and the funds returned to the bitcoin wallet that is embedded in eclair. When it happens the electrum wallet that you've initialized with the same seed will be updated too.

bitcoinuser commented 6 years ago

Hi @sstone, I was trying to pay for a book on the store 9bravos.com.br. The store is from this guy on twitter: https://twitter.com/ricsodre The 9bravos node is: 0235591b82c3856e6ccfc10b70b7ccdce45c30994500c848fe1c81d8f6c3db604a@177.159.51.156:9735

I didn't see any error. I just tried to pay the invoice and seconds after the channel was closed uncooperative.

I will wait the 5 hours to see if the funds is returned.

Thanks.

bitcoinuser commented 6 years ago

Do you think we have a bug here? I think strange because this (uncooperative close channel) happened with acinq and rompert nodes.

bitcoinuser commented 6 years ago

Which service where you trying to pay ? Did you see any error message ? It looks like your eclair wallet closed the channel and published its commit tx, so you need to wait (about 5 hours from now) until it can be spent and the funds returned to the bitcoin wallet that is embedded in eclair. When it happens the electrum wallet that you've initialized with the same seed will be updated too.

I still don't see the funds on eclair or electrum.

robtex commented 6 years ago

for whatever it's worth, i've tried myself using my eclair to open a channel to my node. twice the past 24 hours. both times it ended up in uncooperative close before i got to use it. feel free to try it yourselves if it helps. 02ad6fb8d693dc1e4569bcedefadf5f72a931ae027dc0f0c544b34c1c6f3b9a02b@167.99.50.31:9735 (rompert.com) it currently has 36 inbound private channels which i presume are eclairs, so for some reason it seems to have worked before. using latest lnd master and latest eclair let me know if i can help further

sstone commented 6 years ago

@robtex I cannot open a channel to 02ad6fb8d693dc1e4569bcedefadf5f72a931ae027dc0f0c544b34c1c6f3b9a02b, seems to be offline ?

bitcoinuser commented 6 years ago

Hi, today the channel was closed and I received the funds. Now I just would like to understand why the channels was closed. Can this happen again?

pldelattre commented 6 years ago

Same issue for me... I was doing a payment from a eclair android wallet (v3.1 from playstore) to a lnd node I control on a raspberry pi (direct channel between the two). It used to work well but eclair has decided to close the channel (CLOSING (uncooperative)). I don't understand why...

robtex commented 6 years ago

@sstone thanks for trying. unfortunately my lnd node has trouble starting up today at all. i opened a channel to a client of mine instead. it also force closed. that lnd is still up, try 03295d2e292565743a40bd44da227a820f8730877bc3dfadebade8785bcf355258@159.203.122.47:9735 it has very few channels so it should be easier to find stuff in the log there, and i have access to that machine.

sstone commented 6 years ago

@pldelattre what has changed since it used to work ? It there anything relevant in your lnd logs ?

sstone commented 6 years ago

I cannot reproduce the pb locally (on regtest) with eclair and lnd. I've opened a channel with @robtex's node (03295d2e292565743a40bd44da227a820f8730877bc3dfadebade8785bcf355258) and I've been able to pay yalls. EDIT: sorry I had another channel, payment went through it. I cannot pay yalls from 03295... (unknown next peer) but channel is still open. And I can pay yalls through our ACINQ node which has a connection to yalls on mainnet (and yalls is running lnd).

robtex commented 6 years ago

@sstone you forwarded via that that node? 03295d2e292565743a40bd44da227a820f8730877bc3dfadebade8785bcf355258 claims that it has NOT forwarded any transactions at all the past 24 hours and it does not have any private channels. i can try looking for your node id or channel id if you like. the only recent channel i see is a public one, but is that from an eclair wallet? i thought those were always private. https://www.robtex.com/lightning/channel/577044593109696513

sstone commented 6 years ago

@robtex no it went through another channel (see edit above). I'm testing from our server node, not the android app (they share the same code). Do you have a route to yalls on 03295 ?

robtex commented 6 years ago

yes, i'm setting up a direct channel to yalls now to make sure. stay tuned

robtex commented 6 years ago

ok direct channel to yalls established and 6 confirmations and announced. https://www.robtex.com/lightning/channel/577056687635365888

robtex commented 6 years ago

@sstone just fyi, i set up a new channel on my eclair to the 03295 node and successfully paid yalls thru that channel. (eclair also has a channel with ACINQ) all looking good today, but this is the fourth channel i set up from eclair to 03295. the other three got uncooperatively closed.

checked the logs for a previous attempt. hope it helps

2018-05-27 08:17:11.688 [INF] PEER: unable to read message from x.x.x.x:47657: read tcp 159.203.122.47:9735->x.x.x.x:47657: use of closed network connection
2018-05-27 08:17:11.690 [ERR] FNDG: unable to cancel reservation for node=0251d1c13305d3d416ec75b4f74ca9d47e692b88fa330ffee9ae8548f14a9e0535: attempted to cancel non-existent funding state
2018-05-27 08:17:11.696 [ERR] SRVR: unable to get channel links: unable to locate channel link by destination hop id 0251d1c13305d3d416ec75b4f74ca9d47e692b88fa330ffee9ae8548f14a9e0535
2018-05-27 08:17:11.696 [ERR] FNDG: unable to send FundingSigned message: peer exiting
2018-05-27 08:17:11.697 [ERR] FNDG: Failing funding flow: peer exiting ((*lnwire.Error)(0xc424ea2140)({ChanID: (lnwire.ChannelID) (len=32 cap=32) 48d1addd70a4932fe16a1cae914f7ad3fc98efdc734c7cf1f9d6f764f1d368c4,
Data: (lnwire.ErrorData) (len=36 cap=48) {
00000000  66 75 6e 64 69 6e 67 20  66 61 69 6c 65 64 20 64  |funding failed d|
00000010  75 65 20 74 6f 20 69 6e  74 65 72 6e 61 6c 20 65  |ue to internal e|
00000020  72 72 6f 72                                       |rror|
}
})
)
2018-05-27 08:17:11.697 [INF] FNDG: Cancelling funding reservation for node_key=0251d1c13305d3d416ec75b4f74ca9d47e692b88fa330ffee9ae8548f14a9e0535, chan_id=48d1addd70a4932fe16a1cae914f7ad3fc98efdc734c7cf1f9d6f764f1d368c4
2018-05-27 08:17:11.697 [ERR] FNDG: unable to cancel reservation: unable to find reservation: unknown channel (id: 48d1addd70a4932fe16a1cae914f7ad3fc98efdc734c7cf1f9d6f764f1d368c4)
2018-05-27 08:17:11.697 [INF] SRVR: Attempting to send msgs 1 to: 0251d1c13305d3d416ec75b4f74ca9d47e692b88fa330ffee9ae8548f14a9e0535
2018-05-27 08:17:11.697 [ERR] SRVR: unable to send message to 0251d1c13305d3d416ec75b4f74ca9d47e692b88fa330ffee9ae8548f14a9e0535, peer is not connected
2018-05-27 08:17:11.699 [ERR] FNDG: unable to send error message to peer peer is not connected
sstone commented 6 years ago

@robtex I can also pay yalls through 03295d2e292565743a40bd44da227a820f8730877bc3dfadebade8785bcf355258

The error you posted seems to be a funding error on lnd's side, as if lnd was funding the channel (and not the other way round)

whizz commented 6 years ago

I am seeing similar stuff. Tried opening channel from Eclair to my lnd node, running lnd 0.4.2. The channel was waiting for confirmation and then immediately closed and ended in CLOSING (uncooperative) state. I don't know how to access Eclair logs but the relevant part of log from lnd is attached. It looks like the close was initiated by Eclair.

The eclair node is 021bab430a8b5db5bedf6b2c3c3aaf75332b8c25eda09d892a1e1d0eff6710d1a7

eclair-lnd.log

slush0 commented 6 years ago

I'm observing same behaviour; Channel opened to ACINQ node keeps nicely for many days, but attempts to open channel to lnd (tested my lnd node running 0.4.2 and also other lnd node) are getting closed uncooperatively, for no obvious reason.

It definitely may be a lnd issue, but lack of any logging or error messaging from Eclair side isn't helping much.

sstone commented 6 years ago

Which version of eclair-wallet are you using ? Is there anything in your lnd logs that may help ? lnd had a few interop-related issues (see https://github.com/lightningnetwork/lnd/issues/1337 for example) that have been fixed but some lnd nodes have not been upgraded yet. There was also a new feature that was added to LN and that only was partially supported by lnd for a while which caused serious connections issues with eclair-wallet and c-lightning (it's been fixed now). Can you test with bitrefill.com ? They run lnd, and monitor and upgrade their nodes so it's a good reference.

LN is a very strict protocol (when there is an error channels often get closed) and sometime there is not much you can report, especially on the mobile app, but we'll release a new version soon that will display, when possible, more information when a channel is closed.

slush0 commented 6 years ago

I'm always running lnd master, so if these issues weren't fixed in day of reporting, it was something different.

I was, however, able to open the channel few days ago and the channel still holds. So maybe this has been fixed by recent lnd or eclair updates.

sstone commented 6 years ago

The biggest issues (zlib support and disconnect-reconnect loops) have been fixed some time ago in lnd so everything should work fine now.