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
The issue described here is not directly related to zcashd but rather to one of its dependency packages—Berkeley DB 6.2.23—used in the project. I encountered a similar issue in another project that also uses this version of Berkeley DB. Therefore, ZCash developers should be aware of it. The problem occurs on the aarch64-apple-darwin triplet when compiled with the built-in clang. Upon attempting to open the database with dbenv->open, the daemon process hangs, resulting in an infinite Verifying wallet... wait. Below, I have isolated the issue to aid in reproducibility.
Launch ./test-bdb ... and it will hang after call __db_tas_mutex_lock_int from src/mutex/mut_alloc.c.
This behavior is only related to arm64 Darwin, on x86_64 everything is fine. If we will repeat all the steps after arch -x86_64 zsh (switch to i386), i.e.:
Open ... (will we hang?)
BerkeleyDB environment opened successfully.
Solution:
In the next version of Berkeley DB, 6.2.32, the issue is fixed, and there are no hangs on Darwin arm64 and x86_64. So, perhaps we should update to 6.2.32? Some projects, such as ycash, have already made this update.
The text was updated successfully, but these errors were encountered:
This is unlikely to be fixed within the remaining life of zcashd, especially as this only applies to a platform that is less commonly used to run servers and is not in any zcashd support tier.
This is unlikely to be fixed within the remaining life of zcashd, especially as this only applies to a platform that is less commonly used to run servers and is not in any zcashd support tier.
Thank you for your response. I just opened the issue to inform the developers and the community that this problem exists. Hopefully, it will be easy to find if someone encounters the same wallet initialization hang on Apple Silicon, whether in ZCash, its forks, or elsewhere.
The issue described here is not directly related to
zcashd
but rather to one of its dependency packages—Berkeley DB6.2.23
—used in the project. I encountered a similar issue in another project that also uses this version of Berkeley DB. Therefore, ZCash developers should be aware of it. The problem occurs on theaarch64-apple-darwin
triplet when compiled with the built-in clang. Upon attempting to open the database withdbenv->open
, the daemon process hangs, resulting in an infiniteVerifying wallet...
wait. Below, I have isolated the issue to aid in reproducibility.Environment:
Steps to reproduce:
atomic_init
:test-bdb.cpp
:test-bdb.cpp
and link it with bdb:./test-bdb
... and it will hang after call__db_tas_mutex_lock_int
fromsrc/mutex/mut_alloc.c
.This behavior is only related to
arm64
Darwin, onx86_64
everything is fine. If we will repeat all the steps afterarch -x86_64 zsh
(switch to i386), i.e.:The result will be:
Solution:
In the next version of Berkeley DB,
6.2.32
, the issue is fixed, and there are no hangs on Darwinarm64
andx86_64
. So, perhaps we should update to6.2.32
? Some projects, such as ycash, have already made this update.The text was updated successfully, but these errors were encountered: