_gcry_ath_mutex_lock: Assertion

Chris Ballinger chris at chatsecure.org
Thu Jul 31 02:10:21 CEST 2014


For what it's worth, I discovered this as well when trying to write tests
for OTRKit (which uses libotr internally)


On Wed, Jul 30, 2014 at 9:01 AM, David Goulet <dgoulet at ev0ke.net> wrote:

> Hello!
>
> We are currently working on a test suite for libotr[1] which heavily
> uses libgcrypt (version 1.5.3 in Debian). We use a small client that
> exchanges OTR messages between two threads using libotr for stress,
> regression and fuzzing tests.
>
> While receiving messages at the same time, we can end up with this from
> the gcry_md_read() call.
>
>         lt-client: ath.c:193: _gcry_ath_mutex_lock: Assertion `*lock ==
>         ((ath_mutex_t) 0)' failed.
>
> You can find a full gdb backtrace here --> http://pastebin.com/cqJDe7dR
> Part are optimized out but let me know, I can provide you a -O0 version.
>
> I did a small investiguation and it seems that there is contention on
> this lock which for some reasons assert() when it's locked.
>
>         ath_mutex_lock (&digests_registered_lock);
>
> I see that in libgcrypt 1.6, it has been removed so is there a way to
> avoid the issue for < 1.6 without defining NDEBUG?
>
> Thanks!
> David
>
> [1] https://bugs.otr.im/projects/libotr
>
> _______________________________________________
> Gcrypt-devel mailing list
> Gcrypt-devel at gnupg.org
> http://lists.gnupg.org/mailman/listinfo/gcrypt-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/attachments/20140730/a89a08b2/attachment.html>


More information about the Gcrypt-devel mailing list