NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/42205: kernel panic at activated userquota
On Tue, Oct 20, 2009 at 04:10:00PM +0000,
6bone%6bone.informatik.uni-leipzig.de@localhost wrote:
> >Number: 42205
> >Category: kern
> >Synopsis: kernel panic at activated userquota
> >Confidential: no
> >Severity: serious
> >Priority: high
> >Responsible: kern-bug-people
> >State: open
> >Class: sw-bug
> >Submitter-Id: net
> >Arrival-Date: Tue Oct 20 16:10:00 +0000 2009
> >Originator: Uwe Toenjes
> >Release: NetBSD 5.0_STABLE
> >Organization:
> University of Leipzig
> >Environment:
> NetBSD 6bone.informatik.uni-leipzig.de 5.0_STABLE NetBSD 5.0_STABLE (MYCONF)
> #0: Fri Oct 16 11:16:05 CEST 2009
> root%6bone.informatik.uni-leipzig.de@localhost:/usr/obj/sys/arch/amd64/compile/MYCONF
> amd64
> >Description:
> at high i/o a kernel panic can occur if you are using quota. without
> userquota everything works fine.
>
> uvm_fault(0xffffffff80c79620, 0x0, 1) -> e
>
> fatal page fault in supervisor mode
>
> trap type 6 code 0 rip ffffffff803e46b3 cs 8 rflags 10246 cr2 70 cpl 0 rsp
> fff0
> kernel: page fault trap, code=0
>
> Stopped in pid 0.61 (system) at netbsd:qsync+0x103: movq
> 0x70(%rdx,%rax,8
> ),%r14
>
> db{0}> trace
>
> qsync() at netbsd:qsync+0x103
>
> ffs_sync() at netbsd:ffs_sync+0x2eb
>
This seems to be:
0xffffffff8025d7c3 is in qsync
(/dsk/l1/misc/bouyer/netbsd-5/src/sys/ufs/ufs/ufs_quota.c:747).
742 goto again;
743 }
744 continue;
745 }
746 for (i = 0; i < MAXQUOTAS; i++) {
747 dq = VTOI(vp)->i_dquot[i];
(gdb) print &((struct inode *)0)->i_dquot[0]
$1 = (struct dquot **) 0x70
Another case where a vnode could be vlean'ed while vget drops the
interlock to before getting the vn_lock.
The attached patch may help, but it's untested and probably not the
right way of fixing this.
Any idea how to properly fix vget() anyone ?
--
Manuel Bouyer <bouyer%antioche.eu.org@localhost>
NetBSD: 26 ans d'experience feront toujours la difference
--
Home |
Main Index |
Thread Index |
Old Index