gpgme_op_keylist_start: error: Invalid crypto engine <GPGME>

Werner Koch wk at
Mon Oct 22 11:13:48 CEST 2012


looking closer at the logs shows that none of the tools return any
information for a call with EGNINE --version.

 <0x0391>  _gpgme_io_spawn: check: path=0x4a2ea798, argv[ 0] = /data/data/info.guardianproject.gpg/app_opt/bin/gpg2
 <0x0391>  _gpgme_io_spawn: check: path=0x4a2ea798, argv[ 1] = --version
 <0x0391>  _gpgme_io_spawn: check: path=0x4a2ea798, fd[0] = 0x26 -> 0x1

Setup everything for an exec.  Register to connect stdout of gpg2 to the

 <0x0391>  _gpgme_io_spawn: check: path=0x4a2ea798, waiting for child
 process pid=941

Wait in the parent for gpg to finish.

 <0x03ae>    gpgme:max_fds: call: 0=0x0, max fds=1024 (RLIMIT_NOFILE)

The child is about to close all file descriptors.  Actually this is the
grandchild because gpgme uses double forking to let init reap the

 <0x0391>    _gpgme_io_close: enter: fd=0x26
 <0x0391>    _gpgme_io_close: leave: result=0

Close other end of the pipe in the parent.

 <0x0391>  _gpgme_io_spawn: leave: result=0


 <0x0391>  _gpgme_io_read: enter: fd=0x25, buffer=0xbeac65e4, count=79
 <0x0391>  _gpgme_io_read: leave: result=0

Read end of the pipe was called with a 79 byte buffer but returned
nothing.  Here is what you should have seen between these two log lines:

 <0x0391>  _gpgme_io_read: check: 6770672028476e75 50472920312e342e gpg (GnuPG) 1.4

I assume you already verified that 

 $ /data/data/info.guardianproject.gpg/app_opt/bin/gpg2 --version 
return something to stdout.  The next step would be to enable the trace
calls in  src/posix-io.c:gpgme_io_spawn .  The are all "#if 0"-ed to
avoid problems with pthread.  Change the all to "#if 1" and check the
logs again.

How long would it take me to setup a test environment?  Does that make



Die Gedanken sind frei.  Ausnahmen regelt ein Bundesgesetz.

More information about the Gnupg-devel mailing list