Skip site navigation (1)Skip section navigation (2)
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>