[OpenIndiana-discuss] GPG2 on OI

Tim Mooney Tim.Mooney at ndsu.edu
Thu Sep 30 08:37:04 UTC 2021


In regard to: Re: [OpenIndiana-discuss] GPG2 on OI, stes at PANDORA.BE said...:

> It is perhaps possible to try out older versions and find a solution,
> I'd be interested if you find a solution and are willing to share it !

I reported the issue to the GnuPG bug tracker and have been working with
one of the developers (gniibe) to diagnose the problem.  He or she tracked
the hang down really quickly.

It's an issue with clock_gettime().  Both Solaris < 11.4 and the Illumos
kernel define CLOCK_THREAD_CPUTIME_ID for thread interval timing, but
it's effectively broken.  Calling clock_gettime with
CLOCK_THREAD_CPUTIME_ID as the first argument will always result in
an EINVAL error return.  Because CLOCK_THREAD_CPUTIME_ID is actually
defined in the headers, though, the threading code in gpg-agent is trying
to use it.

Note that Solaris 11.4 added working CLOCK_THREAD_CPUTIME_ID, so
clock_gettime() with CLOCK_THREAD_CPUTIME_ID works for latest OG Solaris,
but not older versions or any Illumos (currently).  Another place where
the distros have now diverged.

There's a Python bug report about the issue that the GnuPG developer
referenced:

 	https://bugs.python.org/issue35455

The developer is going to fix it in the gnupg mainline, so I expect gnupg
2.3.3 or 2.3.4 will have the hang fixed.

I'll follow-up again as things progress with this issue and with the
(apparently unrelated) issue with pinentry-curses drawing.

Tim
-- 
Tim Mooney                                             Tim.Mooney at ndsu.edu
Enterprise Computing & Infrastructure /
Division of Information Technology    /                701-231-1076 (Voice)
North Dakota State University, Fargo, ND 58105-5164



More information about the openindiana-discuss mailing list