Subject: Re: recent dom0 kernels reboot on loading?
To: None <port-xen@NetBSD.org>
From: Mikolaj Golub <to.my.trociny@gmail.com>
List: port-xen
Date: 09/03/2007 10:27:46
On Fri, 31 Aug 2007 21:01:39 +0200 Manuel Bouyer wrote:
MB> Next would be to find where 0xc04d4f84 is in the kernel. The easiest is to
MB> build a kernel with makeoptions DEBUG="-g",
MB> reboot with it a see what the EIP is when it crash. Then use
MB> gdb on netbsd.gdb to get the source info:
MB> list *0xc04d4f84 (or whatever EIP is when the debug kernel crash).
Sorry for delay -- I had no access to xen box during weekend.
Today I have tried it, but without success.
netbsd-XEN3_DOM0.gdb is built with -g option.
Crash info:
(XEN) ----[ Xen-3.1.0 x86_32 debug=n Not tainted ]----
(XEN) CPU: 0
(XEN) EIP: e019:[<c04cc344>]
(XEN) EFLAGS: 00000246 CONTEXT: guest
(XEN) eax: c0955404 ebx: 000003cf ecx: 00000001 edx: c0955404
(XEN) esi: 00000000 edi: c0955400 ebp: c0a57b0c esp: c0a57ad0
(XEN) cr0: 8005003b cr4: 000006d0 cr3: 1ea54000 cr2: 00000000
(XEN) ds: e021 es: e021 fs: 0000 gs: 0000 ss: e021 cs: e019
(XEN) Guest stack trace from esp=c0a57ad0:
(XEN) 00000000 c04cc344 0001e019 00010046 c043535b c0955404 00000000 00000000
(XEN) 00000000 00000000 00000000 c0955404 000003cf 000003c0 c0955400 c0a57b4c
gdb session:
-bash-3.2$ gdb netbsd-XEN3_DOM0.gdb
GNU gdb 6.5
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386--netbsdelf"...
(gdb) list *0xc04cc344
No source file for address 0xc04cc344.
This is just to ensure I try kernel with gdb symbols:
(gdb) list
238
239 /*
240 * System startup; initialize the world, create process 0, mount root
241 * filesystem, and fork to create init and pagedaemon. Most of the
242 * hard work is done in the lower-level initialization routines including
243 * startup(), which does memory initialization and autoconfiguration.
244 */
245 void
246 main(void)
247 {
--
Mikolaj Golub