Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 2 May 2013 10:27:39 +0100
From:      "Robert N. M. Watson" <rwatson@freebsd.org>
To:        Glen Barber <gjb@FreeBSD.org>
Cc:        Ian FREISLICH <ianf@clue.co.za>, freebsd-current@freebsd.org
Subject:   Re: panic: in_pcblookup_local (?)
Message-ID:  <C154B059-A634-4162-A984-B1972F786F7C@freebsd.org>
In-Reply-To: <20130502005704.GB1623@glenbarber.us>
References:  <E1UW0K5-000P7H-36@clue.co.za> <20130501180321.GA44525@glenbarber.us> <49916D2B-496A-40EA-971F-62951FF6B584@freebsd.org> <201305011430.37106.jhb@freebsd.org> <20130502005704.GB1623@glenbarber.us>

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

On 2 May 2013, at 01:57, Glen Barber wrote:

> So, I am admittedly not too familiar with DDB.  In fact, I just now
> realize the kernel is built without DDB...

DDB is a very powerful tool in that it's been custom-developed to help =
debug common kernel panics. It lacks some of the flexibility, and =
especially the data-type awareness of GDB, but GDB is a less well-suited =
tool when investigating common crash patterns. I'll usually start out =
debugging in DDB, and find that 90% of my in-development panics can be =
debugged with it, resorting to GDB for post-mortem analyses in =
production or particularly hard debugging cases (usually where DDB's =
pretty printers for data types fall short). I've wanted, for a long =
time, to teach DDB how to pretty-print arbitrary types using DTrace's =
CTF meta-data, which would address the most significant major case where =
I turn to GDB. Mind you, the limitations I see in GDB are made up for in =
most part by John's GDB scripts :-).

>> Put those in a dir and do 'source gdb6'.  You can then run 'ps' to =
get a good=20
>> ps listing that includes threads.  You can also use 'thread apply all =
bt' to=20
>> get stacktraces of all threads in kgdb.  I believe there is an =
'allpcpu'=20
>> command that is similar to 'show allpcpu' in DDB.
>=20
> I have the outputs of 'ps', 'allpcpu', and 'thread apply all bt' saved
> to separate script(1) files.  Is there anything in particular I can =
look
> for before uploading the files somewhere public?  At quick-ish look
> though, I did not see anything cf-agent (the current process at time =
of
> panic) related.

To be honest, it's probably easiest if I just take a look at it and see =
what I see. In as much as I find interesting things, I'll follow up =
explaining what they are. We may find we can't track this problem down =
from the data we have -- but it's worth a try.

Robert=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?C154B059-A634-4162-A984-B1972F786F7C>