ZecWallet Fullnode 0.9.5 - could not connect to Zcashd

My wallet I’ve updated to 0.9.5 and it is not connecting to zcashd. I am not knowledgeable enough to troubleshoot based on other zcashd connection issue posts. I have my private keys on paper if a solution requires them. Given the market currently, I need to move my zcash from my wallet quickly. Please help someone with minimal programming knowledge. I need to send me Zec to a wallet that is usable so that I can transact I do not have the time to deal with these technical issues.

1 Like

You are most likely running into this issue: zcashd assertion failure CopyPreviousWitnesses() Assertion (nd->witnessHeight == -1) || (nd->witnessHeight == indexHeight - 1) · Issue #4301 · zcash/zcash · GitHub

You will need to run zcashd with a reindex.

Please look at this issue and this comment for instructions: updated the wallet, everything was fine, transferred the coin. tried to transfer the coin further and then it showed me 96.96% I can’t do anything · Issue #247 · ZcashFoundation/zecwallet · GitHub

3 Likes

Thanks for the response and it worked. However, I have opened the wallet this morning and it appears the exact same issue is occurring again. I’m assuming it will require the same solution but would like confirmation (why is this a recurring issue?). If so, I do not think it makes sense for me to continue using this wallet. Let me know thank you.

This bug is not related to the wallet itself but to the node software called zcashd.

The bug in question has been fixed but there has not been a release of the node software with the fix included, as of yet.

It might have something to do with the way you’re shutting things down? Had a power outage here yesterday & had to reindex as a result.

(clever people, please correct if I’m wrong!)

No, it’s not related to shutting down, although that could also lead to corruption in certain scenarios.

Many folks are hitting this bug → zcashd assertion failure CopyPreviousWitnesses() Assertion (nd->witnessHeight == -1) || (nd->witnessHeight == indexHeight - 1) · Issue #4301 · zcash/zcash · GitHub

It has been fixed but there is no zcashd release with the fix included.

1 Like

Ok thanks. Can you please confirm if reindexing is all I can do to fix at this point?

The simple answer is yes.

If you are technical enough, you can compile zcashd from source and use that one. But try it only if you know what you’re doing.

I also have another suggestion (perhaps temporary until the next release).

Do one more reindex and as soon as you are synced, download Zecwallet Lite and send your funds there. The light wallet doesn’t require downloading the blockchain and syncs in a few seconds. It doesn’t support importing private keys but you can just send the funds to a new address there and keep using the lite wallet from then on.

4 Likes

I’ve had to re-index because of incorrect shutdown before, make sure you always file/exit properly

Guys,
I’m experiencing a very similar problem with ZecWallet FullNode.
Several days ago, @anon16456014 was so kind to give me a 0.9.5 release including the fixed zcashd for the 4301 issue.
However, literally each time that I open ZecWallet FullNode I’m having this “Could not connect to zcashd” message and I need a reindex to fix things
.
I know that I’m missing something and would like to fix this issue as soon as possible…
I also made my tests with the official 0.9.7 release, but I have the same behavior.
As I thought it could be due to a corrupted wallet.dat, I sent my funds to a new address, but it seems it’s not wallet.dat related.

zec-qt-wallet.log does not give me any debug info (is it still used??)
In the directory in %AppData%\ZecWallet FullNode I can’t find any useful log.
Zcashd debug.log doesn’t say anything to me.

Any idea where can I find more detailed info please?

