Noticed while testing Kleopatra does repeatedly not start for me. This is the first time I'm seeing this.
Sometimes it starts but often times it hangs. Strace shows a read while it is hanging.
Version gpgme-1.11.2-beta247 gpg 2.2.9-beta11
Strangely enough t-gpgconf works without a problem even if I run it 1000 times. Maybe something with gpgme++? Looking into it.
Attaching GDB resulted in the following backtrace:
(gdb) bt full #0 0x00007f1bd6fcb20d in read () at ../sysdeps/unix/syscall-template.S:84 No locals. #1 0x00007f1bd6da6bb5 in _gpgme_ath_read (fd=<optimized out>, buf=<optimized out>, nbytes=<optimized out>) at ../../../src/gpgme/src/ath.c:84 No locals. #2 0x00007f1bd6da0d08 in _gpgme_io_read (fd=22, buffer=buffer@entry=0x55d2d45f1300, count=count@entry=1023) at ../../../src/gpgme/src/posix-io.c:116 nread = <optimized out> _gpgme_trace_func = 0x7f1bd6dabd7f "_gpgme_io_read" _gpgme_trace_tagname = 0x7f1bd6daa625 "fd" _gpgme_trace_tag = 0x16 #3 0x00007f1bd6d9ab97 in gpgconf_read (engine=engine@entry=0x55d2d45f08c0, arg1=arg1@entry=0x7f1bd6daa491 "--list-options", arg2=<optimized out>, cb=cb@entry=0x7f1bd6d9be40 <gpgconf_config_load_cb2>, hook=hook@entry=0x55d2d45ea350) at ../../../src/gpgme/src/engine-gpgconf.c:275 gpgconf = 0x55d2d45f08c0 err = 0 linebuf = 0x55d2d45f1300 "X\v<\324\033\177" linebufsize = <optimized out> linelen = 0 argv = {0x55d2d45f08e0 "/opt/gnupg/bin/gpgconf", 0x7f1bd6daa491 "--list-options", 0x55d2d45f1710 "gpg", 0x0, 0x20 <error: Cannot access memory at address 0x20>, 0x0} argc = <optimized out> rp = {22, 23} cfd = {{fd = 23, dup_to = 1, peer_name = 23, arg_loc = 0}, {fd = -1, dup_to = -1, peer_name = 0, arg_loc = 0}} status = <optimized out> nread = <optimized out> mark = <optimized out> #4 0x00007f1bd6d9ae3e in gpgconf_conf_load (engine=0x55d2d45f08c0, comp_p=0x7fff9ce82c58) at ../../../src/gpgme/src/engine-gpgconf.c:582 err = 0 comp = 0x55d2d45ea350 cur_comp = 0x55d2d45ea350 #5 0x00007f1bd6da03f4 in gpgme_op_conf_load (ctx=0x55d2d45f0610, conf_p=conf_p@entry=0x7fff9ce82c58) at ../../../src/gpgme/src/gpgconf.c:85 err = <optimized out> proto = GPGME_PROTOCOL_OpenPGP #6 0x00007f1bd724e46a in GpgME::Configuration::Component::load (returnedError=...) at ../../../../../src/gpgme/lang/cpp/src/configuration.cpp:78 err = <optimized out> ctx_native = 0x55d2d45f0610 ctx = std::shared_ptr (count 1, weak 0) 0x0 conf_list_native = 0x0 head = <optimized out>