Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Core Lightning is incompatible with the Lightning Network - lacks support for payments #7180

Open
nakoshi-satamoto opened this issue Mar 27, 2024 · 100 comments

Comments

@nakoshi-satamoto
Copy link

I am not sure if it is just me or others also, but I have noticed that ever since updating to version 24 most payments fail.

I get alot of these messages, the htlc and node number varies though.

htlc 16 failed from 0th node with code 0x1007 (WIRE_TEMPORARY_CHANNEL_FAILURE)

then payment deadline expires.

I have even attempted to pay various invoices even with small payments, I also have some large channels (millions of sats) open with large and well connected nodes.

Posting this for visibility in case if others are experiencing this also. If there is something I can check to confirm if it is an issue with my node or corelightning I can do so.

@nakoshi-satamoto
Copy link
Author

To clarify, it is uncertain if this is a problem wiht my node or something to do with core lightning.

@vincenzopalazzo
Copy link
Collaborator

What happens if you put disable-mmp inside your config file and restart your node?

@nakoshi-satamoto
Copy link
Author

@vincenzopalazzo I was away from computer but I can try that now. Before I do that I want to know what that setting does. I am not finding any documentation on it. What is that setting?

@vincenzopalazzo
Copy link
Collaborator

the setting disable the multi path payment algorithm

@nakoshi-satamoto
Copy link
Author

disable-mmp is not a recgonized command or config setting by my Core Lightning.

@vincenzopalazzo
Copy link
Collaborator

@nakoshi-satamoto is disable-mpp sorry

@kilrau
Copy link

kilrau commented Apr 15, 2024

@nakoshi-satamoto is disable-mpp sorry

Did this change anything for you? @nakoshi-satamoto

@nakoshi-satamoto
Copy link
Author

@kilrau I actually did not need to.

Ever since I upgraded to core lightning verison 24.02 I kept getting alot of these errors in my logs for various channels. This also was an issue on V24.02.1

2024-04-15T04:27:36.026Z UNUSUAL lightningd: Bad gossip order: could not find channel 696011x284x1 for peer's channel update

After updating to the latest version of core lightning onto version 43.02.2 those gossip issues went away, transactions inbound and outbound are not failing anymore. Maybe it was related to gossip not working?

@vincenzopalazzo
Copy link
Collaborator

Maybe it was related to gossip not working?

probably yes

@nakoshi-satamoto
Copy link
Author

No longer an issue

@BitcoinMechanic
Copy link

Did 24.02.2 fix this for you? I upgraded to that and I'm still having the same issue. (Pages of Bad gossip order....)

@nakoshi-satamoto
Copy link
Author

nakoshi-satamoto commented May 9, 2024 via email

@blapcity
Copy link

also on 24.02.02 with high - payment failure rate and bad gossip order messages

@crc32
Copy link

crc32 commented May 27, 2024

I'm also on 24.02.02 (using the BTCPay Docker image), and 100% payment failures unless paying direct channel partners, and tons of bad gossip order messages. Cannot query remote routes at all, even to targets that are direct partners of channel partners. Incoming payments and some through-routes seem to work though (the through routes may only be working to next-node termination though).

Example log entries:

2024-05-27T18:19:39.925Z INFO plugin-pay: cmd 34 partid 0: Payment fee constraint 2500msat is below exemption threshold, allowing a maximum fee of 5000msat
2024-05-27T18:21:25.798Z INFO plugin-pay: cmd 34 partid 0: Payment fee constraint 2500msat is below exemption threshold, allowing a maximum fee of 5000msat
2024-05-27T18:47:11.456Z INFO plugin-pay: cmd 34 partid 0: Payment fee constraint 2500msat is below exemption threshold, allowing a maximum fee of 5000msat

