Skip to content

CI Flake test_graceful_htlc #9219

@ddustin

Description

@ddustin

test_graceful_htlc flaking on CI appears to have been introduced by PR #9111 (CI logs)

FAILED tests/test_misc.py::test_graceful_htlc - ValueError: Timeout while waiting for <function test_graceful_htlc.<locals>.<lambda> at 0x7f6419c567a0>

Let's get this test to stop flaking. Here are some relevant info from the failed CI run:

    def test_graceful_htlc(node_factory, executor):
        """graceful with an HTLC in flight notifies about expiry and completes after HTLC resolves"""
        l1, l2, l3 = node_factory.line_graph(3, wait_for_announce=True,
                                             opts=[{'may_reconnect': True,
                                                    'dev-no-reconnect': None},
                                                   {'may_reconnect': True,
                                                    'dev-no-reconnect': None},
                                                   {'plugin': os.path.join(os.getcwd(), 'tests/plugins/hold_invoice.py')}])
    
        inv = l3.rpc.invoice(10000, 'hold', 'hold invoice')
        route = l1.single_route(l3.info['id'], 10000)
        l1.rpc.sendpay(route, inv['payment_hash'], payment_secret=inv['payment_secret'])
        wait_for(lambda: len(only_one(l3.rpc.listpeerchannels()['channels'])['htlcs']) == 1)
    
        notifications = []
    
        def run_graceful():
            def capture(message, **kwargs):
                if message:
                    notifications.append(message)
            with l2.rpc.notify(capture):
                return l2.rpc.graceful()
    
        fut = executor.submit(run_graceful)
    
        # Wait until graceful has sent at least one HTLC expiry notification
        wait_for(lambda: len(notifications) == 1)
