Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 15 Nov 2001 14:56:15 -0700
From:      "Kenneth D. Merry" <ken@kdm.org>
To:        Dirk Froemberg <dirk@FreeBSD.ORG>
Cc:        stable@FreeBSD.ORG, phk@FreeBSD.ORG
Subject:   Re: kernel panic if using SCSI CDROM as root device
Message-ID:  <20011115145615.A34719@panzer.kdm.org>
In-Reply-To: <20011115120432.A18404@physik.TU-Berlin.DE>; from dirk@FreeBSD.ORG on Thu, Nov 15, 2001 at 12:04:32PM %2B0100
References:  <20011115003027.A87962@physik.TU-Berlin.DE> <20011115120432.A18404@physik.TU-Berlin.DE>

next in thread | previous in thread | raw e-mail | index | archive | help
[ Poul-Henning CCed, since he may have a clue what's going on here ]

On Thu, Nov 15, 2001 at 12:04:32 +0100, Dirk Froemberg wrote:
> Hi!
> 
> On Thu, Nov 15, 2001 at 12:30:27AM +0100, Dirk Froemberg wrote:
> > I build an CDROM image with a boot image containing a GENERIC kernel
> > and an "ordinary" FreeBSD-4.4-STABLE installation.
> > 
> > After booting the kernel I get the "mountroot> " prompt. On systems
> > having an ATAPI-CDROM mounting the CD as a root filesystem works
> > (giving cd9660:/dev/acd0c as root), but not on SCSI systems (giving
> > cd9660:/dev/cd0c as root). On such systems a kernel panic occurs
> > ("Fatal trap 12: page fault while in kernel mode").
> 
> Now, some more debug information...
> 
> 	Regards Dirk
> 
> ok boot -C
> /kernel text=0x203a28 data=0x39464+0x19cac syms=[0x4+0x30df0+0x4+0x353fc]
> Copyright (c) 1992-2001 The FreeBSD Project.
> Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
> 	The Regents of the University of California. All rights reserved.
> FreeBSD 4.4-STABLE #0: Thu Nov 15 11:18:56 CET 2001
>     dirk@bach:/usr/obj/usr/src/sys/CDROM
> Timecounter "i8254"  frequency 1193182 Hz
> Timecounter "TSC"  frequency 166527838 Hz
> CPU: Pentium/P55C (166.53-MHz 586-class CPU)
>   Origin = "GenuineIntel"  Id = 0x543  Stepping = 3
>   Features=0x8001bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX>
> real memory  = 67043328 (65472K bytes)
> avail memory = 61489152 (60048K bytes)
> Preloaded elf kernel "kernel" at 0xc03bf000.
> Intel Pentium detected, installing workaround for F00F bug
> md0: Malloc disk
> Using $PIR table, 6 entries at 0xc00fde70
> npx0: <math processor> on motherboard
> npx0: INT 16 interface
> pcib0: <VIA 82C598MVP (Apollo MVP3) host bridge> on motherboard
> pci0: <PCI bus> on pcib0
> pcib2: <VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0
> pci1: <PCI bus> on pcib2
> isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0
> isa0: <ISA bus> on isab0
> atapci0: <VIA 82C586 ATA33 controller> port 0x6400-0x640f at device 7.1 on pci0
> fxp0: <Intel Pro 10/100B/100+ Ethernet> port 0x6c00-0x6c3f mem 0xe9000000-0xe901ffff,0xe9020000-0xe9020fff irq 9 at device 9.0 on pci0
> fxp0: Ethernet address 00:02:b3:40:db:8c
> inphy0: <i82555 10/100 media interface> on miibus0
> inphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
> ahc0: <Adaptec 2940 Ultra2 SCSI adapter> port 0x7000-0x70ff mem 0xe9021000-0xe9021fff irq 12 at device 10.0 on pci0
> aic7890/91: Ultra2 Wide Channel A, SCSI Id=7, 32/255 SCBs
> pci0: <Matrox MGA Millennium 2064W graphics accelerator> at 12.0 irq 10
> pcib1: <Host to PCI bridge> on motherboard
> pci2: <PCI bus> on pcib1
> orm0: <Option ROMs> at iomem 0xc0000-0xc7fff,0xc8000-0xc97ff,0xca000-0xcf7ff on isa0
> fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
> fdc0: FIFO enabled, 8 bytes threshold
> fd0: <1440-KB 3.5" drive> on fdc0 drive 0
> atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
> atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
> kbd0 at atkbd0
> vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
> sc0: <System console> at flags 0x100 on isa0
> sc0: VGA <16 virtual consoles, flags=0x100>
> sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
> sio0: type 16550A, console
> sio1 at port 0x2f8-0x2ff irq 3 on isa0
> sio1: type 16550A
> Waiting 15 seconds for SCSI devices to settle
> Mounting root from cd9660:cd0a
> cd0 at ahc0 bus 0 target 3 lun 0
> cd0: <TEAC CD-ROM CD-532S 1.0A> Removable CD-ROM SCSI-2 device 
> cd0: 20.000MB/s transfers (20.000MHz, offset 16)
> cd0: cd present [66018 x 2048 byte records]
> da0 at ahc0 bus 0 target 0 lun 0
> da0: <FUJITSU MAB3091SP 0109> Fixed Direct Access SCSI-2 device 
> da0: 40.000MB/s transfers (20.000MHz, offset 31, 16bit), Tagged Queueing Enabled
> da0: 8703MB (17824700 512 byte sectors: 255H 63S/T 1109C)
> 
> 
> Fatal trap 12: page fault while in kernel mode
> fault virtual address	= 0x28
> fault code		= supervisor read, page not present
> instruction pointer	= 0x8:0xc01b51aa
> stack pointer	        = 0x10:0xc03e1db4
> frame pointer	        = 0x10:0xc03e1dd8
> code segment		= base 0x0, limit 0xfffff, type 0x1b
> 			= DPL 0, pres 1, def32 1, gran 1
> processor eflags	= interrupt enabled, resume, IOPL = 0
> current process		= 0 (swapper)
> interrupt mask		= none
> kernel: type 12 trap, code=0
> Stopped at      dsioctl+0x42:   movl    0xc(%eax),%ecx
> db> trace
> dsioctl(c0900b80,40046304,c03e1e28,1,c090e844) at dsioctl+0x42
> diskioctl(c0900b80,40046304,c03e1e28,1,c0355b60) at diskioctl+0x6f
> iso_get_ssector(c0900b80,c0355b60,0,c0909e00,c0355b60) at iso_get_ssector+0x2e
> iso_mountroot(c0909e00,c0355b60,c03e1fb0,c0900e80,c090df30) at iso_mountroot+0x47
> cd9660_mount(c0909e00,0,0,0,c0355b60) at cd9660_mount+0x2c
> vfs_mountroot_try(c02dc78a) at vfs_mountroot_try+0x13d
> vfs_mountroot(0,3dec00,3e6000,0,c0120670) at vfs_mountroot+0x3c
> mi_startup(0,0,0,0,0) at mi_startup+0x68
> begin() at begin+0x47

Can you find out what line of code in dsioctl is causing the problem?

If you built a debug kernel, you can do the following:

gdb -k kernel.debug
list *(dsioctl+0x42)

That should indicate which line in dsioctl is blowing up.

Ken
-- 
Kenneth Merry
ken@kdm.org

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20011115145615.A34719>