>>But, this raises a question: do panics in the kernel, with DIAGNOSTIC
>>turned on, still signal a potential bug? I'm thinking kind of
>>anologeous to warnings emitted from a C compiler. In other words: in
>>a kernel where all known "warnings" were "fixed", should it be
>>expected that this kernel would never panic if DIAGNOSTIC was built
>>in?
>Mostly; unrecoverable errors would still cause a panic.
Right, but I'm getting panics with DIAGNOSTIC built in that don't
occur with it off. Either someone is making a wrong assumption in
some diagnostic code, or there is a silent bug eating its way through
my (and maybe all of our) system(s).
>Code wrapped by #ifdef DIAGNOSTIC performs sanity checking of
>assumptions made by kernel code. In your case, disabling DIAGNOSTIC
>may eliminate panics, but at the cost of possibly introducing silent
>filesystem corruption. I'd prefer a panic, myself.
Well, I'd prefer to not have my system hang every couple of days. I'd
prefer a panic iff the bug could be diagnosed and fixed quickly
afterwards. Unfortunately, my mail went completely unanswered, and I
don't have the expertise to fix it. Maybe I'll resubmit my mail as a
PR, but I don't know that I have enough info to make it a useful PR.
Anyway, I'd also prefer it not to panic if this is an incorrect
assumption in the diagnostic code.
But the gist of this is you confirming what I thought. That, with a
system known to be free of all "known" "bugs", enabling DIAGNOSTIC
should not cause any panics. (This an in theory, not necessarily in
practice, kind of thing.)
-----------------------------------------------------------------------------
Michael L. VanLoon michaelv@HeadCandy.com
--< Free your mind and your machine -- NetBSD free un*x >--
NetBSD working ports: 386+PC, Mac 68k, Amiga, Atari 68k, HP300, Sun3,
Sun4/4c/4m, DEC MIPS, DEC Alpha, PC532, VAX, MVME68k, arm32...
NetBSD ports in progress: PICA, others...
Roll your own Internet access -- Seattle People's Internet cooperative.
If you're in the Seattle area, ask me how.
-----------------------------------------------------------------------------