Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 17 Feb 2003 14:36:51 +0100
From:      Dag-Erling Smorgrav <des@ofug.org>
To:        alpha@freebsd.org
Cc:        current@freebsd.org
Subject:   Re: top-of-tree alpha kernel panics during boot
Message-ID:  <xzpk7fz58r0.fsf@flood.ping.uio.no>
In-Reply-To: <xzpn0l0v119.fsf@flood.ping.uio.no> (Dag-Erling Smorgrav's message of "Thu, 13 Feb 2003 13:05:22 %2B0100")
References:  <xzpn0l0v119.fsf@flood.ping.uio.no>

next in thread | previous in thread | raw e-mail | index | archive | help
OK, I've played around with my kernel trying to figure out what causes
this.  The one thing I know is that it disappears if I leave pcm out
of my kernel, but I don't think pcm is the culprit.  Since the address
at fault is constant, I've added code to mtrash_[cd]tor() which calls
db_print_backtrace() every time we hit that address.  I also added
code to module_regiser_init() to identify the module being processed:

> module_register_init: registering 'isa/esscontrol'
> mtrash_ctor(0xfffffc00007aab80, 64, 0)
> mtrash_ctor(0xfffffc00007a8ba0, 32, 0)
> mtrash_ctor(0xfffffc00007b6000, 8192, 0)
> db_print_backtrace() at db_print_backtrace+0x18
> mtrash_ctor() at mtrash_ctor+0x68
> uma_zalloc_arg() at uma_zalloc_arg+0x160
> malloc() at malloc+0x94
> kobj_class_compile() at kobj_class_compile+0x2c
> devclass_add_driver() at devclass_add_driver+0x64
> driver_module_handler() at driver_module_handler+0xb4
> module_register_init() at module_register_init+0xc0
> mi_startup() at mi_startup+0x144
> locorestart() at locorestart+0x64
> --- root of call graph ---
> Memory modified after free 0xfffffc00007b6000(8184)
> panic: Most recently used by none
> 
> panic
> Stopped at      Debugger+0x38:  zapnot  v0,#0xf,v0      <v0=0x6>
 
The problem is that this doesn't really tell me what I want (i.e. who
held that block before it was allocated to isa/esscontrol).  All I
know about that is:

mtrash_dtor(0xfffffc00007b6000, 8192, 0)

because it seems that db_print_backtrace() is a nop at that point.

Any suggestions as to how I can figure out who used that block of
memory before it was allocated to the ess driver?

DES
-- 
Dag-Erling Smorgrav - des@ofug.org

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-alpha" in the body of the message




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