gpgme error no data for op_verify

Josselin Jacquard josselin.jacquard at gmail.com
Fri Oct 23 10:55:50 CEST 2009


I've working on my problem, and the data allocation seem solved. (Or maybe
it never appeared and I misjudge the debug info)

Now it's the gpg engine which throws a no data error. I've got this gpgme
debug output, can someone ather information from it (I myself don't
understand it quite well).

For information, before this op_verify call, my program is making calls for
keys and web of trust management without problems.

Thx in advance.

_gpgme_io_pipe (filedes=0xa2a632c): enter: inherit_idx=1 (GPGME uses it for
reading)
_gpgme_io_pipe (filedes=0xa2a632c): leave: read=0x6, write=0x7
_gpgme_io_set_close_notify (fd=0x6): enter:
close_handler=0xb7e7722c/0xa2a6318
_gpgme_io_set_close_notify (fd=0x6): leave: result=0
_gpgme_io_set_close_notify (fd=0x7): enter:
close_handler=0xb7e7722c/0xa2a6318
_gpgme_io_set_close_notify (fd=0x7): leave: result=0
_gpgme_io_pipe (filedes=0xbfd2e1c8): enter: inherit_idx=0 (GPGME uses it for
writing)
_gpgme_io_pipe (filedes=0xbfd2e1c8): leave: read=0x8, write=0x9
_gpgme_io_set_close_notify (fd=0x8): enter:
close_handler=0xb7e7722c/0xa2a6318
_gpgme_io_set_close_notify (fd=0x8): leave: result=0
_gpgme_io_set_close_notify (fd=0x9): enter:
close_handler=0xb7e7722c/0xa2a6318
_gpgme_io_set_close_notify (fd=0x9): leave: result=0
_gpgme_io_pipe (filedes=0xbfd2e1c8): enter: inherit_idx=0 (GPGME uses it for
writing)
_gpgme_io_pipe (filedes=0xbfd2e1c8): leave: read=0xb, write=0xc
_gpgme_io_set_close_notify (fd=0xb): enter:
close_handler=0xb7e7722c/0xa2a6318
_gpgme_io_set_close_notify (fd=0xb): leave: result=0
_gpgme_io_set_close_notify (fd=0xc): enter:
close_handler=0xb7e7722c/0xa2a6318
_gpgme_io_set_close_notify (fd=0xc): leave: result=0
_gpgme_io_spawn (path=0xa286c30): enter: path=/usr/bin/gpg
_gpgme_io_spawn (path=0xa286c30): check: argv[ 0] = gpg
_gpgme_io_spawn (path=0xa286c30): check: argv[ 1] =
--enable-special-filenames
_gpgme_io_spawn (path=0xa286c30): check: argv[ 2] = --use-agent
_gpgme_io_spawn (path=0xa286c30): check: argv[ 3] = --batch
_gpgme_io_spawn (path=0xa286c30): check: argv[ 4] = --no-sk-comment
_gpgme_io_spawn (path=0xa286c30): check: argv[ 5] = --lc-messages
_gpgme_io_spawn (path=0xa286c30): check: argv[ 6] = fr_FR.UTF-8
_gpgme_io_spawn (path=0xa286c30): check: argv[ 7] = --lc-ctype
_gpgme_io_spawn (path=0xa286c30): check: argv[ 8] = fr_FR.UTF-8
_gpgme_io_spawn (path=0xa286c30): check: argv[ 9] = --status-fd
_gpgme_io_spawn (path=0xa286c30): check: argv[10] = 7
_gpgme_io_spawn (path=0xa286c30): check: argv[11] = --no-tty
_gpgme_io_spawn (path=0xa286c30): check: argv[12] = --charset
_gpgme_io_spawn (path=0xa286c30): check: argv[13] = utf8
_gpgme_io_spawn (path=0xa286c30): check: argv[14] = --enable-progress-filter
_gpgme_io_spawn (path=0xa286c30): check: argv[15] = --display
_gpgme_io_spawn (path=0xa286c30): check: argv[16] = :0.0
_gpgme_io_spawn (path=0xa286c30): check: argv[17] = --verify
_gpgme_io_spawn (path=0xa286c30): check: argv[18] = --
_gpgme_io_spawn (path=0xa286c30): check: argv[19] = -&8
_gpgme_io_spawn (path=0xa286c30): check: argv[20] = -&11
_gpgme_io_spawn (path=0xa286c30): check: fd[0] = 0x7
_gpgme_io_spawn (path=0xa286c30): check: fd[1] = 0x8
_gpgme_io_spawn (path=0xa286c30): check: fd[2] = 0xb
gpgme:max_fds (((void *)0)=0x0): call: max fds=1024 (RLIMIT_NOFILE)
_gpgme_io_spawn (path=0xa286c30): check: waiting for child process pid=22801
_gpgme_io_close (fd=0x7): enter
_gpgme_io_close (fd=0x7): check: invoking close handler 0xb7e7722c/0xa2a6318
_gpgme_io_close (fd=0x7): leave: result=0
_gpgme_io_close (fd=0x8): enter
_gpgme_io_close (fd=0x8): check: invoking close handler 0xb7e7722c/0xa2a6318
_gpgme_io_close (fd=0x8): leave: result=0
_gpgme_io_close (fd=0xb): enter
_gpgme_io_close (fd=0xb): check: invoking close handler 0xb7e7722c/0xa2a6318
_gpgme_io_close (fd=0xb): leave: result=0
_gpgme_io_spawn (path=0xa286c30): leave: result=0
_gpgme_add_io_cb (ctx=0xa285d48): call: fd 6, dir=1 -> tag=0xa286c20
_gpgme_add_io_cb (ctx=0xa285d48): call: fd 9, dir=0 -> tag=0xa2a6400
_gpgme_io_set_nonblocking (fd=0x9): enter
_gpgme_io_set_nonblocking (fd=0x9): leave: result=0
_gpgme_add_io_cb (ctx=0xa285d48): call: fd 12, dir=0 -> tag=0xa2a6428
_gpgme_io_set_nonblocking (fd=0xc): enter
_gpgme_io_set_nonblocking (fd=0xc): leave: result=0
gpgme:gpg_io_event (gpg=0xa2a6318): call: event 0xb7e6bb9c, type 0,
type_data (nil)

2009/10/22 Josselin Jacquard <josselin.jacquard at gmail.com>

> Hi,
> I've got a bug and I can't find the solution.
>
> I'm calling gpgme_op_verify with a non empty signature and a non empty
> plain text, but the gpgme returns a no data error.
>
> It looks like when debugging that the _gpgme_op_data_lookup return this
> error (called by _gpgme_op_verify_init_result)
>
> The line 48 - 49 throws the error :
>
> data = calloc (1, sizeof (struct ctx_op_data) + size);
>
> if (!data)
>
>
> data is initialized by
> *data = ctx->op_data
>
> It looks like data is always null pointer during my debugs.
>
>
> Thanks in advance,
>
>
> Joss
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/attachments/20091023/4a88f171/attachment.htm>


More information about the Gnupg-users mailing list