-
Notifications
You must be signed in to change notification settings - Fork 324
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
CI: blockchain::esplora::bdk_blockchain_tests::test_sync_stop_gap_20
occationally fails
#650
Comments
I have been witnessing few occasional failures in blockchain tests in my local too.. Seems like some kind of resource blocking thingy happening somewhere?? I was seeing "resource unavailable" errors few days ago when running blockchian tests all together.. Which I can't seem to reproduce anymore.. Could be something related?? From the error message it seems something got timed out while waiting for some stuffs.. |
Same here. Would it make sense to implement some retry logic/exponential backoff? We can keep track of the errors and where they occur here. |
We do have an exponential pole at electrum calls bdk/src/testutils/blockchain_tests.rs Lines 345 to 359 in 063d51f
To me it seems for some reason the electrum calls isn't returning and some resources are not being free?? The error seems to disappear in single test runs.. Only when I run all the blockchian tests together.. |
This looks like a bug in electrsd:
Maybe it doesn't handle too much load well. I'll see if I can somehow attach a debugger and reproduce. |
This is a one-off failure, not sure if it is related.
|
Maybe it's related to this? bitcoindevkit/rust-electrum-client#67 |
|
|
|
This one is the craziest yet: https://gist.github.com/evanlinjin/3079251115e64edc355f46d0d63edb1e |
Yes.. I have been seeing this one in my local.. |
I mean if the error states |
My guess: the tcp send buffer gets filled up because core can't process all those requests at once. Increasing the number of threads would probably help. Source https://linux.die.net/man/2/send:
|
Whenever the transport errors with "WouldBlock" we wait a bit and retry the call. Related to bitcoindevkit#650, should at least fix the errors with RPC
Whenever the transport errors with "WouldBlock" we wait a bit and retry the call. Related to bitcoindevkit#650, should at least fix the errors with RPC
Whenever the transport errors with "WouldBlock" we wait a bit and retry the call. Related to bitcoindevkit#650, should at least fix the errors with RPC
I ran into this issue testing bitcoindevkit/bdk-cli#102 with the new |
I re-tried my test with more rpcthreads set on bitcoind with conf set to via "-rpcthread=", I tired 20 and 50, didn't seem to make a difference. I haven't find a way yet to change the RPC call socket timeout. |
Probably best to disregard my above RPC problems since the title of this issue is really about esplora. I'll open a new issue for my RPC macos problem. |
Could this issue be related to the default number for file descriptors running out? This is mentioned for core here: JSON-RPC-interface limitations. |
As per https://docs.oracle.com/cd/E19476-01/821-0505/file-descriptor-requirements.html, the default limit for file descriptors per process is 1024. I am not fully sure, but I think we are not hitting that many RPC requests. Another pointer from LDK team was, it should just redo the call again if it hits the error. lightningdevkit/rust-lightning#2033 (comment) I will try with this on the new RPC example and report back.. |
Describe the bug
CI:
blockchain::esplora::bdk_blockchain_tests::test_sync_stop_gap_20
occationally fails.The command that fails
$ cargo test --no-default-features --features test-esplora,use-esplora-ureq,verify esplora::bdk_blockchain_tests
Occurences
The text was updated successfully, but these errors were encountered: