Subject: Re: panic in uvm_fault.c
To: None <tech-kern@NetBSD.org>
From: Steven M. Bellovin <smb@cs.columbia.edu>
List: tech-kern
Date: 04/11/2006 14:06:22
> For a workaround: comment out KASSERT((curpg->flags & PG_WANTED) == 0)
> in uvm_fault.c. I asked yamt@ about it on source-changes.
> 
What are the actual consequences if the assertion fails but the program
keeps running?  This is memory management code -- is there the chance of
corrupted RAM or dirty pages not being flushed out when they should? 

I get very worried when I see "fixes" or workarounds that say "delete the
ASSERT statement".  Usually, the assertion is correct, and the abort
indicates a seriously abnormal condition.  Deleting it is saying "a
condition that shouldn't be possible has occurrred; let's ignore it and
any consequences of this error and keep running".  At the least, such
advice should note what might happen if you keep running.


		--Steven M. Bellovin, http://www.cs.columbia.edu/~smb