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