svn commit: r244112 - head/sys/kern

Andriy Gapon avg at FreeBSD.org
Mon Dec 17 21:47:38 UTC 2012


on 17/12/2012 23:21 Alfred Perlstein said the following:
> This is hard to explain to a customer.
> 
> customer: "So we ran your debug image and got you a panic, here is the
> information.  So can you tell us what is the problem?"
> alfred: "well that is due to XXX other thing that is broken, thanks for helping
> us resolve that unrelated problem!"
> customer: "i hate you"
> alfred: "get in line."

But you see, the following is still illogical _to me_.

If one believes that all KASSERTs are bogus then one should compile them out and
just forget about them.

If one believes that at least some KASSERTs are such that the execution should
not continue after them, then one should enable all of them and panic on all of
them (better safe than sorry).

If one is not satisfied with the above choices, then one should meticulously go
over all (or at least some) of KASSERTs and make a decision which KASSERTs are
bogus, which are true and which should be turned into something else (error
checking, warnings, etc).

The proposed solution simultaneously enables all KASSERTs, as if all of them
were true, and doesn't panic on any KASSERT, as if neither of them is fatal
(i.e. they all are bogus to one degree and another).

P.S.  I am not talking about the status quo because the status quo would be
maintained even without the changes in question.

-- 
Andriy Gapon


More information about the svn-src-head mailing list