⚠️ naftalimurgor opened an issue: "Error: no RPC connection" when trying to run Bitcoin Core functional tests"
(https://github.com/bitcoin/bitcoin/issues/28000)
### Motivation
I'm getting a strange error running tests under `/src/test/functional/` with the following error:
```sh
Temporary test directory at /tmp/test_runner_₿_🏃_20220504_123152
Running Unit Tests for Test Framework Modules
..........
----------------------------------------------------------------------
Ran 10 tests in 0.614s
OK
Traceback (most recent call last):
File "/usr/src/bitcoin/test/functional/create_cache.py", line 27, in <module>
CreateCache().main()
Fil
...
(https://github.com/bitcoin/bitcoin/issues/28000)
### Motivation
I'm getting a strange error running tests under `/src/test/functional/` with the following error:
```sh
Temporary test directory at /tmp/test_runner_₿_🏃_20220504_123152
Running Unit Tests for Test Framework Modules
..........
----------------------------------------------------------------------
Ran 10 tests in 0.614s
OK
Traceback (most recent call last):
File "/usr/src/bitcoin/test/functional/create_cache.py", line 27, in <module>
CreateCache().main()
Fil
...
💬 fanquake commented on pull request "contrib: add macOS test for fixup_chains usage":
(https://github.com/bitcoin/bitcoin/pull/27999#issuecomment-1613016499)
cc @theuni
(https://github.com/bitcoin/bitcoin/pull/27999#issuecomment-1613016499)
cc @theuni
💬 dergoegge commented on pull request "ci: build Valgrind (3.21) from source":
(https://github.com/bitcoin/bitcoin/pull/27992#issuecomment-1613018513)
Concept ACK
Speeding up the valgrind jobs seems like a nice win! (assuming our self compiled valgrind isn't skipping more expensive checks).
(https://github.com/bitcoin/bitcoin/pull/27992#issuecomment-1613018513)
Concept ACK
Speeding up the valgrind jobs seems like a nice win! (assuming our self compiled valgrind isn't skipping more expensive checks).
🚀 fanquake merged a pull request: "test: Fuzz on macOS"
(https://github.com/bitcoin/bitcoin/pull/27932)
(https://github.com/bitcoin/bitcoin/pull/27932)
👍 hebasto approved a pull request: "ci: filter all subtrees from tidy output"
(https://github.com/bitcoin/bitcoin/pull/27996#pullrequestreview-1505169342)
re-ACK 62633b50461cb67dfb37d6485e604152e727559c
(https://github.com/bitcoin/bitcoin/pull/27996#pullrequestreview-1505169342)
re-ACK 62633b50461cb67dfb37d6485e604152e727559c
💬 MarcoFalke commented on issue "Error: no RPC connection" when trying to run Bitcoin Core functional tests":
(https://github.com/bitcoin/bitcoin/issues/28000#issuecomment-1613069039)
Can you try with:
```diff
diff --git a/test/functional/test_framework/test_node.py b/test/functional/test_framework/test_node.py
index 5111d88e15..1e605e00b8 100755
--- a/test/functional/test_framework/test_node.py
+++ b/test/functional/test_framework/test_node.py
@@ -232,6 +232,8 @@ class TestNode():
poll_per_s = 4
for _ in range(poll_per_s * self.rpc_timeout):
if self.process.poll() is not None:
+ self.stderr.seek(0)
+
...
(https://github.com/bitcoin/bitcoin/issues/28000#issuecomment-1613069039)
Can you try with:
```diff
diff --git a/test/functional/test_framework/test_node.py b/test/functional/test_framework/test_node.py
index 5111d88e15..1e605e00b8 100755
--- a/test/functional/test_framework/test_node.py
+++ b/test/functional/test_framework/test_node.py
@@ -232,6 +232,8 @@ class TestNode():
poll_per_s = 4
for _ in range(poll_per_s * self.rpc_timeout):
if self.process.poll() is not None:
+ self.stderr.seek(0)
+
...
🚀 fanquake merged a pull request: "ci: filter all subtrees from tidy output"
(https://github.com/bitcoin/bitcoin/pull/27996)
(https://github.com/bitcoin/bitcoin/pull/27996)
💬 willcl-ark commented on pull request "net: run disconnect in I2P thread":
(https://github.com/bitcoin/bitcoin/pull/27912#issuecomment-1613098947)
Yes I agree and like this approach better.
I had created a `ThreadI2PSocketHandler()` thread which essentially had the same loop as `ThreadSocketHandler()`. The repetition of `DisconnectNodes()` and `NotifyNumConnectionsChanged()` in two threads seemed annoying (and needed a few new locks) and I was considering whether a _new_ seperate thread should just handle disconnecting nodes marked for disconnection and notifications, but I think doing it as part of `CreateNodeFromAcceptedSocket()` (in
...
(https://github.com/bitcoin/bitcoin/pull/27912#issuecomment-1613098947)
Yes I agree and like this approach better.
I had created a `ThreadI2PSocketHandler()` thread which essentially had the same loop as `ThreadSocketHandler()`. The repetition of `DisconnectNodes()` and `NotifyNumConnectionsChanged()` in two threads seemed annoying (and needed a few new locks) and I was considering whether a _new_ seperate thread should just handle disconnecting nodes marked for disconnection and notifications, but I think doing it as part of `CreateNodeFromAcceptedSocket()` (in
...
💬 vasild commented on pull request "test: add end-to-end tests for CConnman and PeerManager":
(https://github.com/bitcoin/bitcoin/pull/26812#issuecomment-1613145594)
`4557cc336f...353d323356`: take some suggestions
Invalidates ACK from @jonatack
(https://github.com/bitcoin/bitcoin/pull/26812#issuecomment-1613145594)
`4557cc336f...353d323356`: take some suggestions
Invalidates ACK from @jonatack
⚠️ re2005 opened an issue: "Unable to send funds"
(https://github.com/bitcoin/bitcoin/issues/28001)
### Is there an existing issue for this?
- [X] I have searched the existing issues
### Current behaviour
Using Bitcoin Core `v25.0.0` have it sync (pruned)
My wallet shows valid balance but I'm not able to send funds
### Expected behaviour
Be able to send funds when the wallet display you have balance

### Steps to reproduce
- Try to send funds to a valid rec
...
(https://github.com/bitcoin/bitcoin/issues/28001)
### Is there an existing issue for this?
- [X] I have searched the existing issues
### Current behaviour
Using Bitcoin Core `v25.0.0` have it sync (pruned)
My wallet shows valid balance but I'm not able to send funds
### Expected behaviour
Be able to send funds when the wallet display you have balance

### Steps to reproduce
- Try to send funds to a valid rec
...
💬 vasild commented on pull request "test: add end-to-end tests for CConnman and PeerManager":
(https://github.com/bitcoin/bitcoin/pull/26812#discussion_r1246596157)
Alright, so I got it the other way around. So the point is to avoid recompiling all tests if e.g. `ALL_NETWORKS` is changed (defined in `test/util/net.h`). That lowers the re-compilation from 28-29 sec to about 10 sec (if `src/test/util/net.h` is modified).
I will leave it as it is because moving the code around would further increase the size of this PR which suffers from lack of interest from reviewers and I think expanding it may further turn people away.
(https://github.com/bitcoin/bitcoin/pull/26812#discussion_r1246596157)
Alright, so I got it the other way around. So the point is to avoid recompiling all tests if e.g. `ALL_NETWORKS` is changed (defined in `test/util/net.h`). That lowers the re-compilation from 28-29 sec to about 10 sec (if `src/test/util/net.h` is modified).
I will leave it as it is because moving the code around would further increase the size of this PR which suffers from lack of interest from reviewers and I think expanding it may further turn people away.
💬 vasild commented on pull request "test: add end-to-end tests for CConnman and PeerManager":
(https://github.com/bitcoin/bitcoin/pull/26812#discussion_r1246596519)
Done.
(https://github.com/bitcoin/bitcoin/pull/26812#discussion_r1246596519)
Done.
💬 vasild commented on pull request "test: add end-to-end tests for CConnman and PeerManager":
(https://github.com/bitcoin/bitcoin/pull/26812#discussion_r1246596786)
Done.
(https://github.com/bitcoin/bitcoin/pull/26812#discussion_r1246596786)
Done.
💬 vasild commented on pull request "test: add end-to-end tests for CConnman and PeerManager":
(https://github.com/bitcoin/bitcoin/pull/26812#discussion_r1246602200)
Done.
I changed it to use `{}` as suggested but I don't see a point to use `{}` instead of `=` for initialization when `auto` is used. I find the `{}` variant a little bit less readable but see the merit to use it when `Type1 x{expresson_of_Type2};` is used to detect incompatibilities between `Type1` and `Type2`. But why do that for `auto x{expressoin_of_any_type};`?
(https://github.com/bitcoin/bitcoin/pull/26812#discussion_r1246602200)
Done.
I changed it to use `{}` as suggested but I don't see a point to use `{}` instead of `=` for initialization when `auto` is used. I find the `{}` variant a little bit less readable but see the merit to use it when `Type1 x{expresson_of_Type2};` is used to detect incompatibilities between `Type1` and `Type2`. But why do that for `auto x{expressoin_of_any_type};`?
💬 vasild commented on pull request "test: add end-to-end tests for CConnman and PeerManager":
(https://github.com/bitcoin/bitcoin/pull/26812#discussion_r1246602826)
Done, except this:
```
test/net_msg_tests.cpp should add these lines:
#include <boost/preprocessor/arithmetic/limits/dec_256.hpp>
#include <boost/preprocessor/comparison/limits/not_equal_256.hpp>
#include <boost/preprocessor/control/expr_iif.hpp>
#include <boost/preprocessor/control/iif.hpp>
#include <boost/preprocessor/detail/limits/auto_rec_256.hpp>
#include <boost/preprocessor/logical/compl.hpp>
#include <boost/preprocessor/logical/limits/bool_256.hpp>
#include <boost/preprocessor
...
(https://github.com/bitcoin/bitcoin/pull/26812#discussion_r1246602826)
Done, except this:
```
test/net_msg_tests.cpp should add these lines:
#include <boost/preprocessor/arithmetic/limits/dec_256.hpp>
#include <boost/preprocessor/comparison/limits/not_equal_256.hpp>
#include <boost/preprocessor/control/expr_iif.hpp>
#include <boost/preprocessor/control/iif.hpp>
#include <boost/preprocessor/detail/limits/auto_rec_256.hpp>
#include <boost/preprocessor/logical/compl.hpp>
#include <boost/preprocessor/logical/limits/bool_256.hpp>
#include <boost/preprocessor
...
💬 furszy commented on issue "Unable to send funds":
(https://github.com/bitcoin/bitcoin/issues/28001#issuecomment-1613178955)
Based on the logs, the input is spent on the mempool.
To confirm it, try the following:
1) Call `listunspent` and save the output `txid` and `vout` (the one whose id starts with `af4dd794df`).
2) Call `gettxspendingprevout '[{txid: your_tx_id, vout: your_vout}]'`
And let me know what `gettxspendingprevout` returns. If it returns a non-empty array, we will need to see why your wallet didn't mark the output as spent.
(https://github.com/bitcoin/bitcoin/issues/28001#issuecomment-1613178955)
Based on the logs, the input is spent on the mempool.
To confirm it, try the following:
1) Call `listunspent` and save the output `txid` and `vout` (the one whose id starts with `af4dd794df`).
2) Call `gettxspendingprevout '[{txid: your_tx_id, vout: your_vout}]'`
And let me know what `gettxspendingprevout` returns. If it returns a non-empty array, we will need to see why your wallet didn't mark the output as spent.
💬 re2005 commented on issue "Unable to send funds":
(https://github.com/bitcoin/bitcoin/issues/28001#issuecomment-1613190080)
Hi @furszy thank you so much for the reply.
```
listunspent
[
{
"txid": "af4dd794df45774317fb681fb2545399e34069b4c4ff48e8cde2acae7d92217f",
"vout": 1,
"address": "363VZYA4LxQ7AogtwQ4ZTuZZMfbcQAVkVq",
"redeemScript": "001451f9e2f74be844c1d192af5fa392d2fa707ace0c",
"scriptPubKey": "a9142fbfe4ad67ad78e28eed6d0549f22ca163202d7e87",
"amount": 0.01502419,
"confirmations": 186937,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([f8ff6f62/0
...
(https://github.com/bitcoin/bitcoin/issues/28001#issuecomment-1613190080)
Hi @furszy thank you so much for the reply.
```
listunspent
[
{
"txid": "af4dd794df45774317fb681fb2545399e34069b4c4ff48e8cde2acae7d92217f",
"vout": 1,
"address": "363VZYA4LxQ7AogtwQ4ZTuZZMfbcQAVkVq",
"redeemScript": "001451f9e2f74be844c1d192af5fa392d2fa707ace0c",
"scriptPubKey": "a9142fbfe4ad67ad78e28eed6d0549f22ca163202d7e87",
"amount": 0.01502419,
"confirmations": 186937,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([f8ff6f62/0
...
💬 furszy commented on issue "Unable to send funds":
(https://github.com/bitcoin/bitcoin/issues/28001#issuecomment-1613206134)
Ok thanks. Would be helpful if you can provide the complete logs.
And to solve the issue, just need to restart the node. Your wallet should detect the mempool transaction and mark the output as spent automatically.
(https://github.com/bitcoin/bitcoin/issues/28001#issuecomment-1613206134)
Ok thanks. Would be helpful if you can provide the complete logs.
And to solve the issue, just need to restart the node. Your wallet should detect the mempool transaction and mark the output as spent automatically.
💬 re2005 commented on issue "Unable to send funds":
(https://github.com/bitcoin/bitcoin/issues/28001#issuecomment-1613209444)
Here you go.
[debug.log](https://github.com/bitcoin/bitcoin/files/11906321/debug.log)
I've restarted `BitcoinCore` but still showing the `Available` funds,
(https://github.com/bitcoin/bitcoin/issues/28001#issuecomment-1613209444)
Here you go.
[debug.log](https://github.com/bitcoin/bitcoin/files/11906321/debug.log)
I've restarted `BitcoinCore` but still showing the `Available` funds,
📝 fanquake opened a pull request: "refactor: remove in-code warning suppression"
(https://github.com/bitcoin/bitcoin/pull/28002)
Should no-longer be needed post #27872. If it is, then suppress-external-warnings should be fixed.
(https://github.com/bitcoin/bitcoin/pull/28002)
Should no-longer be needed post #27872. If it is, then suppress-external-warnings should be fixed.