GNU bug report logs - #7813
tail -f gives misleading error message when inotify limit is reached

Previous Next

Package: coreutils;

Reported by: Bram Neijt <bneijt <at> gmail.com>

Date: Mon, 10 Jan 2011 12:39:02 UTC

Severity: normal

Done: Jim Meyering <jim <at> meyering.net>

Bug is archived. No further changes may be made.

Full log


Message #8 received at 7813 <at> debbugs.gnu.org (full text, mbox):

From: Jim Meyering <jim <at> meyering.net>
To: 7813 <at> debbugs.gnu.org
Subject: Re: [Bug 700958] Re: tail -f gives misleading error message when
	inotify limit is reached
Date: Mon, 10 Jan 2011 15:50:10 +0100
A. Bram Neijt wrote:
> http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7813
>
> ** Bug watch added: Email to bug-coreutils <at> gnu #
>    mailto:bug-coreutils <at> gnu.org
>
> ** Also affects: coreutils via
>    mailto:bug-coreutils <at> gnu.org
>    Importance: Undecided
>        Status: New

Thanks for the report.
This was fixed for 8.6:

commit 61b77891c2d9af299063850a0c4d1d721340cfff
Author: Pádraig Brady <P <at> draigBrady.com>
Date:   Tue Oct 12 01:39:58 2010 +0100

    tail: fix checking of currently unavailable directories

    * src/tail.c (tail_forever_inotify): Handle the case where
    tail --follow=name with inotify, is not able to add a watch on
    a specified directory.  This may happen due to inotify resource
    limits or if the directory is currently missing or inaccessible.
    In all these cases, revert to polling which will try to reopen
    the file later.  Note inotify returns ENOSPC when it runs out
    of resources, and instead we report a particular error message,
    lest users think one of their file systems is full.
    (main): Document another caveat with using inotify, where we
    currently don't recheck directories recreated after the
    initial watch is setup.
    * tests/tail-2/F-vs-rename: Fix the endless loop triggered by
    the above issue.
    * tests/tail-2/inotify-hash-abuse: Likewise.
    * tests/tail-2/wait: Don't fail in the resource exhaustion case.
    * tests/tail-2/F-vs-missing: A new test for this failure mode
    which was until now just triggered on older buggy linux kernels
    which returned ENOSPC constantly from inotify_add_watch().
    * NEWS: Mention the fix.

With coreutils-8.6 and newer, you'd see this:

    tail: inotify resources exhausted
    tail: inotify cannot be used, reverting to polling




This bug report was last modified 13 years and 12 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.