Re: vm page panic

2001-03-25 Thread Kirk McKusick

Date: Sun, 25 Mar 2001 11:20:17 +0200
From: Jeroen Ruigrok/Asmodai [EMAIL PROTECTED]
To: Kirk McKusick [EMAIL PROTECTED],
   Peter Wemm [EMAIL PROTECTED],
   Paul Saab [EMAIL PROTECTED], Matt Dillon [EMAIL PROTECTED],
   Soeren Schmidt [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Subject: vm page panic

Hi guys,

ok, sources cvsupped yesterday afternoon, just before my ffs_alloc.c
commit [which I did, obviously, add myself locally].

Box had been running for a while when all of a sudden it got into a
panic:

vm_page_alloc: free/cache page 0xc0776fa4 was dirty

a trace in ddb shows:

allocbuf()
getblk()
ffs_balloc()
ffs_write()
vn_rdwr()
elf_coredump()
coredump()

Unfortunately my ata controller didn't get reprobed [just was hanging
there] so I couldn't get a crashdump. =( [HPT366]

So consider this a heads-up, since you might encounter this.

Extra info:

devfs running,
/ is normal FFS
/tmp, /var, /usr, /storage all soft-updated.

-- 
Jeroen Ruigrok van der Werven/Asmodai .oUo. asmodai@[wxs.nl|freebsd.org]
Documentation nutter/C-rated Coder BSD: Technical excellence at its best  
  D78D D0AD 244D 1D12 C9CA  7152 035C 1138 546A B867
Pleasure's a sin, and sometimes sin's a pleasure...

The latest round of changes to ffs_alloc.c add code which is only ever
used by background fsck which is not yetbeing used. So, it seems
very unlikely that your panic has been triggered byv these changes.

Kirk

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: vm page panic

2001-03-25 Thread Matt Dillon

:   Hi guys,
:
:   ok, sources cvsupped yesterday afternoon, just before my ffs_alloc.c
:   commit [which I did, obviously, add myself locally].
:
:   Box had been running for a while when all of a sudden it got into a
:   panic:
:
:   vm_page_alloc: free/cache page 0xc0776fa4 was dirty
:
:   a trace in ddb shows:
:
:   allocbuf()
:   getblk()
:   ffs_balloc()
:   ffs_write()
:   vn_rdwr()
:   elf_coredump()
:   coredump()

This particular panic will have a delayed effect, so the trace probably
isn't the problem.  Something occured some period of time prior that
caused a (probably cache) page to be marked dirty.  Then later when
vm_page_alloc() tries to reuse the page it notices that it's dirty when
it shouldn't be.

I have not seen this panic literaly for years - there was a bug in 
John Dyson's original code that could cause it but it was fixed a very
long time ago.  So I'm guessing that the panic is a side effect of a
newly introduced bug somewhere in current.  Possibly a race of some sort
with the mutex/threading/interrupt code, but I don't know.

-Matt

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message