[Pkg-zsh-devel] Bug#764650: Bug#764650: zsh: FTBFS with noatime mounts

Axel Beckert abe at debian.org
Mon Sep 18 12:56:41 UTC 2017


Control: tag -1 - moreinfo + confirmed
Control: found -1 5.4.2-1
Control: found -1 5.3.1-4
Control: retitle -1 zsh: FTBFS with noatime mounts (e.g. on reproducible builds armhf nodes)

Hi,

Axel Beckert wrote:
> Thorsten Glaser wrote:
> > ../../Test/C02cond.ztst: test failed.
> > The following may (or may not) help identifying the cause:
> >   This test can fail on NFS-mounted filesystems as the access and
> >   modification times are not updated separately.  The test will fail
> >   on HFS+ (Apple Mac OS X default) filesystems because access times
> >   are not recorded.  Also, Linux ext3 filesystems may be mounted
> >   with the noatime option which does not update access times.
> >   Failures in these cases do not indicate a problem in the shell.
> > […]
> 
> There was recently an upstream commit about such an issue in exactly that
> test:
> 
> http://sourceforge.net/p/zsh/code/ci/4f5d7b7b378e6fe93de19a600717deaab7a76116/
> 
> Do you think that this solves the issue?

No, it doesn't.

We still see this issue with reproducible builds on armhf in unstable as
well as stretch:
https://tests.reproducible-builds.org/debian/rb-pkg/stretch/armhf/zsh.html
https://tests.reproducible-builds.org/debian/rb-pkg/unstable/armhf/zsh.html
https://tests.reproducible-builds.org/debian/rbuild/stretch/armhf/zsh_5.3.1-4.rbuild.log
https://tests.reproducible-builds.org/debian/rbuild/unstable/armhf/zsh_5.4.2-1.rbuild.log
(Cc'ing the Reproducible Builds Folks for their information.)

While I don't know for sure if those nodes use noatime, it explains
well why exactly this tests only fails on the slowest architecture of
reproducible builds.

Currently the failure looks like this in the build log:

Running test: -N cond
This test takes two seconds...
Test ../../Test/C02cond.ztst failed: bad status 1, expected 0 from:
  if [[ ${mtab::="$({mount || /sbin/mount || /usr/sbin/mount} 2>/dev/null)"} = *[(]?*[)] ]]; then
    print -u $ZTST_fd 'This test takes two seconds...'
  else
    unmodified_ls="$(ls -lu $unmodified)"
    print -u $ZTST_fd 'This test takes up to 60 seconds...'
  fi
  sleep 2
  touch $newnewnew
  if [[ $OSTYPE == "cygwin" ]]; then
    ZTST_skip="[[ -N file ]] not supported on Cygwin"
  elif (( isnfs )); then
    ZTST_skip="[[ -N file ]] not supported with NFS"
  elif { (( ! $+unmodified_ls )) &&
         cat $unmodified &&
         { df -k -- ${$(print -r -- "$mtab" |
                        awk '/noatime/ {print $1,$3}'):-""} | tr -s ' ' |
           fgrep -- "$(df -k . | tail -1 | tr -s ' ')" } >&/dev/null } ||
       { (( $+unmodified_ls )) && SECONDS=0 &&
         ! until (( SECONDS >= 58 )); do
             ZTST_hashmark; sleep 2; cat $unmodified
             [[ $unmodified_ls != "$(ls -lu $unmodified)" ]] && break
           done }; then
    ZTST_skip="[[ -N file ]] not supported with noatime file system"
  else
    [[ -N $newnewnew && ! -N $unmodified ]]
  fi
Was testing: -N cond
../../Test/C02cond.ztst: test failed.
The following may (or may not) help identifying the cause:
  This test can fail on NFS-mounted filesystems as the access and
  modification times are not updated separately.  The test will fail
  on HFS+ (Apple Mac OS X default) filesystems because access times
  are not recorded.  Also, Linux ext3 filesystems may be mounted
  with the noatime option which does not update access times.
  Failures in these cases do not indicate a problem in the shell.

While we could just disable this test for Debian, it would also be
cool if upstream could skip the test if a noatime mount is detected.
Then again: They already try to do so, but the check doesn't seem to
work, at least not in all cases. So we should probably figure out why
that pre-condition check is not working properly. (And I don't have
the time in _this_ moment to do so. Hints and patches welcome. :-)

		Regards, Axel
-- 
 ,''`.  |  Axel Beckert <abe at debian.org>, https://people.debian.org/~abe/
: :' :  |  Debian Developer, ftp.ch.debian.org Admin
`. `'   |  4096R: 2517 B724 C5F6 CA99 5329  6E61 2FF9 CD59 6126 16B5
  `-    |  1024D: F067 EA27 26B9 C3FC 1486  202E C09E 1D89 9593 0EDE
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-zsh-devel/attachments/20170918/66d0be1e/attachment.sig>


More information about the Pkg-zsh-devel mailing list