gpgme error no data for op_verify

View: New views
3 Messages — Rating Filter:   Alert me  

Parent Message unknown gpgme error no data for op_verify

by Josselin Jacquard :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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



_______________________________________________
Gnupg-users mailing list
Gnupg-users@...
http://lists.gnupg.org/mailman/listinfo/gnupg-users

Re: gpgme error no data for op_verify

by Josselin Jacquard :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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@...>
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




_______________________________________________
Gnupg-users mailing list
Gnupg-users@...
http://lists.gnupg.org/mailman/listinfo/gnupg-users

Re: gpgme error no data for op_verify

by Josselin Jacquard :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Ok I found that the gpgme engine is set to gpg for my system.
I set it explicitely to gpg2 and now it's working using gpgme_set_engine_info(GPGME_PROTOCOL_OpenPGP, "/usr/bin/gpg2", NULL))
Should this work on Mac too ?

Does someone now how to change the gpgme lib to use gpg2 by default on my system (archlinux)

Bye

2009/10/23 Josselin Jacquard <josselin.jacquard@...>
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@...>

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





_______________________________________________
Gnupg-users mailing list
Gnupg-users@...
http://lists.gnupg.org/mailman/listinfo/gnupg-users