"Message not delivered" probably causing flakiness in LN payments between eclair nodes
See original GitHub issueIssue Description
In simverse I have a test suite which exercises simple LN payment in these scenarios:
- bitcoind+2 eclair nodes (direct payment alice-bob)
- bitcoind+3 eclair nodes (indirect payment alice-charlie-bob)
The second scenario started to be flaky (failing most of the time). I noticed that when this happens there is logged a message like “Message … from Actor[…] to Actor[…] was not delivered…”
alice_1 | 2019-08-16 13:27:40,990 INFO f.a.eclair.router.Router - finding a route 027a9b56fc656011601cc1a64740dcc2a953e18ca998c3f473b113a5dcae8c1404->03b95bf9ad11766b9859e24ac8b7eb8f23a8d5c45c887e31718eaa0f564be9ca2d with assistedChannels= ignoreNodes= ignoreChannels= excludedChannels=
alice_1 | 2019-08-16 13:27:40,993 INFO f.a.eclair.router.Router - finding a route with randomize=true params=RouteParams(true,MilliSatoshi(21000),0.03,6,1008,Some(WeightRatios(0.15,0.35,0.5)))
alice_1 | 2019-08-16 13:27:41,075 INFO a.a.DeadLetterActorRef - Message [fr.acinq.eclair.payment.PaymentLifecycle$PaymentFailed] from Actor[akka://eclair-node/user/$m/payment-initiator/$a#528843153] to Actor[akka://eclair-node/deadLetters] was not delivered. [1] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
This used to work and the breakage is quite recent (in last 10 days). I wanted to bisect for exact commit causing this but the situation got complicated a bit and I wasn’t able to identify it precisely due to other changes like 4929febbd11ebad6ae20caed4b161db44dfd263d).
Any hints what could be causing this and potential fixed would be appreciated. Thanks.
Issue Analytics
- State:
- Created 4 years ago
- Comments:5 (2 by maintainers)
Top Results From Across the Web
The network is so slow and unreliable : r/lightningnetwork
After running my node for about a month now, I came to the realization that the lightning network is neither fast nor reliable....
Read more >eclair-mobile/README.md at testnet - GitHub
Sending a LN payment · the destination node is not online; · none of your channels has enough funds; · the nodes between...
Read more >LN.Guide | A beginners guide to the Lightning Network
Setup your node; Enable Lightning and create a wallet; Decide how much you ... It facilitates smaller, near instant payments between users at...
Read more >Eclair Wallet is now Eclair Mobile | by ACINQ - Medium
We decided to rename Eclair Wallet to Eclair Mobile because the former name was too generic and regularly caused confusion among our users....
Read more >What is Lightning Network and How to Try It Today - J Jeiwan
Sending transactions via LN is instant and free (although some minor fees are possible). When you have a channel opened to some other...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
With git bisect I was able to pin-point the commit causing this to 4929febbd11ebad6ae20caed4b161db44dfd263d (this is expected because that was the only commit in last ~11 days).
The trick on my side was to make bisect work across that change and keep backward compatibility: https://github.com/darwin/simverse/commit/349b0cb75a82890f284aedcf8f6632bfd19aa4f2
Ok. My approach is fragile. But I don’t know a good way how to effectively wait for LN network to be ready to successfully execute my test payment.
Anyways. The test suite started to be passing again. At least I have new diagnostics code in place for case this happened again in the future. Also I bumped maxAttempts to 100.
Thanks for all your input. Closing.