gpgme assert crash during op_encrypt_sign

Marcus Brinkmann Marcus.Brinkmann at
Tue Aug 20 13:01:01 CEST 2002

On Mon, Aug 19, 2002 at 10:13:50PM -0700, J Robert Ray wrote:
> I'm getting an assertion during gpgme_op_encrypt_sign():
> data.c:694: _gpgme_data_append: Assertion 'dh' failed.
> The line number may not line up with the latest CVS version, I'm using
> 0.3.6 because newer versions fail to compile on me, an error building
> the documentation actually.  But anyway the problem seems to still be in
> the latest version, looking at the source in CVS.

Read the README file and follow the instructions that say to add
--enable-maintainer-mode to configure.  This only applies to the CVS
> ~  _gpgme_sign_status_handler (ctx, code, args);
> ~  if (code == STATUS_EOF && encrypt_info)
> ~    _gpgme_data_append (ctx->op_info, encrypt_info, encrypt_info_len);
> The assertion happens because ctx->op_info is NULL.

Yes, this needs more work.  Thanks for spotting it, I am working on a fix.
The logic needs to be a bit cleaned up.  Note that there is aconflict here
because the encrypt status handler also tries to set the op info.

> Based on the documentation, I thought this should encrypt for as many
> recipients as possible, and return that some recipients were bad, or
> that they were all bad.  Is it possible to find out which keys are bad
> and which are good?

The op_info should contain this information, but currently this doesn't seem
to work because the sign status handler overrides the result?  I will look
into it.


`Rhubarb is no Egyptian god.' GNU    marcus at
Marcus Brinkmann              The Hurd
Marcus.Brinkmann at

More information about the Gnupg-devel mailing list