2.5.39 Oops on boot (device_attach+0x3a)
I tried to boot 2.5.39 on my home machine and got the following oops on boot with CONFIG_KALLSYMS=y (thanks Ingo!).
*pde = 00000000
Oops: 0002
CPU: 0
EIP: 0060:[<c01a7979>] Not tainted
EFLAGS: 00010286
EIP is at attach+0x1d/0x30
eax: c0276724 ebx: 00000000 ecx: c40c8060 edx: c40c8078
esi: c0276700 edi: 00000000 ebp: 00000000 esp: c40ddf94
ds: 0068 es: 0068 ss: 0068
Process swapper (pid: 1, threadinfo=c40dc000 task=c40da040)
Stack: 00000000 c01a7a5a c40c8060 c40c8060 c01a7c20 c40c8060 c40c8060 c40c8060
c40d7720 c028b879 c40c8060 00000001 c02b9bf4 00000000 00000000 00000000
c027e6f2 c0105030 c010504c c0105030 00000000 00000000 00000000 c0105495
Call Trace:
[<c01a7a5a>] device_attach+0x3a/0x40
[<c01a7c20>] device_register+0xd0/0x120
[<c0105030>] init+0x0/0x160
[<c010504c>] init+0x1c/0x160
[<c0105030>] init+0x0/0x160
[<c0105495>] kernel_thread_helper+0x5/0x10
Code: 89 13 89 4c 24 08 5b e9 37 0d 00 00 8d b4 26 00 00 00 00 57
Spurious 8959A interrupt: IRQ7
Kernel panic: Attempted to kill init!The "Spurious 8959A interrupt" message occurred only once among several boot attempts with slightly differently configured kernels (taking more and more stuff out like sound and usb). The traceback was the same each time however.
The box is a Gateway P450 single PIII with Jabil motherboard. I have a Promise Ultra/66 disk controller installed. Support for the 20262 was compiled into 2.5.39 with CONFIG_BLK_DEV_PDC202XX_OLD=y and CONFIG_BLK_DEV_PDC202XX=y. Support for the PIIX4 was provided with CONFIG_BLK_DEV_PIIX=y.
I tried booting with the onboard IDE and then the PDC20262 with the same oops above. Either of those work with 2.4.x kernels.
Here is a snippet from dmesg from a normal 2.4.18 boot:
fb0: VESA VGA frame buffer device
pty: 256 Unix98 ptys configured
Serial driver version 5.05c (2001-07-08) with HUB-6 MANY_PORTS MULTIPORT SHARE_IRQ SERIAL_PCI ISAPNP enabled ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttyS01 at port 0x02f8 (irq = 10) is a 16550A
block: 128 slots per queue, batch=32
RAMDISK driver initialized: 16 RAM disks of 32000K size 1024 blocksize
Uniform Multi-Platform E-IDE driver Revision: 6.31
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
PIIX4: IDE controller on PCI bus 00 dev 39
PIIX4: chipset revision 1
PIIX4: not 100% native mode: will probe irqs later
ide1: BM-DMA at 0x1428-0x142f, BIOS settings: hdc:DMA, hdd:pio
PDC20262: IDE controller on PCI bus 00 dev 78
PCI: Found IRQ 5 for device 00:0f.0
PDC20262: chipset revision 1
PDC20262: not 100% native mode: will probe irqs later
PDC20262: (U)DMA Burst Bit ENABLED Primary PCI Mode Secondary PCI Mode.
ide0: BM-DMA at 0x10c0-0x10c7, BIOS settings: hda:DMA, hdb:DMA
ide2: BM-DMA at 0x10c8-0x10cf, BIOS settings: hde:DMA, hdf:piohda: ST330620A, ATA DISK drive
hdc: MATSHITADVD-ROM SR-8584A, ATAPI CD/DVD-ROM drive
ide0 at 0x1440-0x1447,0x1436 on irq 5
ide1 at 0x170-0x177,0x376 on irq 15
hda: 58633344 sectors (30020 MB) w/2048KiB Cache, CHS=58168/16/63, UDMA(66)
hdc: ATAPI 32X DVD-ROM drive, 512kB Cache, UDMA(33)
Uniform CD-ROM driver Revision: 3.12
Steven
Quoted 14 lines · Steven Cole
I tried to boot 2.5.39 on my home machine and got the following oops on boot with
CONFIG_KALLSYMS=y(thanks Ingo!).*pde = 00000000
Oops: 0002CPU: 0
EIP: 0060:[<c01a7979>] Not tainted
EFLAGS: 00010286
EIP is atattach+0x1d/0x30
eax:c0276724ebx: 00000000 ecx:c40c8060edx:c40c8078
esi:c0276700edi: 00000000 ebp: 00000000 esp:c40ddf94
ds: 0068 es: 0068 ss: 0068
Process swapper (pid: 1, threadinfo=c40dc000 task=c40da040)
Quoted 11 lines
Stack: 00000000 c01a7a5a c40c8060 c40c8060 c01a7c20 c40c8060 c40c8060 c40c8060
c40d7720 c028b879 c40c8060 00000001 c02b9bf4 00000000 00000000 00000000
c027e6f2 c0105030 c010504c c0105030 00000000 00000000 00000000 c0105495
Call Trace:
[<c01a7a5a>] device_attach+0x3a/0x40
[<c01a7c20>] device_register+0xd0/0x120
[<c0105030>] init+0x0/0x160
[<c010504c>] init+0x1c/0x160
[<c0105030>] init+0x0/0x160
[<c0105495>] kernel_thread_helper+0x5/0x10I believe the oops on boot people have been seeing in 2.5.39 may be related to problems inserting ide-scsi modules (sr_mod, mod_scsi, ide-scsi). Since I have to get up early tomorrow I'm going to beg off for tonight, but I can reliably produce the above oops. I'll provide full data and explanations when I'm not so tired.
Quoted 28 lines · Thomas Molina
Quoted 14 lines · Steven Cole
I tried to boot 2.5.39 on my home machine and got the following oops on boot with
CONFIG_KALLSYMS=y(thanks Ingo!).*pde = 00000000
Oops: 0002CPU: 0
EIP: 0060:[<c01a7979>] Not tainted
EFLAGS: 00010286
EIP is atattach+0x1d/0x30
eax:c0276724ebx: 00000000 ecx:c40c8060edx:c40c8078
esi:c0276700edi: 00000000 ebp: 00000000 esp:c40ddf94
ds: 0068 es: 0068 ss: 0068
Process swapper (pid: 1, threadinfo=c40dc000 task=c40da040)Quoted 11 lines
Stack: 00000000 c01a7a5a c40c8060 c40c8060 c01a7c20 c40c8060 c40c8060 c40c8060 c40d7720 c028b879 c40c8060 00000001 c02b9bf4 00000000 00000000 00000000 c027e6f2 c0105030 c010504c c0105030 00000000 00000000 00000000 c0105495 Call Trace: [<c01a7a5a>] device_attach+0x3a/0x40 [<c01a7c20>] device_register+0xd0/0x120 [<c0105030>] init+0x0/0x160 [<c010504c>] init+0x1c/0x160 [<c0105030>] init+0x0/0x160 [<c0105495>] kernel_thread_helper+0x5/0x10
Quoted 6 lines
I believe the oops on boot people have been seeing in 2.5.39 may be related to problems inserting ide-scsi modules (
sr_mod,mod_scsi, ide-scsi). Since I have to get up early tomorrow I'm going to beg off for tonight, but I can reliably produce the above oops. I'll provide full data and explanations when I'm not so tired.
It's good that the above oops can be reproduced, so here is some more info on my setup:
[steven@localhost linux-2.5.39-linus]$ grep "=m" .config CONFIG_PARPORT=mCONFIG_PARPORT_PC=mCONFIG_PARPORT_PC_CML1=mCONFIG_PRINTER=mCONFIG_AUTOFS_FS=mCONFIG_FAT_FS=mCONFIG_MSDOS_FS=mCONFIG_VFAT_FS=mCONFIG_NLS_ISO8859_1=m
[steven@localhost linux-2.5.39-linus]$ grep SCSI .config
# SCSI device support
# CONFIG_SCSI is not set
# Old non-SCSI/ATAPI CD-ROM drives
# CONFIG_CD_NO_IDESCSI is not set
[steven@localhost linux-2.5.39-linus]$ find . -name Makefile | xargs grep sr_mod
./drivers/scsi/Makefile:obj-$(CONFIG_BLK_DEV_SR) += sr_mod.o
./drivers/scsi/Makefile:sr_mod-objs := sr.o sr_ioctl.o sr_vendor.o
[steven@localhost linux-2.5.39-linus]$ grep BLK_DEV_SR .config [steven@localhost linux-2.5.39-linus]$
So, I'm not sure that a scsi-related module is the cause here.
Cheers,
Steven
Quoted 20 lines · Steven Cole
Quoted 6 lines
I believe the oops on boot people have been seeing in 2.5.39 may be related to problems inserting ide-scsi modules (
sr_mod,mod_scsi, ide-scsi). Since I have to get up early tomorrow I'm going to beg off for tonight, but I can reliably produce the above oops. I'll provide full data and explanations when I'm not so tired.It's good that the above oops can be reproduced, so here is some more info on my setup:
[steven@localhost linux-2.5.39-linus]$ grep "=m" .config
CONFIG_PARPORT=mCONFIG_PARPORT_PC=mCONFIG_PARPORT_PC_CML1=mCONFIG_PRINTER=mCONFIG_AUTOFS_FS=mCONFIG_FAT_FS=mCONFIG_MSDOS_FS=mCONFIG_VFAT_FS=mCONFIG_NLS_ISO8859_1=m
Quoted 10 lines
[steven@localhost linux-2.5.39-linus]$ grep SCSI .config
# SCSI device support
#CONFIG_SCSIis not set
# Old non-SCSI/ATAPI CD-ROM drives
#CONFIG_CD_NO_IDESCSIis not set
[steven@localhost linux-2.5.39-linus]$ find . -nameMakefile| xargs grepsr_mod
./drivers/scsi/Makefile:obj-$(CONFIG_BLK_DEV_SR) += sr_mod.o
./drivers/scsi/Makefile:sr_mod-objs := sr.o sr_ioctl.o sr_vendor.o
[steven@localhost linux-2.5.39-linus]$ grepBLK_DEV_SR.config [steven@localhost linux-2.5.39-linus]$
That would seem to indicate problems within the module load/unload routines rather than specifically ide-scsi. I could beleive that, although the only modules I could produce the oops with were sr_mod and ide-scsi. I need more testing so I can produce a coherent report to lkml.
Quoted 2 lines · Steven Cole
I tried to boot 2.5.39 on my home machine and got the following oops on boot with
CONFIG_KALLSYMS=y(thanks Ingo!).
Do you have CONFIG_ISAPNP enabled? If so, search the archives for the fix for this. If not, please post your whole .config.
thanks,
greg k-h
Quoted 6 lines · Greg KH
Quoted 2 lines · Steven Cole
I tried to boot 2.5.39 on my home machine and got the following oops on boot with
CONFIG_KALLSYMS=y(thanks Ingo!).Do you have
CONFIG_ISAPNPenabled? If so, search the archives for the fix for this. If not, please post your whole .config.
Just building the module shouldn't cause the oops though, should it? I can get the same oops, but it is on loading sr_mod, not isapnp. I have built isapnp.o but it never loads.
Quoted 6 lines · Greg KH
Quoted 2 lines · Steven Cole
I tried to boot 2.5.39 on my home machine and got the following oops on boot with
CONFIG_KALLSYMS=y(thanks Ingo!).Do you have
CONFIG_ISAPNPenabled? If so, search the archives for the fix for this. If not, please post your whole .config.
Although I don't have that test box in front of me now, I'm almost certain that I do have CONFIG_ISAPNP enabled. Searching the archives turned up a fix similar to the one below which is part of 2.5.40, (which I haven't been able to download yet). I won't be able to test this until tonight, but perhaps Thomas can see if this fixes the same oops for him in the meantime.
Thanks,
Steven
drivers/pnp/isapnp.c +3 -1
@@ -2281,7 +2281,9 @@EXPORT_SYMBOL (isapnp_register_driver);EXPORT_SYMBOL (isapnp_unregister_driver); -static struct device_driver isapnp_device_driver = {}; +static struct device_driver isapnp_device_driver = { + .devices =LIST_HEAD_INIT (isapnp_device_driver.devices), +};
static inline int isapnp_init_device_tree(void)
{
Quoted 11 lines · Greg KH
Quoted 2 lines · Steven Cole
I tried to boot 2.5.39 on my home machine and got the following oops on boot with
CONFIG_KALLSYMS=y(thanks Ingo!).Do you have
CONFIG_ISAPNPenabled? If so, search the archives for the fix for this. If not, please post your whole .config.thanks,
greg k-h
Yes, I have CONFIG_ISAPNP=y. Searching the archive,
I found a fix for "2.5.39 isapnp causes drivers/base/core.c:attach() oops"
here: http://marc.theaimsgroup.com/?l=linux-kernel&m=103331915631837&w=2
but looking at the 2.5.40 tree at linus.bkbits.net, I see that a slightly different fix went into 2.5.40. I applied the patch for v1.14 of isapnp.c, and here is the diff for that file:
drivers/pnp/isapnp.c renamed from drivers/pnp/isapnp.c.orig +3 -1
@@ -2281,7 +2281,9 @@EXPORT_SYMBOL (isapnp_register_driver);EXPORT_SYMBOL (isapnp_unregister_driver); -static struct device_driver isapnp_device_driver = {}; +static struct device_driver isapnp_device_driver = { + .devices =LIST_HEAD_INIT (isapnp_device_driver.devices), +};static inline int isapnp_init_device_tree (void ) {
I recompiled, and got a new and different oops on boot. Since I had to write this down, I just saved what I thought was the most pertinent.
EIP is at ide_iomio_dma+0xa4/0x110
Call Trace: ide_setup_dma+0x16/0x2a0 ide_hwif_setup_dma+0xc6/0x100 do_ide_setup_pci_device+0x18/0x60 ide_setup_pci_device+0x18/0x60 init+0x0/0x160 init+0x1c/0x160 init+0x0/0x160
kernel_thread_helper_0x5/0x10
For what it's worth, here is my .config info:
[steven@localhost linux-2.5.39-linus]$ grep ^CONFIG_ .config CONFIG_X86=yCONFIG_ISA=yCONFIG_UID16=yCONFIG_GENERIC_ISA_DMA=yCONFIG_EXPERIMENTAL=yCONFIG_NET=yCONFIG_SYSVIPC=yCONFIG_SYSCTL=yCONFIG_MODULES=yCONFIG_KMOD=yCONFIG_MPENTIUMIII=yCONFIG_X86_WP_WORKS_OK=yCONFIG_X86_INVLPG=yCONFIG_X86_CMPXCHG=yCONFIG_X86_XADD=yCONFIG_X86_BSWAP=yCONFIG_X86_POPAD_OK=y CONFIG_RWSEM_XCHGADD_ALGORITHM=y CONFIG_X86_L1_CACHE_SHIFT=5CONFIG_X86_TSC=yCONFIG_X86_GOOD_APIC=y CONFIG_X86_USE_PPRO_CHECKSUM=yCONFIG_NOHIGHMEM=yCONFIG_PCI=yCONFIG_PCI_GOANY=yCONFIG_PCI_BIOS=yCONFIG_PCI_DIRECT=yCONFIG_PCI_NAMES=yCONFIG_KCORE_ELF=yCONFIG_BINFMT_AOUT=yCONFIG_BINFMT_ELF=yCONFIG_BINFMT_MISC=yCONFIG_PARPORT=mCONFIG_PARPORT_PC=mCONFIG_PARPORT_PC_CML1=mCONFIG_PARPORT_PC_FIFO=yCONFIG_PNP=yCONFIG_ISAPNP=yCONFIG_BLK_DEV_FD=yCONFIG_BLK_DEV_LOOP=yCONFIG_IDE=yCONFIG_BLK_DEV_IDE=yCONFIG_BLK_DEV_IDEDISK=yCONFIG_BLK_DEV_IDECD=yCONFIG_BLK_DEV_IDEFLOPPY=yCONFIG_BLK_DEV_IDEPCI=yCONFIG_IDEPCI_SHARE_IRQ=y CONFIG_BLK_DEV_IDEDMA_PCI=y CONFIG_BLK_DEV_OFFBOARD=yCONFIG_IDEDMA_PCI_AUTO=yCONFIG_BLK_DEV_IDEDMA=yCONFIG_BLK_DEV_ADMA=yCONFIG_BLK_DEV_PIIX=y CONFIG_BLK_DEV_PDC202XX_OLD=y CONFIG_PDC202XX_BURST=yCONFIG_IDEDMA_AUTO=yCONFIG_BLK_DEV_PDC202XX=y CONFIG_BLK_DEV_IDE_MODES=yCONFIG_PACKET=yCONFIG_UNIX=yCONFIG_INET=yCONFIG_SYN_COOKIES=yCONFIG_IPV6_SCTP__=yCONFIG_INPUT=yCONFIG_INPUT_MOUSEDEV=y CONFIG_INPUT_MOUSEDEV_PSAUX=y CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 CONFIG_SOUND_GAMEPORT=yCONFIG_SERIO=yCONFIG_INPUT_KEYBOARD=yCONFIG_KEYBOARD_ATKBD=yCONFIG_INPUT_MOUSE=yCONFIG_MOUSE_PS2=yCONFIG_INPUT_MISC=yCONFIG_INPUT_PCSPKR=yCONFIG_VT=yCONFIG_VT_CONSOLE=yCONFIG_HW_CONSOLE=yCONFIG_UNIX98_PTYS=yCONFIG_UNIX98_PTY_COUNT=256CONFIG_PRINTER=mCONFIG_DRM=yCONFIG_QUOTA=yCONFIG_QUOTACTL=yCONFIG_AUTOFS_FS=mCONFIG_AUTOFS4_FS=yCONFIG_REISERFS_FS=yCONFIG_EXT3_FS=yCONFIG_JBD=yCONFIG_FAT_FS=mCONFIG_MSDOS_FS=mCONFIG_VFAT_FS=mCONFIG_RAMFS=yCONFIG_ISO9660_FS=yCONFIG_PROC_FS=yCONFIG_DEVFS_FS=yCONFIG_DEVPTS_FS=yCONFIG_EXT2_FS=yCONFIG_MSDOS_PARTITION=yCONFIG_NLS=yCONFIG_NLS_DEFAULT="iso8859-1" CONFIG_NLS_CODEPAGE_850=yCONFIG_NLS_ISO8859_1=mCONFIG_VGA_CONSOLE=yCONFIG_VIDEO_SELECT=yCONFIG_FB=yCONFIG_DUMMY_CONSOLE=yCONFIG_VIDEO_SELECT=y
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=yCONFIG_DEBUG_KERNEL=yCONFIG_MAGIC_SYSRQ=yCONFIG_KALLSYMS=yCONFIG_SECURITY_CAPABILITIES=y CONFIG_X86_BIOS_REBOOT=y
[steven@localhost linux-2.5.39-linus]$
I haven't been able to get a patch-2.5.40.gz yet, so if this is fixed in the full 2.5.40 release, my apologies for all this noise.
Steven