[Help-gnutls] Assertion failure advice

David Given dg at cowlark.com
Sun Apr 15 00:50:27 CEST 2007


My program, which uses gnutls, is very occasionally crashing for no apparent
reason. After much effort (running it in a screen session for two weeks...)
I've finally managed to get some tracing:

spey: ath.c:184: _gcry_ath_mutex_lock: Assertion `*lock == ((ath_mutex_t) 0)'
failed.

This appears to be an assertion failure inside gnutls. I can tell from the
rest of the tracing that it's happening inside a call to gnutls_handshake().

Does anyone know what this might be signifying? It doesn't seem to be my
fault, but I have had very little experience driving the GNUTLS API and I
could easily be getting something wrong. It looks like a mutex failure, but
while my program is multithreaded, I'm using a unique session object per
socket, so I wouldn't have thought this would apply.

The actual code is in the Socket::makesecure() function here:

http://spey.cvs.sourceforge.net/spey/spey/src/Socket.cc?revision=1.12&view=markup

...line 272. Any advice gratefully appreciated.

-- 
┌── dg@cowlark.com ─── http://www.cowlark.com ───────────────────
│ "Parents let children ride bicycles on the street. But parents do not
│ allow children to hear vulgar words. Therefore we can deduce that cursing
│ is more dangerous than being hit by a car." --- Scott Adams

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 252 bytes
Desc: OpenPGP digital signature
URL: </pipermail/attachments/20070414/7174ad02/attachment.pgp>


More information about the Gnutls-help mailing list