You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When turning "Run Bitcoin Knots on startup" ON, you can set a custom data folder, which I believe many people does, as not everyone has enough space on C:(or any default storage on any OS), or simply want it on a specific hard drive.
But if you set the data folder wrong, Bitcoin Knots won't start, won't even make logs, and the exception doesn't tell you neither that the problem is with the data folder's path. If you have a \ at the end of the path - or any other symbol basically - it won't work.
But what's extra intresting, is if you look for bitcoind.exe, and start it manually from the terminal, with either -datadir=E:\Bitcoin\ or -datadir=E:\Bitcoin, both will work and bitcoind.exe starts without a problem. It looks like this only happens when we try to start it from Wasabi/dotnet?
How To Reproduce?
I use Windows 11.
Go to Settings, and Bitcoin
Turn ON(EXPERIMENTAL) Run Bitcoin Knots on startup
Bitcoin Core/Knots Data Folder input appears. Whatever is in it, put a \ character at the end of the path.
Restart Wasabi
Hovering over the status icon on the bottom right, see BitcoinKnots - Full node is unresponsive
See the ERROR in the logs
Screenshots
This is working: This isn't:
Logs
2024-02-29 15:18:24.488 [11] ERROR Global.StartLocalBitcoinNodeAsync (363) WalletWasabi.BitcoinCore.Processes.BitcoindException: Failed to start daemon, location: 'E:\WalletWasabi\WalletWasabi.Fluent.Desktop\bin\Debug\net8.0\Microservices\Binaries\win64\bitcoind.exe -regtest=0 -testnet=0 -datadir="E:\BitcoinDataMain\" -printtoconsole=0'
---> System.Net.Http.HttpRequestException: No connection could be made because the target machine actively refused it. (127.0.0.1:8332)
---> System.Net.Sockets.SocketException (10061): No connection could be made because the target machine actively refused it.
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
at System.Net.Sockets.Socket.<ConnectAsync>g__WaitForConnectWithCancellation|285_0(AwaitableSocketAsyncEventArgs saea, ValueTask connectTask, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
--- End of inner exception stack trace ---
at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(QueueItem queueItem)
at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.HttpConnectionWaiter`1.WaitForConnectionWithTelemetryAsync(HttpRequestMessage request, HttpConnectionPool pool, Boolean async, CancellationToken requestCancellationToken)
at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
at NBitcoin.RPC.RPCClient.SendCommandAsync(RPCRequest request, CancellationToken cancellationToken)
at NBitcoin.RPC.RPCClient.UptimeAsync(CancellationToken cancellationToken)
at WalletWasabi.BitcoinCore.Rpc.RpcClientBase.UptimeAsync(CancellationToken cancellationToken) in WalletWasabi\BitcoinCore\Rpc\RpcClientBase.cs:line 131
at WalletWasabi.BitcoinCore.Processes.BitcoindRpcProcessBridge.StartAsync(CancellationToken cancel) in WalletWasabi\BitcoinCore\Processes\BitcoindRpcProcessBridge.cs:line 71
--- End of inner exception stack trace ---
at WalletWasabi.BitcoinCore.Processes.BitcoindRpcProcessBridge.StartAsync(CancellationToken cancel) in WalletWasabi\BitcoinCore\Processes\BitcoindRpcProcessBridge.cs:line 91
at WalletWasabi.BitcoinCore.CoreNode.CreateAsync(CoreNodeParams coreNodeParams, CancellationToken cancel) in WalletWasabi\BitcoinCore\CoreNode.cs:line 251
at WalletWasabi.Daemon.Global.StartLocalBitcoinNodeAsync(CancellationToken cancel) in WalletWasabi.Daemon\Global.cs:line 355
The text was updated successfully, but these errors were encountered:
General Description
When turning "Run Bitcoin Knots on startup" ON, you can set a custom data folder, which I believe many people does, as not everyone has enough space on
C:
(or any default storage on any OS), or simply want it on a specific hard drive.But if you set the data folder wrong, Bitcoin Knots won't start, won't even make logs, and the exception doesn't tell you neither that the problem is with the data folder's path. If you have a
\
at the end of the path - or any other symbol basically - it won't work.But what's extra intresting, is if you look for bitcoind.exe, and start it manually from the terminal, with either
-datadir=E:\Bitcoin\
or-datadir=E:\Bitcoin
, both will work and bitcoind.exe starts without a problem. It looks like this only happens when we try to start it from Wasabi/dotnet?How To Reproduce?
I use Windows 11.
Settings
, andBitcoin
(EXPERIMENTAL) Run Bitcoin Knots on startup
Bitcoin Core/Knots Data Folder
input appears. Whatever is in it, put a\
character at the end of the path.BitcoinKnots - Full node is unresponsive
Screenshots
This is working:
This isn't:
Logs
The text was updated successfully, but these errors were encountered: