glv2 / bruteforce-luks

Try to find the password of a LUKS encrypted volume.
GNU General Public License v3.0
238 stars 34 forks source link

bruteforce-luks: ath.c:268: _gcry_ath_mutex_lock: Assertion `*lock == ((ath_mutex_t) 0)' failed. #23

Open judouk opened 4 years ago

judouk commented 4 years ago

CentOS Linux release 7.6.1810 (Core)

rpm -q cryptsetup

cryptsetup-2.0.3-3.el7.x86_64

rpm -q gcc

gcc-4.8.5-36.el7_6.2.x86_64

rpm -q autoconf

autoconf-2.69-11.el7.noarch

I've compiled this following the instructions but cannot get it to run multi-threaded.

bruteforce-luks -l 1 -m 8 -v 30 -t 20 luks-header

bruteforce-luks: ath.c:268: _gcry_ath_mutex_lock: Assertion *lock == ((ath_mutex_t) 0)' failed. bruteforce-luks: ath.c:268: _gcry_ath_mutex_lock: Assertionlock == ((ath_mutex_t) 0)' failed. bruteforce-luks: ath.c:268: _gcry_ath_mutex_lock: Assertion `lock == ((ath_mutex_t) 0)' failed. bruteforce-luks: ath.c:268: _gcry_ath_mutex_lock: Assertion `*lock == ((ath_mutex_t) 0)' failed. Aborted (core dumped)

If I run this without the '-t 20' option, it runs (although only single threaded).

glv2 commented 4 years ago

bruteforce-luks doesn't use gcrypt, so it looks like the problem comes from cryptsetup when it is compiled with the gcrypt backend.

Maybe a more recent version of libgcrypt could solve the problem (see http://gnupg.10057.n7.nabble.com/gcry-ath-mutex-lock-Assertion-td37384.html).

judouk commented 4 years ago

I compiled a later version of libgpg-error and libgcrypt libgcrypt-1.8.4.tar.bz2 libgpg-error-1.36.tar.bz2

Unfortunately, I still see the same error bruteforce-luks: ath.c:268: _gcry_ath_mutex_lock: Assertion `*lock == ((ath_mutex_t) 0)' failed.

Output from strace can be found here - https://pastebin.com/B9mNrLti