This is my debug.log:
2020-04-04 19:21:42 Zcash version v2.1.1-1-7952e22-dirty (2020-02-07 11:19:43 -0800)
2020-04-04 19:21:42 Using OpenSSL version OpenSSL 1.1.1a 20 Nov 2018
2020-04-04 19:21:42 Using BerkeleyDB version Berkeley DB 6.2.23: (March 28, 2016)
2020-04-04 19:21:42 Default data directory C:\Users\Fab\AppData\Roaming\Zcash
2020-04-04 19:21:42 Using data directory C:\Users\Fab\AppData\Roaming\Zcash
2020-04-04 19:21:42 Using config file C:\Users\Fab\AppData\Roaming\Zcash\zcash.conf
2020-04-04 19:21:42 Using at most 125 connections (2048 file descriptors available)
2020-04-04 19:21:42 Using 4 threads for script verification
2020-04-04 19:21:42 scheduler thread start
2020-04-04 19:21:42 Loading Sapling (Spend) parameters from C:\Users\Fab\AppData\Roaming\ZcashParams\sapling-spend.params
2020-04-04 19:21:42 Loading Sapling (Output) parameters from C:\Users\Fab\AppData\Roaming\ZcashParams\sapling-output.params
2020-04-04 19:21:42 Loading Sapling (Sprout Groth16) parameters from C:\Users\Fab\AppData\Roaming\ZcashParams\sprout-groth16.params
2020-04-04 19:21:43 Loaded Sapling parameters in 0.980441s seconds.
2020-04-04 19:21:43 libevent: getaddrinfo: nodename nor servname provided, or not known
2020-04-04 19:21:43 Binding RPC on address ::1 port 8232 failed.
2020-04-04 19:21:43 HTTP: creating work queue of depth 16
2020-04-04 19:21:43 Config options rpcuser and rpcpassword will soon be deprecated. Locally-run instances may remove rpcuser to use cookie-based auth, or may be replaced with rpcauth. Please see share/rpcuser for rpcauth auth generation.
2020-04-04 19:21:43 HTTP: starting 4 worker threads
2020-04-04 19:21:43 Using wallet wallet.dat
2020-04-04 19:21:43 init message: Verifying wallet…
2020-04-04 19:21:43 CDBEnv::Open: LogDir=C:\Users\Fab\AppData\Roaming\Zcash\database ErrorFile=C:\Users\Fab\AppData\Roaming\Zcash\db.log
2020-04-04 19:21:43 Bound to [::]:8233
2020-04-04 19:21:43 Bound to 0.0.0.0:8233
2020-04-04 19:21:43 Cache configuration:
2020-04-04 19:21:43 * Using 2.0MiB for block index database
2020-04-04 19:21:43 * Using 120.0MiB for chain state database
2020-04-04 19:21:43 * Using 328.0MiB for in-memory UTXO set
2020-04-04 19:21:43 init message: Loading block index…
2020-04-04 19:21:43 Opening LevelDB in C:\Users\Fab\AppData\Roaming\Zcash\blocks\index
2020-04-04 19:21:43 Opened LevelDB successfully
2020-04-04 19:21:43 Opening LevelDB in C:\Users\Fab\AppData\Roaming\Zcash\chainstate
2020-04-04 19:21:43 Opened LevelDB successfully
2020-04-04 19:22:01 LoadBlockIndexDB: last block file = 165
2020-04-04 19:22:01 LoadBlockIndexDB: last block file info: CBlockFileInfo(blocks=1501, size=8374510, heights=781656…783165, time=2020-04-01…2020-04-02)
2020-04-04 19:22:01 Checking all blk files are present…
2020-04-04 19:22:01 LoadBlockIndexDB: transaction index disabled
2020-04-04 19:22:01 LoadBlockIndexDB: insight explorer disabled
2020-04-04 19:22:01 LoadBlockIndexDB: hashBestChain=0000000000db70b8a1afa54feb0289bcb9adc1e77115daa900328e2b97468fec height=772359 date=2020-03-24 12:08:31 progress=0.976031
2020-04-04 19:22:01 init message: Rewinding blocks if needed…
2020-04-04 19:22:02 init message: Verifying blocks…
2020-04-04 19:22:02 Verifying last 288 blocks at level 3
2020-04-04 19:22:04 No coin database inconsistencies in last 289 blocks (1257 transactions)
2020-04-04 19:22:04 block index 21572ms
2020-04-04 19:22:04 init message: Loading wallet…
2020-04-04 19:22:04 nFileVersion = 2010151
2020-04-04 19:22:04 Keys: 102 plaintext, 0 encrypted, 102 w/ metadata, 102 total
2020-04-04 19:22:04 ZKeys: 1 plaintext, 0 encrypted, 1 w/metadata, 1 total
2020-04-04 19:22:04 wallet 8ms
2020-04-04 19:22:04 init message: Activating best chain…

[… then lots of UpdateTip: new best=… lines, then]

2020-04-04 19:23:37 mapBlockIndex.size() = 783171
2020-04-04 19:23:37 nBestHeight = 783165
2020-04-04 19:23:37 setKeyPool.size() = 101
2020-04-04 19:23:37 mapWallet.size() = 4
2020-04-04 19:23:37 mapAddressBook.size() = 1
2020-04-04 19:23:37 txnotify thread start
2020-04-04 19:23:37 init message: Loading addresses…
2020-04-04 19:23:37 torcontrol thread start
2020-04-04 19:23:37 Loaded 40449 addresses from peers.dat 123ms
2020-04-04 19:23:37 dnsseed thread start
2020-04-04 19:23:37 net thread start
2020-04-04 19:23:37 addcon thread start
2020-04-04 19:23:37 opencon thread start
2020-04-04 19:23:37 init message: Done loading
2020-04-04 19:23:37 msghand thread start
2020-04-04 19:23:38 receive version message: /MagicBean:2.1.11/: version 170009, blocks=785328, us=2.xx.xxx.xxx:2593, peer=1
2020-04-04 19:23:38 Added time data, samples 2, offset -1 (+0 minutes)
2020-04-04 19:23:38 keypool reserve 2
2020-04-04 19:23:38 keypool return 2
2020-04-04 19:23:39 keypool reserve 2
2020-04-04 19:23:39 keypool return 2
2020-04-04 19:23:43 ERROR: AcceptToMemoryPool: shielded requirements not met
2020-04-04 19:23:48 Loading addresses from DNS seeds (could take a while)
2020-04-04 19:23:49 50 addresses found from DNS seeds
2020-04-04 19:23:49 dnsseed thread exit
2020-04-04 19:23:49 receive version message: /MagicBean:2.1.11(bitcore)/: version 170009, blocks=785328, us=2.xx.xxx.xx:2605, peer=2
2020-04-04 19:23:49 Added time data, samples 3, offset -1 (+0 minutes)
2020-04-04 19:23:52 UpdateTip: new best=…

Anyone can help me please?

Thanks,
mantoz

EDIT: forgot ip address in clear… :slight_smile:

Sorry to hear you are still having issues.

Perhaps I need to mention that the only build with the fixed zcashd is this one.

Newer versions of Zecwallet do not have the fix so don’t upgrade.

The only solution for now (until ECC releases a zcashd update) is to keep using the special build that @adityapk00 made for exactly that reason.

And since you keep hitting this bug so badly, I would highly suggest that you reindex one more time with the special build and then move all your funds to Zecwallet Lite, which does not suffer from this bug and it’s much faster and easier to use, since it doesn’t require downloading the blockchain, reindexing etc. It will make your life much easier :slight_smile:

2 Likes

Thank you very much.
I reindexed for the n-th time, and everything ok.
Then, I closed ZecWallet, removed the ‘reindex=1’ from zcash.conf, and started the ‘fixed’ zcashd.exe from the command line, in the directory resources\bin\win.

Why do I still get the ‘Assertion failed’ error message?

Assertion failed!

Program: C:\Users\Fab\Desktop\ZEC Wallet 9 unofficial\resources\bin\win\zcashd.exe
File: wallet/wallet.cpp, Line 1065

Expression: (nd->witnessHeight == -1) || (nd->witnessHeight == indexHeight - 1)

Are you confident you are using this special Zecwallet build?

Otherwise I don’t have any other idea why. @adityapk00 are you sure the build includes all the commits with the fix? :slight_smile:

@mantoz Try to send the funds out immediately after the reindexing finishes. Don’t stop zcashd. As soon as it finishes, launch Zecwallet and send the funds out (with the zcashd that was reindexing still running). I hope this works.

Are you confident you are using this special Zecwallet build?

Yes, also redownloaded from the link you posted and compared. Same archive, same files (binary comparison with Beyond Compare, no diffs for the whole dir).

No problem about reindexing, but going to use ZecWallet Lite as you suggested, at least until someone can fix that annoying bug. If you need some tests, I’m happy to help.

Just can’t understand why getting that assert if zcashd.exe is fixed.

Thanks again,
mantoz

The zcashd bug has been fixed a while ago but has not yet been released as a binary so you can use it.

You would need to compile it from source, if you are technically capable to do so. The source code is available here. I’m not even sure if its possible to compile zcashd for Windows without cross compiling from a Linux machine though. I have macOS and compiles fine here but I have no idea about Windows…

Anyway, try sending your funds to Zecwallet Lite and your problems will be over.

I suspect that the bug has not been fixed fully, even on master. I’m using a zcashd built from source, and I myself ran into it!

I would also recommend switching to Zecwallet Lite

1 Like