All of lore.kernel.org
 help / color / mirror / Atom feed
From: John McCutchan <ttb@tentacle.dhs.org>
To: george@mvista.com
Cc: Robert Love <rml@novell.com>,
	jim.houston@ccur.com, Reuben Farrelly <reuben-lkml@reub.net>,
	Andrew Morton <akpm@osdl.org>,
	johannes@sipsolutions.net, linux-kernel@vger.kernel.org
Subject: Re: Inotify problem [was Re: 2.6.13-rc6-mm1]
Date: Thu, 25 Aug 2005 15:04:47 -0400	[thread overview]
Message-ID: <1124996687.16219.3.camel@vertex> (raw)
In-Reply-To: <430E13D8.8070005@mvista.com>

On Thu, 2005-08-25 at 11:54 -0700, George Anzinger wrote:
> Robert Love wrote:
> > On Thu, 2005-08-25 at 09:33 -0400, John McCutchan wrote:
> > 
> >>On Thu, 2005-08-25 at 22:07 +1200, Reuben Farrelly wrote:
> >>
> ~
> >>>dovecot: Aug 25 19:31:26 Warning: IMAP(gilly): removing wd 1022 from inotify fd 4
> >>>dovecot: Aug 25 19:31:27 Warning: IMAP(gilly): inotify_add_watch returned 1023
> >>>dovecot: Aug 25 19:31:27 Warning: IMAP(gilly): inotify_add_watch returned 1024
> >>>dovecot: Aug 25 19:31:27 Warning: IMAP(gilly): removing wd 1024 from inotify fd 4
> >>>dovecot: Aug 25 19:31:27 Error: IMAP(gilly): inotify_rm_watch() failed: 
> >>>Invalid argument
> >>>dovecot: Aug 25 19:31:27 Warning: IMAP(gilly): removing wd 1023 from inotify fd 4
> >>>dovecot: Aug 25 19:31:28 Warning: IMAP(gilly): inotify_add_watch returned 1024
> >>>dovecot: Aug 25 19:31:28 Warning: IMAP(gilly): inotify_add_watch returned 1024
> >>>
> >>>Note the incrementing wd value even though we are removing them as we go..
> >>>
> >>
> >>What kernel are you running? The wd's should ALWAYS be incrementing, you
> >>should never get the same wd as you did before. From your log, you are
> >>getting the same wd (after you inotify_rm_watch it). I can reproduce
> >>this bug on 2.6.13-rc7.
> >>
> >>idr_get_new_above 
> >>
> >>isn't returning something above.
> >>
> >>Also, the idr layer seems to be breaking when we pass in 1024. I can
> >>reproduce that on my 2.6.13-rc7 system as well.
> >>
> >>
> >>>This is using latest CVS of dovecot code and with 2.6.12-rc6-mm(1|2) kernel.
> >>>
> >>>Robert, John, what do you think?   Is this possibly related to the oops seen 
> >>>in the log that I reported earlier?  (Which is still showing up 2-3 times per 
> >>>day, btw)
> >>
> >>There is definitely something broken here.
> > 
> > 
> > Jim, George-
> > 
> > We are seeing a problem in the idr layer.  If we do idr_find(1024) when,
> > say, a low valued idr, like, zero, is unallocated, NULL is returned.
> 
> I think the best thing is to take idr into user space and emulate the 
> problem usage.  To this end, from the log it appears that you _might_ be 
> moving between 0, 1 and 2 entries increasing the number each time.  It 
> also appears that the failure happens here:
> add 1023
> add 1024
> find 1024  or is it the remove that fails?  It also looks like 1024 got 
> allocated twice.  Am I reading the log correctly?

You are reading the log correctly. There are two bugs. One is that if we
pass X to idr_get_new_above, it can return X again (doesn't ever seem to
return < X). The other problem is that the find fails on 1024 (and 2048
if we skip 1024).

> 
> So, is it correct to assume that the tree is empty save these two at 
> this time?  I am just trying to figure out what the test program needs 
> to do.

Yes that is the exact scenario. Only 2 id's are used at any given time,
and once we hit 1024 things break. This doesn't happen when the tree is
not empty.

Thanks for looking at this!
-- 
John McCutchan <ttb@tentacle.dhs.org>

  parent reply	other threads:[~2005-08-25 19:04 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <fa.h7s290f.i6qp37@ifi.uio.no>
     [not found] ` <fa.e1uvbs1.l407h7@ifi.uio.no>
2005-08-25 10:07   ` Inotify problem [was Re: 2.6.13-rc6-mm1] Reuben Farrelly
2005-08-25 12:18     ` Johannes Berg
2005-08-25 13:40       ` John McCutchan
2005-08-25 13:47         ` Robert Love
2005-08-25 14:03           ` Johannes Berg
2005-08-25 14:06             ` John McCutchan
2005-08-25 14:13               ` Johannes Berg
2005-08-25 14:39                 ` John McCutchan
2005-08-25 14:13           ` John McCutchan
2005-08-25 14:41             ` Johannes Berg
2005-08-25 15:16               ` John McCutchan
2005-08-25 13:50         ` Johannes Berg
2005-08-25 14:03           ` John McCutchan
2005-08-25 13:33     ` John McCutchan
2005-08-25 15:18       ` Robert Love
2005-08-25 18:54         ` George Anzinger
2005-08-25 19:03           ` Johannes Berg
2005-08-25 19:06             ` John McCutchan
2005-08-25 19:04           ` John McCutchan [this message]
2005-08-25 23:10             ` George Anzinger
2005-08-25 23:20               ` Johannes Berg
2005-08-26 17:03 Jim Houston
2005-08-26 17:52 ` John McCutchan
2005-08-26 17:56   ` Robert Love

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1124996687.16219.3.camel@vertex \
    --to=ttb@tentacle.dhs.org \
    --cc=akpm@osdl.org \
    --cc=george@mvista.com \
    --cc=jim.houston@ccur.com \
    --cc=johannes@sipsolutions.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=reuben-lkml@reub.net \
    --cc=rml@novell.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.