Date: Wed, 11 May 2016 09:04:41 -0700 From: Alfred Perlstein <alfred@freebsd.org> To: freebsd-arch@freebsd.org Subject: Re: KASSERT: always assert; KWARN Message-ID: <ca489ff1-f520-3feb-0525-425eb015af7a@freebsd.org> In-Reply-To: <CAG6CVpWzuK6cZx3QnQhKOu=6GZBJF4cJQdNXgJZeXYhuJJANJg@mail.gmail.com> References: <CAG6CVpWzuK6cZx3QnQhKOu=6GZBJF4cJQdNXgJZeXYhuJJANJg@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 5/10/16 6:24 PM, Conrad Meyer wrote: > Thoughts or objections? Does anyone like the ability to opt out of > invariants asserts? Yes. During my time at iXsystems we used this facility several times to get a log from a customer site with a number of "kasserts". The reason we did this was multiple reasons: 1) We needed to ship a kernel with asserts enabled. 2) When we did, the first assert hit was: a) In an unrelated module and not relevant. b) Not enough information came back from just the first assert. 3) We found it more useful to get multiple errors back from a customer in one trip rather than one fix at a time. Unfortunately one fix at a time would have had us lose the customer. The KASSERT/assert system is very, very, very useful. However if you are at a last resort sending a debug kernel (with Kassert enabled) and do not get enough information back then you will lose that customer. I understand that a few vocal folks are upset, like seriously, seriously upset, however at the time this was the only way we could effectively debug a customer problem and my hope was that others could make use of it as well. Linux has had a similar functionality for many years. In Linux there is the kernel "oops()" which does nearly the same thing. Initially I mocked Linux's "oops" for being silly and "wrong", using the exact same reasons that many have used to dislike "kassert_warn". However once I was responsible for an extremely pissed off customer who was paying us quite a sum of money AND I was not getting enough information back, I changed my mind. https://en.wikipedia.org/wiki/Linux_kernel_oops -Alfred
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ca489ff1-f520-3feb-0525-425eb015af7a>