Help with filing a [maybe] ZFS/mmap bug.
hartzell at alerce.com
Sun Sep 22 23:58:00 UTC 2013
Andriy Gapon writes:
> on 18/07/2013 20:44 George Hartzell said the following:
> > Andriy Gapon writes:
> > > on 17/07/2013 23:47 George Hartzell said the following:
> > > > How should I move forward with this?
> > >
> > > Could you please try to reproduce this problem using a kernel built with
> > > INVARIANTS options?
> > I added INVARIANT_SUPPORT and INVARIANTS options to the GENERIC
> > kernel, rebuilt it, installed it and running through my "test case"
> > generated a lot of invalid flac files. I"m not sure what the options
> > are/were supposed to do though, it looks like they generally lead to
> > KASSERTS, which lead to abort()'s. Nothing in /var/log/messages or on
> > the console.
> do you have anything new on this issue?
> Could you please try the following patch?
> I expect it to not really fix the issue, but it may help to narrow it down.
> Please keep INVARIANTS.
> Thank you.
> Andriy Gapon
This weekend I built up a system using the 10.0 beta 2 dvd, then
updated /usr/src from head.
I grabbed a fresh copy of your patch this afternoon.
I applied your patch with no problems. I was unable to build a new
kernel though, you have one reference to m->busy, where m is a
vm_page_t (if I remember correctly). I dug around a bit and decided
that you meant m->busy_lock, which let me build a usable kernel.
It looks like INVARIANTS and INVARIANT_SUPPORT are included in the
GENERIC conf file.
I ran through my test routine with the original system and was able to
reproduce the problem.
After building and installing a kernel with your patch I was still
able to trigger the problem. If anything it was worse (sample size =
1, I know...).
I did not see any interesting output in /var/log/messages or to the
console or anywhere else obvious.
I'm not sure what to do next. It's likely that my m->busy to
m->busy_lock change was not The Right Thing to Do and might have
invalidated what the patch was trying to do.
In any case, I now have a system running HEAD and should be able to
test things more easily.
Thanks for the help,
More information about the freebsd-stable