Closed yyforyongyu closed 4 days ago
[!IMPORTANT]
Review skipped
Auto reviews are limited to specific labels.
Labels to auto review (1)
* llm-reviewPlease check the settings in the CodeRabbit UI or the
.coderabbit.yaml
file in this repository. To trigger a single review, invoke the@coderabbitai review
command.You can disable this status message by setting the
reviews.review_status
tofalse
in the CodeRabbit configuration file.
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
Shuffled the test cases to validate an assumption, let's see how it goes.
We now are seeing two failed tests,
The first happens in bitcoind-postgres
, which gives a new error I've never seen before,
2024-07-18 01:48:45.890 UTC [1186] LOG: unexpected EOF on client connection with an open transaction
2024-07-18 01:48:45.890 UTC [1161] LOG: unexpected EOF on client connection with an open transaction
2024-07-18 01:48:45.892 UTC [1197] LOG: unexpected EOF on client connection with an open transaction
harness_rpc.go:97:
Error Trace: /home/runner/work/lnd/lnd/lntest/rpc/harness_rpc.go:97
/home/runner/work/lnd/lnd/lntest/rpc/lnd.go:84
/home/runner/work/lnd/lnd/lntest/harness_assertion.go:50
/home/runner/work/lnd/lnd/lntest/wait/wait.go:51
/home/runner/work/lnd/lnd/lntest/wait/wait.go:27
/opt/hostedtoolcache/go/1.22.3/x64/src/runtime/asm_amd64.s:1695
Error: Received unexpected error:
rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing: dial tcp 127.0.0.1:10198: connect: connection refused"
Messages: Bob: failed to call GetInfo
Will check the logs and create an issue page to track it.
The second is in neutrino
, which is exactly what the blockbeat
aims to fix - we get this error because the blocks are not synced, causing one sweeping tx happens before another, while they are supposed to happen in the same block.
lnd_channel_force_close_test.go:743:
Error Trace: /home/runner/work/lnd/lnd/itest/lnd_channel_force_close_test.go:743
/home/runner/work/lnd/lnd/itest/lnd_channel_force_close_test.go:84
Error: "[0xc0011da8a0]" should have 6 item(s), but has 1
Test: TestLightningNetworkDaemon/tranche02/53-of-156/neutrino/channel_force_closure/committype=SIMPLE_TAPROOT
Messages: htlc transaction has wrong num of inputs
harness.go:440: finished test: channel_force_closure, start height=689, end height=785, mined blocks=96
harness.go:446: test failed, skipped cleanup
For the postgres one, seems like Bob isn't starting up anymore because it's crashing:
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x10 pc=0x65b0b2]
goroutine 3685 [running]:
github.com/btcsuite/btcd/wire.(*MsgTx).Copy(0xc00270f1c0)
/home/runner/go/pkg/mod/github.com/btcsuite/btcd@v0.24.2-beta.rc1.0.20240625142744-cc26860b4026/wire/msgtx.go:455 +0x512
github.com/lightninglabs/neutrino/pushtx.(*Broadcaster).broadcastHandler.func1()
/home/runner/go/pkg/mod/github.com/lightninglabs/neutrino@v0.16.1-0.20240425105051-602843d34ffd/pushtx/broadcaster.go:160 +0xf0
github.com/lightninglabs/neutrino/pushtx.(*Broadcaster).broadcastHandler(0xc0006084e0, 0xc001a5ee90)
/home/runner/go/pkg/mod/github.com/lightninglabs/neutrino@v0.16.1-0.20240425105051-602843d34ffd/pushtx/broadcaster.go:211 +0x2e6
created by github.com/lightninglabs/neutrino/pushtx.(*Broadcaster).Start.func1 in goroutine 2611
/home/runner/go/pkg/mod/github.com/lightninglabs/neutrino@v0.16.1-0.20240425105051-602843d34ffd/pushtx/broadcaster.go:109 +0xfd
Moooar green CI :heart: The remaining unit test failure (send coverage) will be fixed by https://github.com/lightningnetwork/lnd/pull/8927.
This PR refactors the mining methods to make them easier to use. In specific,
MineBlocks
,MineEmptyBlocks
andMineBlocksAndAssertNumTxes
methods, and instructions on how to use them are now shown in the returned error message.HarnessMiner
to be a private instance, as previously we've seen a mixed usage ofht.MineBlocksAndAssertNumTxes(1, 1)
andht.Miner.MineBlocksAndAssertNumTxes(1, 1)
, causing confusion for devs. All the miner-related methods are now moved into a single file, and can only be accessed viaht
.ht
and it can be accessed viaht.CurrentHeight()
, which is helpful in tests that heavily rely on the block height, e.g., the multi-hop tests.