Port-sparc64 archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: 4.99.51 kernel crashes while detecting a PCI card
On Sat, Feb 02, 2008 at 01:52:25AM +0100, Martin Husemann wrote:
> On Sat, Feb 02, 2008 at 12:18:27AM +0000, Matthias Scheler wrote:
> > How what I do that?
>
> Matt is right, this is not an unaligned access but a null pointer deref.
> Just build the same kernel with makeoptions DEBUG=-g, then do
>
> gdb netbsd.gdb
>
> and check the pc that the crash reported, like "list *(0xXXXXX)".
I've built a new kernel with debugging symbols the stack trace looks
like this now:
config_attach_loc(3aacd00, 1808be8, 1c053bc, 1c05358, 1, 12c65c0) at
netbsd:config_attach_loc+0x158
pci_probe_device(0, f0088f1400800800, 0, 0, 0, 0) at
netbsd:pci_probe_device+0x254
sparc64_pci_enumerate_bus(3ab9000, 13a2ce8, 0, 42, 40, 181cc00) at
netbsd:sparc64_pci_enumerate_bus+0x324
pcirescan(3ab9000, 14482c0, 13a2ce8, 3ab9037, 0, 3ab9037) at
netbsd:pcirescan+0x10
pciattach(0, 3ab9000, 1c057d8, 1810800, 1813000, 2) at netbsd:pciattach+0x14c
config_attach_loc(3ab9000, 1808ac8, 0, 1c057d8, 1, 12e9080) at
netbsd:config_attach_loc+0x158
psycho_attach(3aadf00, 3aaa200, 1c059f0, 1810800, 1813000, 2) at
netbsd:psycho_attach+0x4f8
config_attach_loc(3aaa200, 1808a98, 0, 1c059f0, 1, 1314260) at
netbsd:config_attach_loc+0x158
mainbus_attach(0, 3aadf00, 0, 1810800, 1464800, 1314000) at
netbsd:mainbus_attach+0x474
config_attach_loc(3aadf00, 1808858, 0, 0, 1, 7) at
netbsd:config_attach_loc+0x158
cpu_configure(1469000, 1208ac0, 0, 1810800, 1814c00, 146a9c8) at
netbsd:cpu_configure+0x1d0
configure(185f0b8, 2, 187c400, 1252680, 1468c90, 1884c00) at
netbsd:configure+0x3c
main(0, 11ebe00, ffffffffffffe000, 1fff, 1889800, 1c02000) at netbsd:main+0x1dc
cpu_initialize(f0067260, 0, 10fc00, fff83d00, 10ea78, fff83e00) at
netbsd:cpu_initialize+0xf8
And here is what "gdb" found:
(gdb) list *(config_attach_loc+0x158)
0x1221798 is in config_attach_loc
(/src/NetBSD-current/src/sys/kern/subr_autoconf.c:1276).
1271
1272 #if defined(SPLASHSCREEN) && defined(SPLASHSCREEN_PROGRESS)
1273 if (splash_progress_state)
1274 splash_progress_update(splash_progress_state);
1275 #endif
1276 (*dev->dv_cfattach->ca_attach)(parent, dev, aux);
1277 #if defined(SPLASHSCREEN) && defined(SPLASHSCREEN_PROGRESS)
1278 if (splash_progress_state)
1279 splash_progress_update(splash_progress_state);
1280 #endif
Kind regards
--
Matthias Scheler http://zhadum.org.uk/
Home |
Main Index |
Thread Index |
Old Index