2024-05-27T18:21:25.803Z INFO plugin-clnrest.py: RPC Error: {'code': 210, 'message': 'Destination 027cd974e47086291bb8a5b0160a889c738f2712a703b8ea939985fd16f3aae67e is not reachable directly and all routehints were unusable.', 'attempts': [{'status': 'failed', 'failreason': 'Destination 027cd974e47086291bb8a5b0160a889c738f2712a703b8ea939985fd16f3aae67e is not reachable directly and all routehints were unusable.', 'partid': 0, 'amount_msat': 500000msat}]}
2024-05-27T18:47:11.484Z INFO plugin-pay: cmd 34 partid 0: Destination 03b428ba4b48b524f1fa929203ddc2f0971c2077c2b89bb5b22fd83ed82ac2f7e1 is not reachable directly and all routehints were unusable.
2024-05-27T18:47:11.486Z INFO plugin-clnrest.py: RPC Error: {'code': 210, 'message': 'Destination 03b428ba4b48b524f1fa929203ddc2f0971c2077c2b89bb5b22fd83ed82ac2f7e1 is not reachable directly and all routehints were unusable.', 'attempts': [{'status': 'failed', 'failreason': 'Destination 03b428ba4b48b524f1fa929203ddc2f0971c2077c2b89bb5b22fd83ed82ac2f7e1 is not reachable directly and all routehints were unusable.', 'partid': 0, 'amount_msat': 500000msat}]}

2024-05-27T18:47:55.749Z UNUSUAL lightningd: Bad gossip order: could not find channel 844051x1140x1 for peer's channel update
2024-05-27T18:47:55.749Z UNUSUAL lightningd: Bad gossip order: could not find channel 786203x525x0 for peer's channel update
2024-05-27T18:49:25.765Z UNUSUAL lightningd: Bad gossip order: could not find channel 746879x1261x2 for peer's channel update
2024-05-27T18:49:25.775Z UNUSUAL lightningd: Bad gossip order: could not find channel 820913x3568x0 for peer's channel update

UPDATE:
I added disable-mpp to the startup file, with no effect.

@nakoshi-satamoto
Copy link
Author

I said that I can still do payments, I am ammending my claim. I can receive inbound payments no problem but I do have a high rate of failure for outbound payments unless it is a direct peer. Ever since I upgraded to version 24 I have noticed this and it also coinciding with the gossip error messages. I delete gossip database and it still keeps getting gossip errors.

@TTK-199837
Copy link

I am also experiencing this exact issue.

@rustyrussell
Copy link
Contributor

DO NOT delete the gossip store, you will not be able to make payments any more. You've made the network disappear, and it can take a while to refill.

Are you missing gossip? A healthy node should look like this:

$ lightning-cli -H listchannels | grep -c ^short_channel_id
85921
$ lightning-cli -H listnodes | grep -c ^nodeid
9062

That is, about 85000 public channels and 9000 nodes.

@TTK-199837
Copy link

TTK-199837 commented Jun 4, 2024 via email

@nakoshi-satamoto
Copy link
Author

nakoshi-satamoto commented Jun 6, 2024 via email

@blapcity
Copy link

blapcity commented Jun 7, 2024

Did this resolve your issue with payments ?

@nakoshi-satamoto
Copy link
Author

nakoshi-satamoto commented Jun 10, 2024 via email

@nakoshi-satamoto
Copy link
Author

nakoshi-satamoto commented Jun 10, 2024 via email

@cdecker
Copy link
Member

cdecker commented Jun 13, 2024

Any chance we could get some more logs to try and hone in on the cause for the increased failure rate? From the above they all seem to come more or less directly after deleting gossip_store (fails immediately due to lack of network view, rather than taking some time and performing real attempts).

