The itests CI will currently error if the batch_channel_funding and unannounced_channels itests are run consecutively within the same tranche.
The error was first shown in #8754, and can be seen in this action run:
https://github.com/lightningnetwork/lnd/actions/runs/11627900800
Thanks to @guggero for the help with identifying that!
The reason why this error is only shown in #8754, is that the PR adds 2 new itests to the allTestCases list, which modifies the order of the tests in such a way that both the batch_channel_funding and unannounced_channels itests gets run in tranche 1.
To reproduce the issue, follow these steps:
- Check out the PR and build the integration test binaries using
make build-itest.
- Run the following command:
itest/itest.test -test.v -test.timeout=180m -logoutput -logdir=.logs-tranche1 -lndexec=itest/lnd-itest -btcdexec=itest/btcd-itest -splittranches=8 -runtranche=1 -test.run='TestLightningNetworkDaemon/.*/.*/btcd/(unannounced_channels|batch_channel_funding)'
So far I've tracked down that the issue occurs due to this channel being set to private in the batch open request in the batch_channel_funding test:
For some reason, once the unannounced_channels itest starts ht.Alice.State.Edge.Public will report that there's 1 edge for that channel, even though the ht.Alice.State.Edge.Public actually evaluates to 0 when the
batch_channel_funding test completes. Therefore there seems to be some cleanup that's lacking.
I'm digging into the issue and will update this issue report with any new info I find.
Edit:
I've also noticed now that the value that ht.Alice.State.Edge.Public get's set to before the next test, i.e.:
req = &lnrpc.ChannelGraphRequest{IncludeUnannounced: false}
resp = alice.RPC.DescribeGraph(req)
len(resp)
Results in 1 after all channels have been closed in the batch_channel_funding itest, if run at the end of that itest. Therefore it seems like the closing of the private channel in the batch (chanpoint4), doesn't get reflected in the DescribeGraph response.
The
itests CIwill currently error if thebatch_channel_fundingandunannounced_channelsitests are run consecutively within the same tranche.The error was first shown in #8754, and can be seen in this action run:
https://github.com/lightningnetwork/lnd/actions/runs/11627900800
Thanks to @guggero for the help with identifying that!
The reason why this error is only shown in #8754, is that the PR adds 2 new itests to the
allTestCaseslist, which modifies the order of the tests in such a way that both thebatch_channel_fundingandunannounced_channelsitests gets run intranche 1.To reproduce the issue, follow these steps:
make build-itest.So far I've tracked down that the issue occurs due to this channel being set to private in the batch open request in the
batch_channel_fundingtest:lnd/itest/lnd_funding_test.go
Line 1003 in 22ae3e5
For some reason, once the
unannounced_channelsitest startsht.Alice.State.Edge.Publicwill report that there's1edge for that channel, even though theht.Alice.State.Edge.Publicactually evaluates to0when thebatch_channel_fundingtest completes. Therefore there seems to be some cleanup that's lacking.I'm digging into the issue and will update this issue report with any new info I find.
Edit:
I've also noticed now that the value that
ht.Alice.State.Edge.Publicget's set to before the next test, i.e.:Results in
1after all channels have been closed in thebatch_channel_fundingitest, if run at the end of that itest. Therefore it seems like the closing of the private channel in the batch (chanpoint4), doesn't get reflected in theDescribeGraphresponse.