Cardano-wallet: Can't start process on Windows 10 - DeserialiseFailure 2 "codecHandshake.Confirm: unexpected key"

Created on 22 Nov 2020  路  7Comments  路  Source: input-output-hk/cardano-wallet

Context

Started cardano-node with this:

set CARDANO_NODE_SOCKET_PATH=C:\Users\jbax\Downloads\blockchain\node.socket

cardano-node.exe run --topology C:\Users\jbax\dev\free-commerce\src\main\resources\mainnet-topology.json --database-path C:\Users\jbax\Downloads\blockchain --socket-path C:\Users\jbax\Downloads\blockchain\node.socket --host-addr 0.0.0.0 --port 3333 --config C:\Users\jbax\dev\free-commerce\src\main\resources\mainnet-config.json

Then cardano-wallet with this:

set CARDANO_NODE_SOCKET_PATH=C:\Users\jbax\Downloads\blockchain\node.socket

C:\Users\jbax\Downloads\cardano-wallet-win64>cardano-wallet.exe serve --mainnet --database C:\Users\jbax\Downloads\blockchain --node-socket C:\Users\jbax\Downloads\blockchain\node.socket --port 4444

NOTE: (also tried without setting the CARDANO_NODE_SOCKET_PATH)

The cardano-wallet process fails almost immediately with:

[cardano-wallet.main:Info:3] [2020-11-22 21:44:50.77 UTC] Running as v2020.11.3 (git revision: e08d0aa5bf28632ec772a7e1b00c421c584dcb35)
[cardano-wallet.main:Info:3] [2020-11-22 21:44:50.77 UTC] Command line: C:\Users\jbax\Downloads\cardano-wallet-win64\cardano-wallet.exe serve --mainnet --database C:\Users\jbax\Downloads\blockchain --node-socket C:\Users\jbax\Downlo
ads\blockchain\node.socket --port 4444
[cardano-wallet.main:Debug:3] [2020-11-22 21:44:50.77 UTC] ServeArgs {_hostPreference = Host "127.0.0.1", _listen = ListenOnPort 4444, _tlsConfig = Nothing, _nodeSocket = "C:\\Users\\jbax\\Downloads\\blockchain\\node.socket", _netwo
rkConfiguration = MainnetConfig, _database = Just "C:\\Users\\jbax\\Downloads\\blockchain", _syncTolerance = SyncTolerance 300s, _enableShutdownHandler = False, _poolMetadataSourceOpt = Nothing, _logging = LoggingOptions {loggingMin
Severity = Debug, loggingTracers = Tracers {applicationTracer = Const (Just Info), apiServerTracer = Const (Just Info), walletEngineTracer = Const (Just Info), walletDbTracer = Const (Just Info), poolsEngineTracer = Const (Just Info
), poolsDbTracer = Const (Just Info), ntpClientTracer = Const (Just Info), networkTracer = Const (Just Info)}, loggingTracersDoc = Nothing}}
[cardano-wallet.main:Info:3] [2020-11-22 21:44:50.77 UTC] Wallet databases: Using directory: C:\Users\jbax\Downloads\blockchain
[cardano-wallet.application:Info:3] [2020-11-22 21:44:50.77 UTC] Wallet backend server starting. Using "C:\\Users\\jbax\\Downloads\\blockchain\\node.socket".
[cardano-wallet.application:Info:3] [2020-11-22 21:44:50.77 UTC] Node is Haskell Node on mainnet.
[cardano-wallet.ntp-client:Info:3] [2020-11-22 21:44:50.79 UTC] Starting ntp client
[cardano-wallet.ntp-client:Info:16] [2020-11-22 21:44:50.79 UTC] query to ntp client invoked
[cardano-wallet.pools-db:Info:3] [2020-11-22 21:44:50.79 UTC] Will open db at C:\Users\jbax\Downloads\blockchain\stake-pools.sqlite
[cardano-wallet.network:Info:10] [2020-11-22 21:44:50.81 UTC] conn:C:\Users\jbax\Downloads\blockchain\node.socket:C:\Users\jbax\Downloads\blockchain\node.socket Send (ClientAgency TokPropose,MsgProposeVersions (fromList [(NodeToClie
ntV_3,TInt 764824073)]))
[cardano-wallet.ntp-client:Notice:21] [2020-11-22 21:44:50.82 UTC] ntp client experienced error withIODataPtr (sendBufTo): invalid argument (The network location cannot be reached. For information about network troubleshooting, see
Windows Help.) when sending packet
[cardano-wallet.main:Debug:3] [2020-11-22 21:44:50.86 UTC] Logging shutdown.
cardano-wallet.exe: ExceptionInLinkedThread ThreadId 10 DecoderFailure (Handshake) ServerAgency TokConfirm) (DeserialiseFailure 2 "codecHandshake.Confirm: unexpected key")

If I stop the node and delete the socket.path file, the cardano-wallet starts and tries to connect.

Then, if I start the cardano-node again, the cardano-wallet doesn't connect to the node but keeps retrying.

| Information | - |
| --- | --- |
| Version | 2020.11.3 (git revision: e08d0aa5bf28632ec772a7e1b00c421c584dcb35) |
| Platform | Windows 10 |
| Installation | From Github Release |

Most helpful comment

@piotr-iohk Thanks that worked like a charm!

All 7 comments

Hi @jbax,

First off, the environment variable CARDANO_NODE_SOCKET_PATH is not used by cardano-wallet, nor cardano-node. It's entirely up to the cardano-wallet serve --node-socket and cardano-node run --socket-path arguments. This variable is however used by some cardano-cli commands.

You seem to have some NTP errors, but these are non-fatal, usually caused by lack of network connectivity, and not related to your problem.

If there is a codec failure, then that suggests an incompatible version of cardano-node.exe. What is the result of cardano-node.exe --version?

Cardano node version:

cardano-node 1.21.1 - mingw32-x86_64 - ghc-8.6
git rev a819311473563cb2ab3cd91543cf0f63facdf43e

Downloaded from the release package here: https://github.com/input-output-hk/cardano-wallet/releases/tag/v2020-11-03

There is no issue with network connectivity from what I can tell. It seems that the NTP error pops up from the second run onward. First run after a system restart doesn't show that NTP error. Killing the process and starting it again makes that NTP message show up.

Thanks @jbax - that's the correct version - we will need to investigate further.

I got this setup in a (rather large) virtualbox VM, happy to share that if you are unable to reproduce.

@jbax please try to replace C:\Users\jbax\Downloads\blockchain\node.socket with \\.\pipe\cardano-node-mainnet:

cardano-node.exe run ... ---socket-path \\.\pipe\cardano-node-mainnet ...
cardano-wallet.exe serve ... --node-socket \\.\pipe\cardano-node-mainnet ...

On Windows named pipes should be used as socket paths actually.

Thanks @piotr-iohk - I totally forgot about that.

I have updated the CLI page on the wiki too - https://github.com/input-output-hk/cardano-wallet/wiki/Wallet-command-line-interface#domain-socketnamed-pipe

@piotr-iohk Thanks that worked like a charm!

Was this page helpful?
0 / 5 - 0 ratings