From owner-freebsd-hackers Fri Dec 8 16:08:18 1995 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id QAA05760 for hackers-outgoing; Fri, 8 Dec 1995 16:08:18 -0800 (PST) Received: from data.nas.nasa.gov (data.nas.nasa.gov [129.99.23.20]) by freefall.freebsd.org (8.7.3/8.7.3) with SMTP id QAA05737 for ; Fri, 8 Dec 1995 16:08:11 -0800 (PST) Received: from gizmo.nas.nasa.gov (gizmo.nas.nasa.gov [129.99.36.13]) by data.nas.nasa.gov (8.6.12/NAS.5.b) with SMTP id QAA11904 for ; Fri, 8 Dec 1995 16:07:55 -0800 X-Authentication-Warning: data.nas.nasa.gov: Host gizmo.nas.nasa.gov didn't use HELO protocol X-Mailer: exmh version 1.6 4/21/95 To: hackers@freebsd.org Reply-to: truesdel@nas.nasa.gov Subject: Hint's needed for debugging a SCSI CDROM changer problem. Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Fri, 08 Dec 1995 16:07:55 -0800 Message-ID: <8125.818467675@nas.nasa.gov> From: Dave Truesdell Sender: owner-hackers@freebsd.org Precedence: bulk I've been attempting to get a SCSI CDROM changer working FreeBSD 2.1(-stable). The device a Mountain "CD7" (aka. NRC MBR-7). I can mount and access the first four CDROM's without any problems. However, when I attempt to mount the 5th CDROM I soon get either (what appears to be) a hung SCSI bus, or I get "Fatal trap 12"'s in random parts of the kernel. (Two crashes I've saved had the faults occur in both the isofs and vm code.) Can anyone suggest ways of either getting information out of a hung system, or tracking the fatal page faults back to their source? I'm not afraid of reading kernel code, but I'm not overly familiar with the Intel VM architecture, so any hint's would be greatly appreciated. The messages from the two panics and my config file is included below, if those would provide any useful information. crash #1: Fatal trap 12: page fault while in kernel mode fault virtual address = 0x8 fault code = supervisor write, page not present instruction pointer = 0x8:0xf0102092 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 = 14 (find) interrupt mask = panic: page fault syncing disks... done dumping to dev 401, offset 0 dump 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Crash #2: Fatal trap 12: page fault while in kernel mode fault virtual address = 0x4e fault code = supervisor read, page not present instruction pointer = 0x8:0xf0125f2c 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 = 54 (ifconfig) interrupt mask = bio panic: page fault syncing disks... 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 giving up dumping to dev 401, offset 0 dump 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Config file: # # ############################################################################## ## Motherboard: UC4914-G VL-bus with Intel 486DX2-66 cpu. ## 20MB 60ns main memory; 128k cache. ############################################################################## machine "i386" #cpu "I386_CPU" cpu "I486_CPU" #cpu "I586_CPU" # aka Pentium(tm) ident POOH # The `maxusers' parameter controls the static sizing of a number of # internal system tables. maxusers 20 # Set the default max number of processes per user to 128 and # the max number of open files per user to 128 options "CHILD_MAX=128" options "OPEN_MAX=128" config kernel root on sd0 swap on sd0 and sd1 and sd2 dumps on sd0 # A math emulator is mandatory if you wish to run on hardware which # does not have a floating-point processor. Pick either the original, # bogus (but freely-distributable) math emulator, or a much more # fully-featured but GPL-licensed emulator taken from Linux. #options MATH_EMULATE # OLD x87 math emulator #options GPL_MATH_EMULATE # NEW/GPL x87 math emulator ##################################################################### # COMPATIBILITY OPTIONS # # Implement system calls compatible with 4.3BSD and older versions of # FreeBSD. # options "COMPAT_43" # SV style shared memory and IPC (Necessary for Amanda) # options SYSVSHM options SYSVSEM options SYSVMSG ##################################################################### # DEBUGGING OPTIONS #options DDB # Kernel debugger options KTRACE # System call tracing with ktrace(2). ##################################################################### # NETWORKING OPTIONS options INET #Internet communications protocols # Network interfaces: # The `loop' pseudo-device is mandatory when networking is enabled. # The `ether' pseudo-device provides generic code to handle # Ethernets; it is mandatory when a Ethernet device driver is # configured. # The 'fddi' pseudo-device provides generic code to support FDDI. # The `sppp' pseudo-device serves a similar role for certain types # of synchronous PPP links (like `cx'). # The `sl' pseudo-device implements the Serial Line IP (SLIP) service. # The `ppp' pseudo-device implements the Point-to-Point Protocol. # The `bpfilter' pseudo-device enables the Berkeley Packet Filter. Be # aware of the legal and administrative consequences of enabling this # option. The number of devices determines the maximum number of # simultaneous BPF clients programs runnable. # The `disc' pseudo-device implements a minimal network interface, # which throws away all packets sent and never receives any. It is # included for testing purposes. # The `tun' pseudo-device implements the User Process PPP (iijppp) # pseudo-device ether #Generic Ethernet #pseudo-device fddi #Generic FDDI #pseudo-device sppp #Generic Synchronous PPP pseudo-device loop #Network loopback device pseudo-device sl 1 #Serial Line IP pseudo-device ppp 1 #Point-to-point protocol pseudo-device bpfilter 4 #Berkeley packet filter pseudo-device disc #Discard device pseudo-device tun 1 #Tunnel driver(user process ppp) # Internet family options: # # TCP_COMPAT_42 causes the TCP code to emulate certain bugs present in # 4.2BSD. This option should not be used unless you have a 4.2BSD # machine and TCP connections fail. # # GATEWAY allows the machine to forward packets, and also configures # larger static sizes of a number of system tables. # # MROUTING enables the kernel multicast packet forwarder, which works # with mrouted(8). # # IPFIREWALL enables support for IP firewall construction, in # conjunction with the `ipfw' program. IPFIREWALL_VERBOSE does # the obvious thing. # # IPACCT enables IP accounting. # # ARP_PROXYALL enables global proxy ARP. Beware! This can burn # your house down! See netinet/if_ether.c for the gory details. # (Eventually there will be a better management interface.) # #options "TCP_COMPAT_42" #emulate 4.2BSD TCP bugs options GATEWAY #internetwork gateway options MROUTING # Multicast routing options IPFIREWALL #firewall options IPFIREWALL_VERBOSE #print information about # dropped packets #options IPACCT #ipaccounting #options ARP_PROXYALL #global proxy ARP ##################################################################### # FILESYSTEM OPTIONS # These filesystems can not be demand loaded, so they must be compiled in. options FFS #Berkeley Fast Filesystem options MFS #Memory based Filesystem # These filesystems could be demand loaded, but they are often used. options NFS #Network Filesystem options "CD9660" #ISO 9660 Filesystem options PROCFS #Process filesystem ##################################################################### # MISCELLANEOUS DEVICES AND OPTIONS pseudo-device pty 32 #Pseudo ttys - can go as high as 64 pseudo-device log #Kernel syslog interface (/dev/klog) pseudo-device gzip #Exec gzipped a.out's pseudo-device vn #Vnode driver (turns a file into a device) ##################################################################### # HARDWARE DEVICE CONFIGURATION # # Mandatory ISA devices: isa, sc or vt, npx # controller isa0 # # Options for `isa': # # AUTO_EOI_1 enables the `automatic EOI' feature for the master 8259A # interrupt controller. This saves about 1.25 usec for each interrupt. # No problems are known to be caused by this option. # # BOUNCE_BUFFERS provides support for ISA DMA on machines with more # than 16 megabytes of memory. It doesn't hurt on other machines. # Some broken EISA and VLB hardware may need this, too. options "AUTO_EOI_1" options BOUNCE_BUFFERS options UCONSOLE #Allow users to grab the console options XSERVER #Include code for XFree86 options HARDFONTS #Load ISO-8859-1 font in display adapter options UCONSOLE #Allow users to grab the console # Numeric Co-Processor device npx0 at isa? port "IO_NPX" irq 13 vector npxintr ############################################################################## ## Card: #9 GXE-64 ## S3 based VLB graphics card ## Note: Has 2Mb of memory on board. ############################################################################## # syscons is the default console driver, resembling an SCO console device sc0 at isa? port "IO_KBD" tty irq 1 vector scintr ## End #9 GXE-64 options UCONSOLE #Allow users to grab the console options XSERVER #Include code for XFree86 options HARDFONTS #Load ISO-8859-1 font in display adapter options FAT_CURSOR #start with block cursor ############################################################################## ## Card: BusLogic BT445S ## VLB SCSI-II Controller. ## Notes: Using floppy controller on board ############################################################################## options "SCSI_DELAY=15" #Be pessimistic about Joe SCSI device options SCSIDEBUG #Enable SCSI debugging options NEW_SCSICONF # bt0: settings are irq 11 drq 5 #bt0 irq's ??? controller bt0 at isa? port "IO_BT0" bio irq ? vector btintr controller scbus0 at bt0 # SCSI disk devices device sd0 # SCSI disk; Quantum Maverick 540S (516 MB) # 1057758 sectors, 2853 cyls, 4 heads, 92 sectors/track # bios geometry: 516 cyls, 64 heads, 32 sectors/track # slice 1: sysid 165, start 32, size 1056736 (515 Meg) # size offset fstype [fsize bsize bps/cpg] # a: 65536 0 4.2BSD 0 0 0 # (Cyl. 0 - 31) # b: 131072 65536 swap # (Cyl. 32 - 95) # c: 1056736 0 unused 0 0 # (Cyl. 0 - 515*) # e: 860128 196608 4.2BSD 0 0 0 # (Cyl. 96 - 515*) # sd0s1a: / ufs rw # sd0s1b: /tmp mfs rw # sd0s1b: none swap sw # sd0s1e: /usr ufs rw disk sd0 at scbus0 target 0 # SCSI disk; Quantum Lighting 730S (699 MB) # 1431760 sectors, 3658 cyls, 4 heads, 97 sectors/track # bios geometry: 699 cyls, 64 heads, 32 sectors/track # slice 1: sysid 165, start 32, size 1431520 (698 Meg) # size offset fstype [fsize bsize bps/cpg] # b: 131072 65536 swap # (Cyl. 32 - 95) # c: 1431520 0 unused 0 0 # (Cyl. 0 - 698*) # e: 65536 0 4.2BSD 0 0 0 # (Cyl. 0 - 31) # f: 307200 196608 4.2BSD 0 0 0 # (Cyl. 96 - 245) # g: 927712 503808 4.2BSD 0 0 0 # (Cyl. 246 - 698*) # sd1s1b: none swap sw # sd1s1e: unused # sd1s1f: /var ufs rw # sd1s1g: /usr/src ufs rw disk sd1 at scbus0 target 1 # SCSI disk; Quantum PD1225 (1169 MB) # 2395980 sectors, 2448 cyls, 14 heads, 69 sectors/track # bios geometry: 1169 cyls, 64 heads, 32 sectors/track # slice 1: sysid 165, start 32, size 2394080 (1168 Meg) # size offset fstype [fsize bsize bps/cpg] # b: 131072 0 swap # (Cyl. 0 - 63) # c: 2394080 0 unused 0 0 # (Cyl. 0 - 1168*) # e: 307200 131072 4.2BSD 1024 8192 0 # (Cyl. 64 - 213) # f: 1955808 438272 4.2BSD 1024 8192 0 # (Cyl. 214 - 1168*) # sd2s1b: none swap sw # sd2s1e: /amanda ufs rw # sd2s1f: /u ufs rw disk sd2 at scbus0 target 2 # ** NOT IN USE ** #disk sd3 at scbus0 target 3 # SCSI cdrom; Toshiba XM-3401TA device cd0 at scbus0 target 4 # SCSI tape; Archive Viper 2525 device st0 tape st0 at scbus0 target 5 # SCSI cdrom jukebox; Mountain "CD-7" (NRC MBR-7) device cd1 at scbus0 target 6 unit 0 device cd2 at scbus0 target 6 unit 1 device cd3 at scbus0 target 6 unit 2 device cd4 at scbus0 target 6 unit 3 device cd5 at scbus0 target 6 unit 4 device cd6 at scbus0 target 6 unit 5 device cd7 at scbus0 target 6 unit 6 controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr # FLOPPY disk drive; TEAC dual 3.5/5.25 disk fd0 at fdc0 drive 0 # 1.44MB 3.5in disk fd1 at fdc0 drive 1 # 1.2MB 5.25in ## End BusLogic BT445S ############################################################################## ## Card: Quickpath Port-Folio ## ## Note: On-board floppy and IDE controllers are disabled. ############################################################################## # controller wdc0 at isa? port "IO_WD1" bio irq 14 flags 0x000080ff vector wdintr ## IDE disk; Conner Peripherals CP3544 (518 MB) ## 1061424 sectors, 1053 cyls, 16 heads, 63 sectors/track ## bios geometry: 1053 cyls, 16 heads, 63 sectors/track ## slice 1: sysid 4 (Primary DOS 16 bit FAT), start 63, size 40257 (19 Meg) ## slice 2: sysid 165, start 40320, size 1021104 (498 Meg) ## size offset fstype [fsize bsize bps/cpg] ## c: 1021104 0 unused 0 0 # (Cyl. 0 - 1012) ## e: 1021104 0 4.2BSD 0 0 0 # (Cyl. 0 - 1012) ## wd0s1: msdos ## wd0s2e: /usr/local/src ufs rw ## ## Note: drive will be probed for 32bit transfers. Multi-sector transfers ## will be allowed up to the maximum supported by the drive. ##disk wd0 at wdc0 drive 0 #sio0 irq's 3,(4) device sio0 at isa? port "IO_COM1" tty irq 4 vector siointr #serial mouse; fifo disabled #sio1 irq's (3),4 device sio1 at isa? port "IO_COM2" tty flags 0x02 irq 3 vector siointr #sio2 irq's 3,4,5,9,(10),11 device sio2 at isa? port "IO_COM3" tty irq 10 vector siointr #modem; Supra 28.8 (v.FC) #sio3 irq's 3,4,5,(9),12,15 device sio3 at isa? port "IO_COM4" tty irq 9 vector siointr #lpt0 irq's 5,(7) device lpt0 at isa? port? tty irq 7 vector lptintr #lpt1 irq's 5,7 device lpt1 at isa? port? tty device joy0 at isa? port "IO_GAME" ## End Quickpath Port-Folio ############################################################################## ## Card: 3Com 3C503 ## 16 bit Ethernet controller. ## ############################################################################## #ed0 irq's ??? #ed0 address 02:60:8c:dd:dc:4a device ed0 at isa? port 0x280 net irq 5 iomem 0xd8000 vector edintr ## End 3Com 3C-503 ############################################################################## ## Card: Gravis UltraSound ## Sound card ## Note: Has 256Kb memory on board ############################################################################## # If you have a GUS-MAX card and want to use the CS4231 codec on the # card the drqs for the gus max must be 8 bit (1, 2, or 3). # # If you would like to use the full duplex option on the gus, then define # flags to be the ``read dma channel''. # controller snd0 #gus0 irq's 2,3,5,7,11,12,(15) #gus0/MIDI irq's 2,3,5,7,11,12,15 #device gus0 at isa? port 0x220 irq 15 drq 1 vector gusintr device gus0 at isa? port 0x220 irq 15 drq 1 flags 0x3 vector gusintr ## End Gravis UltraSound # IRQ's #device 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 #sio0 ( ) X #sio1 X ( ) #sio2 ( ) . ( ) ( ) x ( ) #sio3 . ( ) ( ) x ( ) ( ) #lpt0 ( ) X #lpt1 . ( ) #wdc0 X # #fdc0 X #bt0 X # #gus0 ( ) ( ) ( ) ( ) ( ) ( ) x #gus0/MIDI ( ) ( ) ( ) . ( ) x ( ) # #sc0 X # #ed0 ( ) . ( ) x # Misc notes: # Printer Ribbons: # Ribbon's Inc. (in TX.) # 800/742-2661 -or- 602/241-9431 # $10.95 each T.T.F.N., Dave Truesdell Wombat Wrestler/Software Packrat/NAS Newsmaster (truesdel@nas.nasa.gov)