Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 22 Jan 2004 10:22:15 +1030
From:      Greg 'groggy' Lehey <grog@FreeBSD.org>
To:        Ian Dowse <iedowse@maths.tcd.ie>, Bruce Evans <bde@zeta.org.au>
Cc:        cvs-all@FreeBSD.org
Subject:   Re: backtrace() and the console log (was Re: cvs commit: src/sys/alpha...)
Message-ID:  <20040121235215.GV86671@wantadilla.lemis.com>
In-Reply-To: <20040121162731.F7489@gamplex.bde.org> <200401210148.aa95501@salmon.maths.tcd.ie>
References:  <200401210148.aa95501@salmon.maths.tcd.ie> <20040120203001.B99547@root.org> <20040121162731.F7489@gamplex.bde.org> <20040120144505.ccsc4kog4c88sgww@www.sweetdreamsracing.biz> <200401210148.aa95501@salmon.maths.tcd.ie>

next in thread | previous in thread | raw e-mail | index | archive | help

--l/3WCmqZNZ+BnHMk
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Wednesday, 21 January 2004 at  1:48:18 +0000, Ian Dowse wrote:
> In message <20040120144505.ccsc4kog4c88sgww@www.sweetdreamsracing.biz>, Kenneth
>  Culver writes:
>> Quoting Nate Lawson <nate@root.org>:
>>> * Fix backtrace() so the output goes to the console log.  Right now, we
>>> get output that needs to be hand-transcribed or use a serial console.
>>
>> This is also very useful for when FreeBSD crashes when X is running. If X is
>> running, the only option is a serial console, as you can't see the crash to
>> transcribe it otherwise, and most people don't have the spare computer to use
>> as a serial console.
>
> I've been using the following patch for a while to get backtrace()
> to output to the kernel message buffer. Sending all ddb output via
> printf might be undesirable for some cases, but I guess having it
> configurable with a `debug.ddb_use_printf' sysctl that defaults to
> the old behaviour would be ok?

This sounds excellent.

On Wednesday, 21 January 2004 at 16:40:46 +1100, Bruce Evans wrote:
> On Tue, 20 Jan 2004, Nate Lawson wrote:
>
>> On Wed, 21 Jan 2004, Ian Dowse wrote:
>>> I've been using the following patch for a while to get backtrace()
>>> to output to the kernel message buffer. Sending all ddb output via
>>> printf might be undesirable for some cases, but I guess having it
>>> configurable with a `debug.ddb_use_printf' sysctl that defaults to
>>> the old behaviour would be ok?
>
> It's undesireable in almost all cases, since it fills up the message
> buffer with garbage.

If it's "garbage", why are we ever producing it?  Currently I'm
getting a lot of LORs which don't get reported anywhere.  I'd really
like to catch this "garbage".

>> Can't you just check that you aren't in DDB before printing to the message
>> buf?
>>
>> Like this:
>>
>> if (boothowto & RB_KDB) {
>>    normal behavior to console via cnputc()
>> } else {
>>    print to message buf instead
>> }
>
> Something like that would be correct (test db_active, not boothowto...).

Seems reasonable.  Can somebody (iedowse?) commit it?

Greg
--
See complete headers for address and phone numbers.

--l/3WCmqZNZ+BnHMk
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.0 (FreeBSD)

iD8DBQFADxCvIubykFB6QiMRArMWAKCyE3aVZBeP4g+r4VSqV3jE+vFaYgCdHcPh
hGyZN9tYKg2Rg71Jcm2JN6I=
=SJPA
-----END PGP SIGNATURE-----

--l/3WCmqZNZ+BnHMk--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040121235215.GV86671>