The gossip order is very likely to be unrelated, so ignore that maybe for a bit. It is mostly a warning that the peer has given us gossip messages in the incorrect order (update before announcement, or node before any of it's channels).

@cdecker
Copy link
Member

cdecker commented Jun 13, 2024

One more thing, how many here are running btcpayserver? As it has been mentioned a number of times, I'd like to exclude that as a potential source.

@compane
Copy link

compane commented Jun 17, 2024

I have similar problems since upgrading to 24.05 without running btcpayserver. I'm only connected to boltz with a channel capacity of 1.000.000 sats. The logs below are from a failed transaction to phoenix wallet. Sending funds to wallet of satoshi was also not possible (same amount).

2024-06-15T21:25:26.486Z INFO    plugin-pay: cmd 34 partid 0: Initial limit on max HTLCs: 1305, Destination 027cd974e47086291bb8a5b0160a889c738f2712a703b8ea939985fd16f3aae67e has 87 channels, assuming 15 HTLCs per channel
2024-06-15T21:25:26.486Z INFO    lightningd: Sending 35000035msat in onion to deliver 35000000msat
2024-06-15T21:25:29.544Z INFO    02d96eadea3d780104449aca5c93461ce67c1564e2e1d73225fa67dd3b997a6018-chan#28: htlc 144 failed from 0th node with code 0x1007 (WIRE_TEMPORARY_CHANNEL_FAILURE)
2024-06-15T21:25:29.557Z INFO    plugin-pay: cmd 34 partid 0: failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)
2024-06-15T21:25:29.589Z INFO    lightningd: Sending 35001105msat in onion to deliver 35000000msat
2024-06-15T21:25:32.612Z INFO    02d96eadea3d780104449aca5c93461ce67c1564e2e1d73225fa67dd3b997a6018-chan#28: htlc 145 failed from 0th node with code 0x1007 (WIRE_TEMPORARY_CHANNEL_FAILURE)
2024-06-15T21:25:32.623Z INFO    plugin-pay: cmd 34 partid 1: failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)
2024-06-15T21:25:32.657Z INFO    lightningd: Sending 35001071msat in onion to deliver 35000000msat
2024-06-15T21:25:35.432Z INFO    02d96eadea3d780104449aca5c93461ce67c1564e2e1d73225fa67dd3b997a6018-chan#28: htlc 146 failed from 0th node with code 0x1007 (WIRE_TEMPORARY_CHANNEL_FAILURE)
2024-06-15T21:25:35.443Z INFO    plugin-pay: cmd 34 partid 2: failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)
2024-06-15T21:25:35.481Z INFO    lightningd: Sending 35004070msat in onion to deliver 35000000msat
2024-06-15T21:25:38.787Z INFO    02d96eadea3d780104449aca5c93461ce67c1564e2e1d73225fa67dd3b997a6018-chan#28: htlc 147 failed from 0th node with code 0x1007 (WIRE_TEMPORARY_CHANNEL_FAILURE)
2024-06-15T21:25:38.798Z INFO    plugin-pay: cmd 34 partid 3: failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)
2024-06-15T21:25:38.836Z INFO    lightningd: Sending 35003455msat in onion to deliver 35000000msat
2024-06-15T21:25:44.903Z INFO    02d96eadea3d780104449aca5c93461ce67c1564e2e1d73225fa67dd3b997a6018-chan#28: htlc 148 failed from 1th node with code 0x1007 (WIRE_TEMPORARY_CHANNEL_FAILURE)
2024-06-15T21:25:44.915Z INFO    plugin-pay: cmd 34 partid 4: failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)
2024-06-15T21:25:44.955Z INFO    lightningd: Sending 35003455msat in onion to deliver 35000000msat
2024-06-15T21:25:51.109Z INFO    02d96eadea3d780104449aca5c93461ce67c1564e2e1d73225fa67dd3b997a6018-chan#28: htlc 149 failed from 1th node with code 0x1007 (WIRE_TEMPORARY_CHANNEL_FAILURE)
2024-06-15T21:25:51.120Z INFO    plugin-pay: cmd 34 partid 5: failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)
2024-06-15T21:25:51.170Z INFO    lightningd: Sending 35003821msat in onion to deliver 35000000msat
2024-06-15T21:25:54.760Z INFO    02d96eadea3d780104449aca5c93461ce67c1564e2e1d73225fa67dd3b997a6018-chan#28: htlc 150 failed from 0th node with code 0x1007 (WIRE_TEMPORARY_CHANNEL_FAILURE)
2024-06-15T21:25:54.772Z INFO    plugin-pay: cmd 34 partid 6: failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)
2024-06-15T21:25:54.820Z INFO    lightningd: Sending 35001040msat in onion to deliver 35000000msat
2024-06-15T21:25:57.924Z INFO    02d96eadea3d780104449aca5c93461ce67c1564e2e1d73225fa67dd3b997a6018-chan#28: htlc 151 failed from 0th node with code 0x1007 (WIRE_TEMPORARY_CHANNEL_FAILURE)
2024-06-15T21:25:57.933Z INFO    plugin-pay: cmd 34 partid 7: failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)
2024-06-15T21:25:57.981Z INFO    lightningd: Sending 35001590msat in onion to deliver 35000000msat
2024-06-15T21:26:02.739Z INFO    02d96eadea3d780104449aca5c93461ce67c1564e2e1d73225fa67dd3b997a6018-chan#28: htlc 152 failed from 0th node with code 0x1007 (WIRE_TEMPORARY_CHANNEL_FAILURE)
2024-06-15T21:26:02.751Z INFO    plugin-pay: cmd 34 partid 8: failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)
2024-06-15T21:26:02.797Z INFO    lightningd: Sending 35004170msat in onion to deliver 35000000msat
2024-06-15T21:26:05.668Z INFO    02d96eadea3d780104449aca5c93461ce67c1564e2e1d73225fa67dd3b997a6018-chan#28: htlc 153 failed from 0th node with code 0x1007 (WIRE_TEMPORARY_CHANNEL_FAILURE)
2024-06-15T21:26:05.679Z INFO    plugin-pay: cmd 34 partid 9: failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)
2024-06-15T21:26:05.740Z INFO    lightningd: Sending 35003455msat in onion to deliver 35000000msat
2024-06-15T21:26:23.011Z INFO    02d96eadea3d780104449aca5c93461ce67c1564e2e1d73225fa67dd3b997a6018-chan#28: htlc 154 failed from 2th node with code 0x1007 (WIRE_TEMPORARY_CHANNEL_FAILURE)
2024-06-15T21:26:23.040Z INFO    plugin-pay: cmd 34 partid 10: failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)
2024-06-15T21:26:23.131Z INFO    lightningd: Sending 18167140msat in onion to deliver 18167122msat
2024-06-15T21:26:23.153Z INFO    lightningd: Sending 16833926msat in onion to deliver 16832878msat
2024-06-15T21:26:29.574Z INFO    02d96eadea3d780104449aca5c93461ce67c1564e2e1d73225fa67dd3b997a6018-chan#28: htlc 155 failed from 0th node with code 0x1007 (WIRE_TEMPORARY_CHANNEL_FAILURE)
2024-06-15T21:26:29.585Z INFO    plugin-pay: cmd 34 partid 11: failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)
2024-06-15T21:26:29.585Z INFO    plugin-pay: cmd 34 partid 11: Payment deadline expired, not retrying (partial-)payment 21229a3a6e8bb8d7001101d258bcf1f23ce2df2fc37406b25b1ad3a065193a4c/11
2024-06-15T21:26:30.010Z INFO    02d96eadea3d780104449aca5c93461ce67c1564e2e1d73225fa67dd3b997a6018-chan#28: htlc 156 failed from 0th node with code 0x1007 (WIRE_TEMPORARY_CHANNEL_FAILURE)
2024-06-15T21:26:30.021Z INFO    plugin-pay: cmd 34 partid 12: failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)
2024-06-15T21:26:30.021Z INFO    plugin-pay: cmd 34 partid 12: Payment deadline expired, not retrying (partial-)payment 21229a3a6e8bb8d7001101d258bcf1f23ce2df2fc37406b25b1ad3a065193a4c/12
2024-06-15T21:26:30.022Z UNUSUAL plugin-clrest.js: {\"type\":\"lightning\",\"name\":\"LightningError\",\"message\":\"Ran out of routes to try after 13 attempts: see `paystatus`\",\"code\":210,\"attempts\":[{\"status\":\"failed\",\"failreason\":\"failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)\",\"partid\":0,\"amount_msat\":35000000},{\"status\":\"failed\",\"failreason\":\"failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)\",\"partid\":1,\"amount_msat\":35000000,\"parent_partid\":0},{\"status\":\"failed\",\"failreason\":\"failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)\",\"partid\":2,\"amount_msat\":35000000,\"parent_partid\":1},{\"status\":\"failed\",\"failreason\":\"failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)\",\"partid\":3,\"amount_msat\":35000000,\"parent_partid\":2},{\"status\":\"failed\",\"failreason\":\"failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)\",\"partid\":4,\"amount_msat\":35000000,\"parent_partid\":3},{\"status\":\"failed\",\"failreason\":\"failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)\",\"partid\":5,\"amount_msat\":35000000,\"parent_partid\":4},{\"status\":\"failed\",\"failreason\":\"failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)\",\"partid\":6,\"amount_msat\":35000000,\"parent_partid\":5},{\"status\":\"failed\",\"failreason\":\"failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)\",\"partid\":7,\"amount_msat\":35000000,\"parent_partid\":6},{\"status\":\"failed\",\"failreason\":\"failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)\",\"partid\":8,\"amount_msat\":35000000,\"parent_partid\":7},{\"status\":\"failed\",\"failreason\":\"failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)\",\"partid\":9,\"amount_msat\":35000000,\"parent_partid\":8},{\"status\":\"pending\",\"failreason\":\"failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)\",\"partid\":10,\"amount_msat\":35000000,\"parent_partid\":9},{\"status\":\"failed\",\"failreason\":\"failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)\",\"partid\":11,\"amount_msat\":18167122,\"parent_partid\":10},{\"status\":\"failed\",\"failreason\":\"failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)\",\"partid\":12,\"amount_msat\":16832878,\"parent_partid\":10}],\"fullType\":\"lightning\"}

2024-06-17T17:52:39.935Z UNUSUAL lightningd: Bad gossip order: could not find channel 812591x937x0 for peer's channel update

If this issue is related, I'm happy to share more information.

@cdecker
Copy link
Member

cdecker commented Jun 19, 2024

Ok, I think I see what's happening. Just to be sure, can you provide the couple more lines above the snippet you posted? It contains the channel hints that we initialize based on our local view of the channels (listpeerchannels) which we then use to compute the actual route as an overlay on the gossip. It seems that we are picking a local channel that is either not fully reestablished or does not have sufficient balance. Then we somehow track the limits wrong and retry the same channel over and over again. At least skimming the logs, that's my best theory yet. More data and logs will help us pin this down and fix it.

Thanks for the logs, they are incredibly helpful 👍

@cdecker
Copy link
Member

cdecker commented Jun 19, 2024

Also, please set your log levels to debug.

@compane
Copy link

compane commented Jun 19, 2024

Thank your for taking the time. I set log levels to debug and did three transactions.

1 sat --> succeeded
10 sats --> succeeded
1000 sats --> failed
I had a 128000 sats transaction in the past which succeeded as well.

cln_debug_failed_1000sats_primal.txt
cln_debug_succeeded_10sats_phoenix.txt
cln_debug_succeeded_1sat_primal.txt

@nakoshi-satamoto
Copy link
Author

nakoshi-satamoto commented Aug 7, 2024 via email

@lightningcheckout
Copy link

A solution is already be worked on:
#7487

@nakoshi-satamoto
Copy link
Author

I wanted to confirm a work-around that others have mentioned.

If a payment fails I look at the log to see what channel the pay plugin was attempting to send it through, I then exclude that channel on my next payment attempt and it goes through fine.

@nakoshi-satamoto
Copy link
Author

Now even when I exclude channels payments are failing, regardless of payment size. I cannot even simply do a little 8,000 sat payment. Excluding one or more channels does nothing to resolve this.

And this is not fixed in the next release, because the next release, v24.08rc2 does not even start up. #7595

As of now, Version 24 does not work and there is no work around. The only solution at this point is to close all channels in Core Lightning and switch to something else, or wiat for a future release that might fix this issue. v24.08rc2 does not work at the moment.

@nakoshi-satamoto
Copy link
Author

nakoshi-satamoto commented Aug 27, 2024

I think I am closing down my Core Lightning node sadly, now I have to re-program things to work with a different lightning implementation. This goes back to my question, what other options are there? Is LND the only option? I'd rather avoid go-lang if possible. And please do not advise anything written in python.

@nakoshi-satamoto nakoshi-satamoto changed the title Payments very rarely work Core Lightning is incompatible with the Lightning Network - lacks support for payments Aug 27, 2024
@nakoshi-satamoto
Copy link
Author

nakoshi-satamoto commented Aug 27, 2024

I renamed this issue to "Core Lightning is incompatible with the Lightning Network - lacks support for payments" because a fundamental trait of the lightning network is the ability to do payments. Version 24 discontinued support for payments and so I consider it no longer a lightning network compatible implementation. At this point I'm considering Core Lightning no longer a legitimate option. Seeking alternatives.

I apprecaite devs and the work that has been behind Core Lightning for the many years, maybe one day this issue will be fixed. In the meantime I am seeking alternatives or I will fork Core Lightning v23 into a new project to bring back compatibility with the lightning network again. Core Lightning v23 is the last functioning version. Maybe at this point it would be good to just delete all commits in version 24 and go back to v23?

@nakoshi-satamoto
Copy link
Author

Does anyone know of any alternative lightning implementations that is not LND?

None that I can recommend. We at Boltz are set on CLN and determined to get this fixed, there is nothing that comes close with regards to stability and flexibility.

@kilrau How can you say that "nothing comes close" when CLN does not even support payments? Isn't the ability to do payments the main purpose of the lightning network? I really am curious how you are even getting CLN to work if you are using CLN. I have a well established node but I am closing all my channels tonight to switch to something else (LND is maybe the only option at this point, as much as I hate go-lang) or I am going to fork CLN from versoin 23.

@kilrau
Copy link

kilrau commented Sep 1, 2024

Does anyone know of any alternative lightning implementations that is not LND?

None that I can recommend. We at Boltz are set on CLN and determined to get this fixed, there is nothing that comes close with regards to stability and flexibility.

@kilrau How can you say that "nothing comes close" when CLN does not even support payments? Isn't the ability to do payments the main purpose of the lightning network? I really am curious how you are even getting CLN to work if you are using CLN. I have a well established node but I am closing all my channels tonight to switch to something else (LND is maybe the only option at this point, as much as I hate go-lang) or I am going to fork CLN from versoin 23.

Well we were as frustrated as you were so @michael1011 wrote mpay - our very own pay plugin which works mostly just fine for us. It's very simple, e.g. doesn't support mpp (probably also the reason why it mostly works). It's not battle tested and because it's python a bit of a pain to setup but after reading through this issue you might just be motivated enough to give it a shot. Others are happy with it. See some installation gotchas here.

@aquilafedele
Copy link

aquilafedele commented Sep 24, 2024

I confirm I am getting the same problems with the impossibility to pay any invoice which does not end on my direct peers.
I have two channels only, one with Phoenix. I just updated to 24.08.1.

I was able to pay an invoice today by using Renepay and excluding one of the two channels.

Since the payment was completed, I expect it should be doable automatically from a QR scan, without the need to manually exclude a channel.

I am available to provide any details needed to figure out a solution, or to make some tests like paying myself on WoS. Let me know.

@musdom
Copy link

musdom commented Sep 26, 2024

I am facing this issue as well when trying to pay to destinations I don't have a direct channel with. renepay works though

@buildalight
Copy link

I am creating a bounty to fix this problem.

Funding at 1AzajWfrD8X6XoJEZ2Vshbd5492B1sxamT.
https://bitcoinexplorer.org/address/1AzajWfrD8X6XoJEZ2Vshbd5492B1sxamT

Core Lightning's problem: the pay function fails (#7180).

Boltz Exchange wrote a workaround plugin (#6793) but this fix is insufficient. CLN needs a native pay function that works out-of-the box. LND and Phoenix fail to find payment routes at times, but not like CLN, which constantly fails to pay invoices, regardless of the number of nodes connected, channel balance, or invoice amount.

Once CLN is fixed and deployed (i.e. once users can use the native pay function reliably without any add-ons/plugins), the funds in the address above will be sent to the developers who are responsible for the fix. If multiple developers contribute to the solution, the funds will be allocated proportionally, with CLN lead developer Rusty Russell determining the payout proportions.

For updates to this bounty, see: https://pastebin.com/raw/iACc2pYv

To verify fund ownership: bitcoin-cli verifymessage "1AzajWfrD8X6XoJEZ2Vshbd5492B1sxamT" "IAm8YePM6nkiwGbUFiIkR2mztqS6lNNlvv16jvmH3W9adpYTg5CBZAL5ImeEc6NOdyeTVu2e9eyduyzg1j96fN0=" "Fix Core Lightning and Win This Bitcoin!"

@TheCodermasterr
Copy link

I am creating a bounty to fix this problem.

Funding at 1AzajWfrD8X6XoJEZ2Vshbd5492B1sxamT. https://bitcoinexplorer.org/address/1AzajWfrD8X6XoJEZ2Vshbd5492B1sxamT

Core Lightning's problem: the pay function fails (#7180).

Boltz Exchange wrote a workaround plugin (#6793) but this fix is insufficient. CLN needs a native pay function that works out-of-the box. LND and Phoenix fail to find payment routes at times, but not like CLN, which constantly fails to pay invoices, regardless of the number of nodes connected, channel balance, or invoice amount.

Once CLN is fixed and deployed (i.e. once users can use the native pay function reliably without any add-ons/plugins), the funds in the address above will be sent to the developers who are responsible for the fix. If multiple developers contribute to the solution, the funds will be allocated proportionally, with CLN lead developer Rusty Russell determining the payout proportions.

For updates to this bounty, see: https://pastebin.com/raw/iACc2pYv

To verify fund ownership: bitcoin-cli verifymessage "1AzajWfrD8X6XoJEZ2Vshbd5492B1sxamT" "IAm8YePM6nkiwGbUFiIkR2mztqS6lNNlvv16jvmH3W9adpYTg5CBZAL5ImeEc6NOdyeTVu2e9eyduyzg1j96fN0=" "Fix Core Lightning and Win This Bitcoin!"

enjoy, libplugin-pay.c , Addr: 174139836282ferT1B4ULchkLqvCFujyNM.

https://pastebin.com/xJXX6i12

@buildalight
Copy link

buildalight commented Oct 15, 2024

enjoy, libplugin-pay.c , Addr: 174139836282ferT1B4ULchkLqvCFujyNM.
https://pastebin.com/xJXX6i12

I can't read this code, but if this is the solution, get the CLN developers to incorporate your solution into Core Lightning's codebase to fix CLN's native pay function. Once you have achieved this, please let us know and we'll download the latest CLN package to verify that the pay function has been fixed, and pay you whatever proportion of the allocated funds Rusty Russell specifies.

@aquilafedele
Copy link

In case anyone is working on this problem from the Core Lightning team, I will be in Lugano for Plan B Forum.
Feel free to get in touch with me if you like to make some tests using my node.

@nakoshi-satamoto
Copy link
Author

I have not been using lightning since I hvae closed all my channels a couple months ago. I am curious, is this still an issue even with version 24.08, people who report as still having issues with payments (that are not destined for directly connected peers) are you using the latest most up to date version? I happened to see there was another version in the last 20 hours from the time of thist post, 24.08.2. Thank you everyone and to all the developers.

@paulscode
Copy link

It is still an issue as of 24.08.1 (latest version currently on StartOS). I'll post an update once 24.08.2 has been pulled in.

@ethmik
Copy link

ethmik commented Oct 24, 2024

I am also waiting on 24.08.2 to test. Currently on 24.08.1 (StartOS) and only have success with small 100 sat payments. I have tried payments of 1000, 5000, and 10,000 SATs and they fail every time.

@lightningcheckout
Copy link

I just updated my node, so perhaps I can most likely give some more insights in the upcoming days.
@cdecker , should we already see better payment results in 24.8.2?

@Silarous
Copy link

I'm experiencing the same issue with CLN on my RaspiBlitz. I'm getting 0x1007 (WIRE_TEMPORARY_CHANNEL_FAILURE) when trying to pay anyone. I upgraded to v24.08.2 to see if it would resolve it but unfortunately, it didn't. I have an option in the RaspiBlitz to view a CLN node summary and when I select that, it shows num_channels=4, num_connected=4, and num_gossipers=0. It appears that the node isn't gossiping with channel partners at all for some reason? I would assume num_gossipers should be equal to the amount of channels or peers.

I also had to delete the gossip store to get CLN to start when it became corrupted from a hard shutdown about a month ago. Perhaps that could have caused this issue?

@kilrau
Copy link

kilrau commented Oct 27, 2024

Let me reply on behalf of the CLN team as they don't seem to be monitoring this issue: they are 100% aware of pay being borked and @rustyrussell is working on an entirely new version of pay with top prio since quite some time. It's called xpay and he attempts to get it into the next release (sauce).

So the answer to this thread is: xpay fixes this, we hopefully can all get our hands on it to give it its first real world testing with the next CLN release

@cdecker
Copy link
Member

cdecker commented Oct 27, 2024

So in v24.08.2 we started remembering information across payments, so you'll see a boost if you send multiple payments in a short timeframe (so that the inferred information isn't stale and can be used). xpay for sure is going to improve this massively.

@Lagrang3
Copy link
Collaborator

As we speak, there is a working version of renepay that people could try.
I use it myself by default and had no issues paying merchants at Lugano.

For users using a remote control app, or not able to call renepay directly, you could
run this plugin that replaces pay with renepay automatically
https://github.com/Lagrang3/default-renepay

@ethmik
Copy link

ethmik commented Oct 28, 2024

I just did some testing with renepay from cli and had some success. Thanks for the tip @Lagrang3

@kilrau
Copy link

kilrau commented Nov 8, 2024

Look what just dropped: #7799

PS: In our limited real-world test v24.08.2's pay indeed seems quite a bit better 🙏 @cdecker

@whitslack
Copy link
Collaborator

If xpay is a payment plugin based on askrene, then how does it differ from renepay, and how should users choose between the two seemingly duplicative payment plugins?

I've been using renepay quite a bit because it seems to have better success rates than pay, but it also crashes all the time too. Thankfully, it is not marked as a critical plugin and so doesn't take down my whole node when it crashes, and I can just start it back up again, though I do wonder if any payment attempts that it had in progress will be properly cleaned up in that case. I haven't noticed a spike in channels unilaterally closing due to HTLC deadlines, so I suppose it must be okay.

@cdecker
Copy link
Member

cdecker commented Nov 23, 2024

You touched directly on the reason there: renepay is a standalone reimplementation of pay, combining both the planning as well as the execution of a payment. These two, interleaved, steps are rather complex on their own, and reimplementing them the execution side was lacking, hence the crashes.

With askrene and xpay, Rusty has taken a step back and noticed that the planning and execution phase do not have to be as tightly coupled. Xpay now implements the execution of the payments, while askrene contains the planning phase. The advantage is that we can tweak and experiment with the planning in askrene, or replace it wholesale, without having to reimplement the execution logic, which was the cause for renepay's lack of stability.

TL;DR: renepay is being split apart into xpay and askrene, because it frees us from having to reimplement the execution logic for every experiment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests