Bug#759590: Error in GnuTLS initialization: Failed to acquire random data.

Andreas Metzler ametzler at bebt.de
Sat Aug 30 15:46:43 UTC 2014


On 2014-08-30 Evgeni Golov <evgeni at debian.org> wrote:
[...] 
> >   $ env -i LD_PRELOAD=/usr/lib/libeatmydata/libeatmydata.so gnutls-cli
> >   Error in GnuTLS initialization: Failed to acquire random data.
> >   No hostname specified
> > 
> >   $ unset LD_PRELOAD ; gnutls-cli
> >   No hostname specified

> I can reproduce the original mutt issue, when wrapping mutt with 
> eatmydata. The interesting thing is, that mutt will open urandom via
>  open("/dev/urandom", O_RDONLY)
> when started directly, but not, when eatmydata is involved.
> This seems to be the issue for the eatmydata case. Not sure about the 
> others, though.
[...]

Hello,

On AMD64 I also see "eatmydata gnutls-cli" breaking, but not in ix86.
Sprinkling GnuTLS with fprintf() like this

---------------------
rnd-common.c
...
int _rnd_system_entropy_init(void)
{
int old;
        fprintf(stderr, "AMDEBUG line [%d] file[%s] func[%s]\n",
                        __LINE__, __FILE__, __FUNCTION__);
        device_fd = open("/dev/urandom", O_RDONLY);
        perror("AMDEBUG perror");
        fprintf(stderr, "AMDEBUG device_fd [%d]\n",
                        device_fd);
[...]
---------------------
yields
(sid-AMD64)ametzler at argenau:/tmp/GNUTLS/gnutls-3.3.7$ eatmydata src/gnutls-cli
AMDEBUG line [198] file[rnd-common.c] func[_rnd_system_entropy_init]
AMDEBUG perror: Bad address
AMDEBUG device_fd [-1]

EFAULT does not really make sense here, does it?

cu Andreas

-- 
`What a good friend you are to him, Dr. Maturin. His other friends are
so grateful to you.'
`I sew his ears on from time to time, sure'



More information about the Pkg-gnutls-maint mailing list