>       wait_for(lambda: notifications[0] == f'Next HTLC SENT_ADD_ACK_REVOCATION expires at block #118 (10 blocks from now) going to peer {l3.info["id"]} (connected)')
lightningd-1 2026-06-10T18:36:09.390Z UNUSUAL lightningd: JSON-RPC shutdown
lightningd-1 2026-06-10T18:36:09.835Z DEBUG   jsonrpc#81: Pausing parsing after 1 requests and 484msec (last method=stop)
lightningd-1 2026-06-10T18:36:09.920Z DEBUG   lightningd: io_break: start_json_stream
lightningd-1 2026-06-10T18:36:09.992Z DEBUG   lightningd: io_loop_with_timers: main
lightningd-1 2026-06-10T18:36:10.859Z DEBUG   connectd: REPLY WIRE_CONNECTD_START_SHUTDOWN_REPLY with 0 fds
lightningd-1 2026-06-10T18:36:10.866Z DEBUG   lightningd: io_break: connectd_start_shutdown_reply
lightningd-1 2026-06-10T18:36:11.667Z DEBUG   033845802d25b4e074ccfd7cd8b339a41dc75bf9978a034800444b51d42b07799a-channeld-chan#1: Status closed, but not exited. Killing
lightningd-1 2026-06-10T18:36:15.633Z INFO    033845802d25b4e074ccfd7cd8b339a41dc75bf9978a034800444b51d42b07799a-chan#1: Peer transient failure in CHANNELD_NORMAL: channeld: Owning subdaemon channeld died (256)
lightningd-1 2026-06-10T18:36:15.960Z DEBUG   plugin-sql: Killing plugin: exited during normal operation
lightningd-1 2026-06-10T18:36:15.978Z DEBUG   plugin-chanbackup: Killing plugin: exited during normal operation
lightningd-1 2026-06-10T18:36:16.255Z DEBUG   plugin-funder: Killing plugin: exited during normal operation
lightningd-1 2026-06-10T18:36:16.276Z DEBUG   plugin-cln-xpay: Killing plugin: exited during normal operation
lightningd-1 2026-06-10T18:36:16.294Z DEBUG   plugin-exposesecret: Killing plugin: exited during normal operation
lightningd-1 2026-06-10T18:36:16.311Z DEBUG   plugin-cln-askrene: Killing plugin: exited during normal operation
lightningd-1 2026-06-10T18:36:16.323Z DEBUG   plugin-commando: Killing plugin: exited during normal operation
lightningd-1 2026-06-10T18:36:16.565Z DEBUG   plugin-bookkeeper: Killing plugin: exited during normal operation
lightningd-1 2026-06-10T18:36:16.794Z DEBUG   plugin-recover: Killing plugin: exited during normal operation
lightningd-1 2026-06-10T18:36:16.885Z DEBUG   plugin-autoclean: Killing plugin: exited during normal operation
lightningd-1 2026-06-10T18:36:16.952Z DEBUG   plugin-cln-renepay: Killing plugin: exited during normal operation
lightningd-1 2026-06-10T18:36:17.010Z DEBUG   plugin-bcli: Killing plugin: exited during normal operation
lightningd-1 2026-06-10T18:36:17.019Z DEBUG   plugin-txprepare: Killing plugin: exited during normal operation
lightningd-1 2026-06-10T18:36:17.041Z DEBUG   plugin-topology: Killing plugin: exited during normal operation
lightningd-1 2026-06-10T18:36:17.045Z DEBUG   plugin-pay: Killing plugin: exited during normal operation
lightningd-1 2026-06-10T18:36:17.054Z DEBUG   plugin-recklessrpc: Killing plugin: exited during normal operation
lightningd-1 2026-06-10T18:36:17.059Z DEBUG   plugin-offers: Killing plugin: exited during normal operation
lightningd-1 2026-06-10T18:36:17.061Z DEBUG   plugin-spenderp: Killing plugin: exited during normal operation
lightningd-1 2026-06-10T18:36:17.072Z DEBUG   plugin-cln-bwatch: Killing plugin: exited during normal operation
lightningd-1 2026-06-10T18:36:17.083Z DEBUG   plugin-keysend: Killing plugin: exited during normal operation
lightningd-1 2026-06-10T18:36:17.088Z DEBUG   lightningd: io_break: destroy_plugin
lightningd-1 2026-06-10T18:36:17.111Z DEBUG   lightningd: Command returned result after jcon close
lightningd-1 2026-06-10T18:36:17.116Z DEBUG   connectd: Shutting down
lightningd-1 2026-06-10T18:36:17.323Z DEBUG   gossipd: Shutting down
lightningd-2 2026-06-10T18:36:17.349Z INFO    038194b5f32bdf0aa59812c86c4ef7ad2f294104fa027d1ace9b469bb6f88cf37b-channeld-chan#1: Peer connection lost
lightningd-2 2026-06-10T18:36:17.355Z DEBUG   038194b5f32bdf0aa59812c86c4ef7ad2f294104fa027d1ace9b469bb6f88cf37b-channeld-chan#1: Status closed, but not exited. Killing
lightningd-1 2026-06-10T18:36:17.714Z DEBUG   hsmd: Shutting down
lightningd-2 2026-06-10T18:36:18.030Z INFO    038194b5f32bdf0aa59812c86c4ef7ad2f294104fa027d1ace9b469bb6f88cf37b-chan#1: Peer transient failure in CHANNELD_NORMAL: channeld: Owning subdaemon channeld died (62208)
lightningd-2 2026-06-10T18:36:18.094Z DEBUG   038194b5f32bdf0aa59812c86c4ef7ad2f294104fa027d1ace9b469bb6f88cf37b-lightningd: peer_disconnected
lightningd-2 2026-06-10T18:36:18.124Z DEBUG   lightningd: NOTIFY "-c:graceful#40" info Next HTLC SENT_ADD_ACK_REVOCATION expires at block #118 (10 blocks from now) going to peer 03cecbfdc68544cc596223b68ce0710c9e5d2c9cb317ee07822d95079acc703d31 (connected)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions