Repository: bitcoin
Issue: Test Framework - test_framework.test_node.FailedToStartError: No RPC credentials
Labels: Windows,Linux/Unix,Tests

### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current behaviour


On execution bitcoind fails to start and logs Failed to start error. Have pasted logs into the logs section. 

It looks as though there is some rpc config required for this to run, but have not found a way to specify whats required. When i hard code a username/password in utils.py .. fails with Connection Refused. 


**Example Command**
`
python functional/feature_rbf.py --loglevel=DEBUG --tracerpc
`

**Config.ini**
[environment]
PACKAGE_NAME=Bitcoin Core
PACKAGE_BUGREPORT=https://github.com/bitcoin/bitcoin/issues
SRCDIR=/usr/src/bitcoin
BUILDDIR=/usr/src/bitcoin
EXEEXT=.exe
RPCAUTH=/usr/src/bitcoin/share/rpcauth/rpcauth.py

[components]
ENABLE_WALLET=true
USE_SQLITE=true
USE_BDB=true
ENABLE_CLI=true
ENABLE_BITCOIN_UTIL=true
ENABLE_WALLET_TOOL=true
ENABLE_BITCOIND=true
ENABLE_FUZZ_BINARY=true
ENABLE_ZMQ=true
#ENABLE_EXTERNAL_SIGNER=true
#ENABLE_USDT_TRACEPOINTS=true
`

**Bitcoin.conf (autogenerated)**
`

regtest=1
[regtest]
port=12201
rpcport=17201
rpcservertimeout=99000
rpcdoccheck=1
fallbackfee=0.0002
server=1
keypool=1
discover=0
dnsseed=0
fixedseeds=0
listenonion=0
peertimeout=999999999
printtoconsole=0
upnp=0
natpmp=0
shrinkdebugfile=0
deprecatedrpc=create_bdb
unsafesqlitesync=1
connect=0
bind=127.0.0.1
`



### Expected behaviour

The test should run to completion. 

### Steps to reproduce

Build 27.* on Ubuntu WLS

Execute python test with example command. 
python functional/feature_rbf.py --loglevel=DEBUG --tracerpc

### Relevant log output

`
2024-09-04T18:07:10.779000Z TestFramework (INFO): PRNG seed is: 4851958720779390906
2024-09-04T18:07:10.779000Z TestFramework (DEBUG): Setting up network thread
2024-09-04T18:07:10.780000Z TestFramework (INFO): Initializing test directory /tmp/bitcoin_func_test_u9zpt_2g
2024-09-04T18:07:10.780000Z TestFramework (DEBUG): Copy cache directory /usr/src/bitcoin/test/cache/node0 to node 0
2024-09-04T18:07:10.781000Z TestFramework (DEBUG): Copy cache directory /usr/src/bitcoin/test/cache/node0 to node 1
2024-09-04T18:07:10.783000Z TestFramework.node0 (DEBUG): ['/usr/src/bitcoin/src/bitcoind.exe', '-datadir=/tmp/bitcoin_func_test_u9zpt_2g/node0', '-logtimemicros', '-debug', '-debugexclude=libevent', '-debugexclude=leveldb', '-debugexclude=rand', '-uacomment=testnode0', '-logthreadnames', '-logsourcelocations', '-loglevel=trace', '-v2transport=0']
2024-09-04T18:07:10.783000Z TestFramework.node0 (DEBUG): ['-maxorphantx=1000', '-limitancestorcount=50', '-limitancestorsize=101', '-limitdescendantcount=200', '-limitdescendantsize=101']
2024-09-04T18:07:10.783000Z TestFramework.node0 (DEBUG): bitcoind started, waiting for RPC to come up
2024-09-04T18:07:10.784000Z TestFramework.node1 (DEBUG): ['/usr/src/bitcoin/src/bitcoind.exe', '-datadir=/tmp/bitcoin_func_test_u9zpt_2g/node1', '-logtimemicros', '-debug', '-debugexclude=libevent', '-debugexclude=leveldb', '-debugexclude=rand', '-uacomment=testnode1', '-logthreadnames', '-logsourcelocations', '-loglevel=trace', '-v2transport=0']
2024-09-04T18:07:10.784000Z TestFramework.node1 (DEBUG): []
2024-09-04T18:07:10.784000Z TestFramework.node1 (DEBUG): bitcoind started, waiting for RPC to come up
2024-09-04T18:07:10.784000Z TestFramework.utils (DEBUG): /tmp/bitcoin_func_test_u9zpt_2g/node0/bitcoin.conf
2024-09-04T18:07:10.784000Z TestFramework.node0 (DEBUG): Value Error No RPC credentials
....
2024-09-04T18:07:14.552000Z TestFramework.utils (DEBUG): /tmp/bitcoin_func_test_u9zpt_2g/node0/bitcoin.conf
2024-09-04T18:07:14.552000Z TestFramework.node0 (DEBUG): Value Error No RPC credentials
2024-09-04T18:07:14.803000Z TestFramework.node0 (DEBUG): Stopping node
2024-09-04T18:07:14.804000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/usr/src/bitcoin/test/functional/test_framework/test_framework.py", line 556, in start_nodes
    node.wait_for_rpc_connection()
  File "/usr/src/bitcoin/test/functional/test_framework/test_node.py", line 260, in wait_for_rpc_connection
    raise FailedToStartError(self._node_msg(
**test_framework.test_node.FailedToStartError: [node 0] bitcoind exited with status 1 during initialization. Error: Specified data directory "/tmp/bitcoin_func_test_u9zpt_2g/node0" does not exist.**
************************
During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/bitcoin/test/functional/test_framework/test_framework.py", line 130, in main     self.setup()
  File "/usr/src/bitcoin/test/functional/test_framework/test_framework.py", line 297, in setup     self.setup_network()
  File "/usr/src/bitcoin/test/functional/test_framework/test_framework.py", line 391, in setup_network     self.setup_nodes()
  File "/usr/src/bitcoin/test/functional/test_framework/test_framework.py", line 413, in setup_nodes     self.start_nodes()
  File "/usr/src/bitcoin/test/functional/test_framework/test_framework.py", line 559, in start_nodes     self.stop_nodes()
  File "/usr/src/bitcoin/test/functional/test_framework/test_framework.py", line 574, in stop_nodes     node.stop_node(wait=wait, wait_until_stopped=False)
  File "/usr/src/bitcoin/test/functional/test_framework/test_node.py", line 386, in stop_node     self.stop(wait=wait)
  **File "/usr/src/bitcoin/test/functional/test_framework/test_node.py", line 207, in __getattr__    assert self.rpc_connected and self.rpc is not None, self._node_msg("Error: no RPC connection") AssertionError: [node 0] Error: no RPC connection**

2024-09-04T18:07:14.806000Z TestFramework (DEBUG): Closing down network thread
2024-09-04T18:07:14.857000Z TestFramework (INFO): Stopping nodes
2024-09-04T18:07:14.857000Z TestFramework.node0 (DEBUG): Stopping node
Traceback (most recent call last):
  File "/usr/src/bitcoin/test/functional/feature_rbf.py", line 731, in <module>
    ReplaceByFeeTest().main()
  File "/usr/src/bitcoin/test/functional/test_framework/test_framework.py", line 154, in main
    exit_code = self.shutdown()
  File "/usr/src/bitcoin/test/functional/test_framework/test_framework.py", line 313, in shutdown
    self.stop_nodes()
  File "/usr/src/bitcoin/test/functional/test_framework/test_framework.py", line 574, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/usr/src/bitcoin/test/functional/test_framework/test_node.py", line 386, in stop_node
    self.stop(wait=wait)
  File "/usr/src/bitcoin/test/functional/test_framework/test_node.py", line 207, in __getattr__
    assert self.rpc_connected and self.rpc is not None, self._node_msg("Error: no RPC connection")

AssertionError: [node 0] Error: no RPC connection

[node 1] Cleaning up leftover process
[node 0] Cleaning up leftover process
`

### How did you obtain Bitcoin Core

Compiled from source

### What version of Bitcoin Core are you using?

v27.1.0

### Operating system and version

Ubuntu 22.04.4 LTS

### Machine specifications

Windows 11 Home
8 Core i7 9700
32 GB Ram