bug-inetutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [bug-inetutils] tests/syslogd.sh and /tmp


From: Mats Erik Andersson
Subject: Re: [bug-inetutils] tests/syslogd.sh and /tmp
Date: Thu, 26 Jan 2012 18:58:38 +0100
User-agent: Mutt/1.5.18 (2008-05-17)

torsdag den 26 januari 2012 klockan 02:43 skrev Mats Erik Andersson detta:
> 
> 2) The build root is at 
> 
>     /tmp/nix-build-irjj........-87b6-dirty/
> 
>    which in itself exceeds 108 character, thus making itself impossible
>    as IU_TESTDIR for creation of a UNIX socket at which syslogd is to
>    receive any message. The creation attempt by syslogd fails and logger(1)
>    also fails:
> 
>      ../src/logger: UNIX socket name too long
> 
> 3) The value of TMPDIR
> 
>    /tmp/nix-build-....-dirty.drv-0
> 
>    is luckily 84 characters long, so the use of IU_LONG_SOCKET is succeeding,
>    but somehow syslogd(8) is not recording the complaint that 
> IU_EXCESSIVE_SOCKET
>    is too long, the message is not found in "$IU_TEMPDIR/messages". 
> Momentarily
>    I do not see why this escapes detection.

Explanation: syslogd(8), or possibly logger(1), is truncating long message lines
before they are written to a message file. This means that the log entry

  'date' 'hostname' syslogd: UNIX socket name too long: 'the-very-long-name'

will get truncated at the end. On my system there was space for 63 characters 
only,
which is clearly less than the functional UNIX socket name length.

The build daemon at NixOS exceeds that by far, and since the test is presently
implemented, with grep(1) using a pattern that in the case of NixOS is in excess
of that upper bound on length, the script fails in detecting the failure!
Sic transit gloria.

Thus, the test report is consistent, but would benefit from slightly better
verbosity. I will mend this and shorten the pattern for grep(1) somewhat.

Regards,
  Mats E A



reply via email to

[Prev in Thread] Current Thread [Next in Thread]