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