2.5.9 -- OOPS in IDE code (symbolic dump and boot log included)
It sounds like Jens and Martin have a handle on this already. Just in case this helps. No modules.
Oops on 2.5.9 at boot time.
Here is the last part of the boot message:
Uniform Multi-Platform E-IDE driver ver.:7.0.0
ide: system bus speed 33MHz
VIA Technologies, Inc. Bus Master IDE: IDE controller on PCI slot 00:07.1 VIA Technologies, Inc. Bus Master IDE: chipset revision 6
VIA Technologies, Inc. Bus Master IDE: not 100% native mode: will probe irqs laterVP_IDE: VIA vt82c586b (rev 47) IDE UDMA33 controller on pci00:07.1
ide0: BM-DMA at 0xe000-0xe007, BIOS settings: hda:DMA, hdb:DMA
ide1: BM-DMA at 0xe008-0xe00f, BIOS settings: hdc:DMA, hdd:DMAhda: Maxtor 51536U3, ATA DISK drive
hdb: ATAPI CDROM, ATAPI CD/DVD-ROM drive
hdc: Maxtor 52049U4, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
ide: unexpected interrupt 0 14
hda: 30015216 sectors (15368 MB) w/2048KiB Cache, CHS=29777/16/63, UDMA(33)
ide: unexpected interrupt 1 15
hdc: 40020624 sectors (20491 MB) w/2048KiB Cache, CHS=39703/16/63, UDMA(33)
ide: unexpected interrupt 0 14
(oops here)
ksymoops output
No modules in ksyms, skipping objects
No ksyms, skipping lsmod
Unable to handle kernel NULL pointer dereference at virtual address 00000004 c01bf5f6 *pde = 00000000 Oops: 0002 CPU: 0 EIP: 0010:[<c01bf5f6>] Not tainted
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010002
eax: 00000004 ebx: d7f61eb4 ecx: 00000001 edx: 00000000
esi: d7f61e30 edi: c02c8b6c ebp: 00000292 esp: c026bedc
ds: 0018 es: 0018 ss: 0018
Stack: d7f61e30 00000001 c02c8b6c 00000003 00000001 c01c2f1b c02c8b6c 00000001
00000000 c01c9a52 c02c8b6c 00000001 00000018 d7f61eb4 d7f61e30 c01ca783
c02c8b6c 00000001 00000000 c02c8b6c d7f622c0 c02c8840 c02c8f0c d7f62380
Call Trace: [<c01c2f1b>] [<c01c9a52>] [<c01ca783>] [<c01c11ba>] [<c01ca6bc>]
[<c01080fc>] [<c0108262>] [<c0105000>] [<c0106eff>] [<c0105240>] [<c0105000>]
[<c0105263>] [<c01052d4>] [<c0105019>]
Code: c7 04 02 00 00 00 00 8b 53 0c 8b 87 34 02 00 00 0f b3 10 8bQuoted 6 lines
Quoted 6 lines
EIP;
c01bf5f6<__ide_end_request+fe/140> <=====ebx;
d7f61eb4<END_OF_CODE+17c930f8/????>
esi;d7f61e30<END_OF_CODE+17c93074/????>
edi;c02c8b6c<ide_hwifs+32c/3a70>
esp;c026bedc<init_thread_union+1edc/2000>
Trace; c01c2f1b <ide_end_request+f/14>
Trace; c01c9a52 <cdrom_end_request+42/4c>
Trace; c01ca783 <cdrom_pc_intr+c7/1d0>
Trace; c01c11ba <ide_intr+c6/13c>
Trace; c01ca6bc <cdrom_pc_intr+0/1d0>
Trace; c01080fc <handle_IRQ_event+30/5c>
Trace; c0108262 <do_IRQ+6a/a8>
Trace; c0105000 <_stext+0/0>
Trace; c0106eff <common_interrupt+1f/30>
Trace; c0105240 <default_idle+0/28>
Trace; c0105000 <_stext+0/0>
Trace; c0105263 <default_idle+23/28>
Trace; c01052d4 <cpu_idle+28/38>
Trace; c0105019 <rest_init+19/1c>
Code; c01bf5f6 <__ide_end_request+fe/140>
00000000 <_EIP>:
Code; c01bf5f6 <__ide_end_request+fe/140> <=====
0: c7 04 02 00 00 00 00 movl $0x0,(%edx,%eax,1) <=====
Code; c01bf5fd <__ide_end_request+105/140>
7: 8b 53 0c mov 0xc(%ebx),%edx
Code; c01bf600 <__ide_end_request+108/140>
a: 8b 87 34 02 00 00 mov 0x234(%edi),%eax
Code; c01bf606 <__ide_end_request+10e/140>
10: 0f b3 10 btr %edx,(%eax)
Code; c01bf609 <__ide_end_request+111/140>
13: 8b 00 mov (%eax),%eax
<0>Kernel panic: Aiee, killing interrupt handler!
This config has been working with other kernels, including 2.5.8.
grep ^CONFIG .configCONFIG_X86=yCONFIG_ISA=yCONFIG_UID16=yCONFIG_EXPERIMENTAL=yCONFIG_NET=yCONFIG_SYSVIPC=yCONFIG_SYSCTL=yCONFIG_MK6=yCONFIG_X86_WP_WORKS_OK=yCONFIG_X86_INVLPG=yCONFIG_X86_CMPXCHG=yCONFIG_X86_XADD=yCONFIG_X86_BSWAP=yCONFIG_X86_POPAD_OK=yCONFIG_RWSEM_XCHGADD_ALGORITHM=yCONFIG_X86_L1_CACHE_SHIFT=5CONFIG_X86_ALIGNMENT_16=yCONFIG_X86_TSC=yCONFIG_X86_USE_PPRO_CHECKSUM=yCONFIG_NOHIGHMEM=yCONFIG_MTRR=yCONFIG_PCI=yCONFIG_PCI_GOANY=yCONFIG_PCI_BIOS=yCONFIG_PCI_DIRECT=yCONFIG_PCI_NAMES=yCONFIG_KCORE_ELF=yCONFIG_BINFMT_ELF=yCONFIG_BLK_DEV_FD=yCONFIG_UNIX=yCONFIG_INET=yCONFIG_IDE=yCONFIG_BLK_DEV_IDE=yCONFIG_BLK_DEV_IDEDISK=yCONFIG_IDEDISK_MULTI_MODE=yCONFIG_BLK_DEV_IDECD=yCONFIG_BLK_DEV_IDEPCI=yCONFIG_BLK_DEV_IDEDMA_PCI=yCONFIG_IDEDMA_PCI_AUTO=yCONFIG_BLK_DEV_IDEDMA=yCONFIG_BLK_DEV_VIA82CXXX=yCONFIG_IDEDMA_AUTO=yCONFIG_NETDEVICES=yCONFIG_NET_ETHERNET=yCONFIG_NET_PCI=yCONFIG_8139TOO=yCONFIG_SOUND_GAMEPORT=yCONFIG_VT=yCONFIG_VT_CONSOLE=yCONFIG_SERIAL=yCONFIG_SERIAL_CONSOLE=yCONFIG_UNIX98_PTYS=yCONFIG_UNIX98_PTY_COUNT=64CONFIG_REISERFS_FS=yCONFIG_RAMFS=yCONFIG_ISO9660_FS=yCONFIG_PROC_FS=yCONFIG_DEVPTS_FS=yCONFIG_EXT2_FS=yCONFIG_NFS_FS=yCONFIG_NFS_V3=yCONFIG_NFSD=yCONFIG_NFSD_V3=yCONFIG_SUNRPC=yCONFIG_LOCKD=yCONFIG_LOCKD_V4=yCONFIG_EXPORTFS=yCONFIG_MSDOS_PARTITION=yCONFIG_VGA_CONSOLE=yCONFIG_DEBUG_KERNEL=yCONFIG_MAGIC_SYSRQ=y
lspci
00:00.0 Host bridge: VIA Technologies, Inc. VT82C598 [Apollo MVP3] (rev 04) 00:01.0 PCI bridge: VIA Technologies, Inc. VT82C598/694x [Apollo MVP3/Pro133x AGP] 00:07.0 ISA bridge: VIA Technologies, Inc. VT82C586/A/B PCI-to-ISA [Apollo VP] (rev 47) 00:07.1 IDE interface: VIA Technologies, Inc. Bus Master IDE (rev 06) 00:07.2 USB Controller: VIA Technologies, Inc. UHCI USB (rev 02)
00:07.3 Host bridge: VIA Technologies, Inc. VT82C586B ACPI (rev 10) 00:13.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139 (rev 10) 01:00.0 VGA compatible controller: nVidia Corporation Vanta [NV6] (rev 15)
Signature · 1 line
Randy Hron
Uz.ytkownik [email protected] napisa?:
Quoted 2 lines
It sounds like Jens and Martin have a handle on this already. Just in case this helps. No modules.
Yeep.
Quoted 1 line
Oops on 2.5.9 at boot time.
That is indeed a bit surprising. In esp. since the oops happens at boot time. Maybe some goot order problem.
Could you please introduce two printk("BANG\n") printk("BOOM\n") aroung the ata_ar_get() in ide-cd? Just to see whatever the command queue is already up and initialized.
* Martin Dalecki -- Wednesday 24 April 2002 10:15:
Quoted 3 lines
Could you please introduce two
printk("BANG\n")printk("BOOM\n")aroung theata_ar_get()in ide-cd? Just to see whatever the command queue is already up and initialized.
I mentioned already yesterday, that I have exactly the same oops. So I added several printk's and found out that it isn't really the if-branch with the ata_ar_get, that is executed immediately before the oops. (Neither of your suggested messages is reached.)
It's rather that ide_cdrom_do_request is entered with rq->falgs=0x420
and hence the following branch called:
} else if (rq->flags & (REQ_PC | REQ_SENSE)) {
return cdrom_do_packet_command(drive);m.
BTW: I'm using the same VIA IDE PIC controller like Randy. But it
worked with all stable releases and all unstable until 2.5.9.