-
Notifications
You must be signed in to change notification settings - Fork 912
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
plugin-pay: SEGV in direct_pay_listpeerchannels when field private
missing
#7197
Comments
I think this is relevant: |
private
missing
I also faced this backtrace as below: CLN Version: v24.02.2
|
I think an unsaved dual open channel could have produced a listpeerchannels output that would cause this. We can add the private bool to the unsaved channel's listpeerchannels output, but that might be misleading. I'm leaning toward just ignoring any uncommitted channels here as there's no sense in trying to route through them. |
Fixes ElementsProject#7197 - SEGV in direct_pay_listpeerchannels when field private missing Changelog-Fixed: Fixed crash in pay plugin caused by parsing uncommitted dual open channels
Fixes ElementsProject#7197 - SEGV in direct_pay_listpeerchannels when field private missing Changelog-Fixed: Fixed crash in pay plugin caused by parsing uncommitted dual open channels
I went through the buffer you provided - it was actually a regular uncommitted channel. Still I think it makes more sense to skip these entirely since they will be missing many fields an active channel would have. This probably deserves a blackbox test too. |
Uncommited channels are missing several fields which would normally be populated by an active channel. This simply skips them for the purposes of finding a route. The particular culprit was: { "peer_id": "038cd9f3679d5b39bb2105978467918d549572de472f07dd729e37c7a6377d41d5", "peer_connected": true, "state": "OPENINGD", "owner": "lightning_openingd", "opener": "local", "to_us_msat": 8317559000, "total_msat": 8317559000, "features": [ "option_static_remotekey", "option_anchors_zero_fee_htlc_tx" ] } Fixes ElementsProject#7197 - SEGV in direct_pay_listpeerchannels when field private missing Changelog-Fixed: Fixed crash in pay plugin caused by parsing uncommitted dual open channels
Uncommited channels are missing several fields which would normally be populated by an active channel. This simply skips them for the purposes of finding a route. The particular culprit was: { "peer_id": "038cd9f3679d5b39bb2105978467918d549572de472f07dd729e37c7a6377d41d5", "peer_connected": true, "state": "OPENINGD", "owner": "lightning_openingd", "opener": "local", "to_us_msat": 8317559000, "total_msat": 8317559000, "features": [ "option_static_remotekey", "option_anchors_zero_fee_htlc_tx" ] } Fixes ElementsProject#7197 - SEGV in direct_pay_listpeerchannels when field private missing Changelog-Fixed: Fixed crash in pay plugin caused by parsing uncommitted dual open channels
Uncommited channels are missing several fields which would normally be populated by an active channel. This simply skips them for the purposes of finding a route. The particular culprit was: { "peer_id": "038cd9f3679d5b39bb2105978467918d549572de472f07dd729e37c7a6377d41d5", "peer_connected": true, "state": "OPENINGD", "owner": "lightning_openingd", "opener": "local", "to_us_msat": 8317559000, "total_msat": 8317559000, "features": [ "option_static_remotekey", "option_anchors_zero_fee_htlc_tx" ] } Fixes ElementsProject#7197 - SEGV in direct_pay_listpeerchannels when field private missing Changelog-Fixed: Fixed crash in pay plugin caused by parsing uncommitted dual open channels
Uncommited channels are missing several fields which would normally be populated by an active channel. This simply skips them for the purposes of finding a route. The particular culprit was: { "peer_id": "038cd9f3679d5b39bb2105978467918d549572de472f07dd729e37c7a6377d41d5", "peer_connected": true, "state": "OPENINGD", "owner": "lightning_openingd", "opener": "local", "to_us_msat": 8317559000, "total_msat": 8317559000, "features": [ "option_static_remotekey", "option_anchors_zero_fee_htlc_tx" ] } Fixes #7197 - SEGV in direct_pay_listpeerchannels when field private missing Changelog-Fixed: Fixed crash in pay plugin caused by parsing uncommitted dual open channels
Uncommited channels are missing several fields which would normally be populated by an active channel. This simply skips them for the purposes of finding a route. The particular culprit was: { "peer_id": "038cd9f3679d5b39bb2105978467918d549572de472f07dd729e37c7a6377d41d5", "peer_connected": true, "state": "OPENINGD", "owner": "lightning_openingd", "opener": "local", "to_us_msat": 8317559000, "total_msat": 8317559000, "features": [ "option_static_remotekey", "option_anchors_zero_fee_htlc_tx" ] } Fixes ElementsProject#7197 - SEGV in direct_pay_listpeerchannels when field private missing Changelog-Fixed: Fixed crash in pay plugin caused by parsing uncommitted dual open channels
Issue and Steps to Reproduce
Running
v24.02.1-18-gab4ea82
(v24.02.1
+ VLS mods)IMPORTANT - this has @rustyrussell 's pay routing fixes, this is something new ...
Node has almost 80 channels, CLBOSS is operating so maybe is balancing or swaps ...
plugin-pay died:
corefile is present, backtrace:
Looks like the problem happened here:
Feels like maybe the
buffer
is not correct? Here is the buffer text data extracted via gdb:buffer.txt
Corefile and logs all still available, let me know if additional stuff needed ...
The text was updated successfully, but these errors were encountered: