Date: Wed, 13 Feb 2013 02:22:39 +0100 From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= <des@des.no> To: Mehmet Erol Sanliturk <m.e.sanliturk@gmail.com> Cc: Kirk McKusick <mckusick@mckusick.com>, Christoph Mallon <christoph.mallon@gmx.de>, Andriy Gapon <avg@freebsd.org>, freebsd-arch@freebsd.org Subject: Re: Proposal: Unify printing the function name in panic messages() Message-ID: <86vc9xf1nk.fsf@ds4.des.no> In-Reply-To: <CAOgwaMsM1iSr1fkbQY6VVLCX8oguQv0BYvj7CnJjVscF%2Bgd23g@mail.gmail.com> (Mehmet Erol Sanliturk's message of "Tue, 12 Feb 2013 03:24:13 -0800") References: <51141E33.4080103@gmx.de> <511426B8.2070800@FreeBSD.org> <51160E06.1070404@gmx.de> <5116121E.1010601@FreeBSD.org> <CAOgwaMutXeb8EcCAAG7dKh%2Bci_o0Wy8xyYFbaYkigcduC=wjuA@mail.gmail.com> <86fw11homa.fsf@ds4.des.no> <CAOgwaMsM1iSr1fkbQY6VVLCX8oguQv0BYvj7CnJjVscF%2Bgd23g@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Mehmet Erol Sanliturk <m.e.sanliturk@gmail.com> writes: > My intention was to say a message like the following : > > In line < number > in routine < name > the error < name of error > has > occurred > called from line < number > of routine < name > , > . > . > . > called from line < number > of routine < name > . Keeping track of file names and line numbers for the entire kernel require huge amounts of space, both on disk and in memory. For 9.1 amd64, GENERIC + all modules weigh in at 62 MB, while the debugging symbols (file names, line numbers and variable names) add 267 MB. Even counting only what's actually in use on a typical machine, like the one I'm typing on right now, we get 18 MB of code + 80 MB of symbols. Don't forget that we need debugging symbols for every single line of code, not just those that call panic(), because a) we want to unwind the stack from the point where panic() was called and b) pretty much any non-trivial C statement can potentially trigger a panic due to a bad pointer or array index, a smashed stack, or any number of reasons. > In "Witness" mode , a list is displayed by hexadecimal addresses . and that's all you're going to get... although when an actual panic occurs, you get a core dump which you can later examine with a debugger, which will give you far more information than a simple stack trace. DES --=20 Dag-Erling Sm=C3=B8rgrav - des@des.no
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?86vc9xf1nk.fsf>