Subject: bug#13958: Failing net-db.test on armv5tel glibc 2.17

From: [email-masked] (Ludovic Courtès)
Date: Fri, 15 Mar 2013 14:48:37 +0100

Lluís Batlle i Rossell <[email-masked]> skribis:

> On Fri, Mar 15, 2013 at 02:36:40PM +0100, Ludovic Courtès wrote:
>> Lluís Batlle i Rossell <[email-masked]> skribis:

[...]

>> > 16993 open("/nix/store/83fff5psdwad2vcy44lv5gwyzfmj4433-glibc-2.17/lib/libnss_myhostname.so.2", O_R
>> > DONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
>> 
>> This is most likely the culprit.  Presumably you forgot to add
>> libnss_myhostname to $LD_LIBRARY_PATH, no?
>> 
>> Also, what does /etc/nsswitch.conf look like?
>
> The hosts line:
> hosts:     files  dns  myhostname

OK.  I wonder if adding a [NOTFOUND=...] clause could help.

> Ok, so the source of that bad-handled message is a NSS problem in nix builds
> without chroot.

Yes, it’s reading an NSS configuration that cannot be used.

> What should be the proper user program reaction to that EAI_AGAIN + errno?

Ideally Guile would propagate the errno value.  But in your case it’s
ENOENT, so the error message would be like:

  failed to resolve host name: No such file or directory

This is not really more helpful than:

  failed to resolve host name: System error

(That’s part of the reason why exceptions were invented.  :-))

To me, that example is an argument in favor of the status quo in
Guile—i.e., keeping EAI_SYSTEM handling as it is.

Thoughts?

Ludo’.