I've recently switched some of my home systems to RELENG7. All seemed fairly well until I tried printing a CUPS test page on my backup and print server to an elderly Laserjet IIIp, where I seem to have a reproducible panic. It has happened twice. This is painful, as I have a big home fileystem (striped over two mirrors over most of two 500 GB disks). The gmirror syncronisation and background fsck leave the system close to unusable for hours while they fight over the disks. I was somewhat startled that something so basic as printing causes a panic. There have been no hardware changes since I last printed under RELENG6, but I don't print often, so hardware decay is a possibility. Is this a known problem? If not, I'll take the time to try various tests (with /home unmounted) and raise a PR. I envisage tests such as: * Does switching to a kernel without SMP and apic make a difference? * Does direct output cause a crash? * Does polling make a difference? * Does the parallel port mode (I think extended at present) make a difference? Some detail below. Throwaway comment: On my workstation I find that a GENERIC - SMP - apic + SCHED_ULE kernel is MUCH more responsive during buildworld than a GENERIC kernel. console / dmesg ============== lpt0: [GIANT-LOCKED] lpt0: [ITHREAD] lpt0: [GIANT-LOCKED] lpt0: [ITHREAD] Fatal trap 30: reserved (unknown) fault while in kernel mode cpuid = 0; apic id = 00 instruction pointer = 0x20:0xc0a5747b stack pointer = 0x28:0xe67ea968 frame pointer = 0x28:0xe67ea96c code segment = base 0x0, limit 0xfffff, type 0x1b = DPL 0, pres 1, def32 1, gran 1 processor eflags = interrupt enabled, IOPL = 0 current process = 1421 (parallel) trap number = 30 panic: reserved (unknown) fault cpuid = 0 Uptime: 23m3s Physical memory: 1011 MB Dumping 168 MB: 153 137 121 105 89 73 57 41 25 9 Dump complete Which? ===== RELENG7 cvsupped and built in the late evening of Sunday 06/01/07 [root@rottcodd ~]# uname -a FreeBSD rottcodd.hanley.stade.co.uk 7.0-PRERELEASE FreeBSD 7.0-PRERELEASE #0: Sun Jan 6 23:33:45 GMT 2008 toor@steerpike.hanley.stade.co.uk:/usr/obj/usr/src/sys/GENERIC i386 kgdb === [root@rottcodd ~]# kgdb /boot/kernel/kernel.symbols /var/crash/vmcore.1 [GDB will not be able to debug user-mode threads: /usr/lib/libthread_db.so: Undefined symbol "ps_pglobal_lookup"] GNU gdb 6.1.1 [FreeBSD] Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-marcel-freebsd". Unread portion of the kernel message buffer: Fatal trap 30: reserved (unknown) fault while in kernel mode cpuid = 0; apic id = 00 instruction pointer = 0x20:0xc0a5747b stack pointer = 0x28:0xe67ea968 frame pointer = 0x28:0xe67ea96c code segment = base 0x0, limit 0xfffff, type 0x1b = DPL 0, pres 1, def32 1, gran 1 processor eflags = interrupt enabled, IOPL = 0 current process = 1421 (parallel) trap number = 30 panic: reserved (unknown) fault cpuid = 0 Uptime: 23m3s Physical memory: 1011 MB Dumping 168 MB: 153 137 121 105 89 73 57 41 25 9 #0 doadump () at pcpu.h:195 195 pcpu.h: No such file or directory. in pcpu.h (kgdb) where #0 doadump () at pcpu.h:195 #1 0xc0753f07 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:409 #2 0xc07541c9 in panic (fmt=Variable "fmt" is not available. ) at /usr/src/sys/kern/kern_shutdown.c:563 #3 0xc0a6737c in trap_fatal (frame=0xe67ea928, eva=0) at /usr/src/sys/i386/i386/trap.c:899 #4 0xc0a6813d in trap (frame=0xe67ea928) at /usr/src/sys/i386/i386/trap.c:686 #5 0xc0a4df4b in calltrap () at /usr/src/sys/i386/i386/exception.s:139 #6 0xc0a5747b in spinlock_exit () at cpufunc.h:365 #7 0xc0a53e20 in ioapic_program_intpin (intpin=0xc3f05d3c) at /usr/src/sys/i386/i386/io_apic.c:273 #8 0xc0a541b1 in ioapic_disable_intr (isrc=0xc3f05d3c) at /usr/src/sys/i386/i386/io_apic.c:375 #9 0xc0a530bc in intr_remove_handler (cookie=0xc47019c0) at /usr/src/sys/i386/i386/intr_machdep.c:208 #10 0xc0a5f1b1 in nexus_teardown_intr (dev=0xc3fc4a80, child=0xc4199980, r=0xc419d6c0, ih=0xc47019c0) at /usr/src/sys/i386/i386/nexus.c:498 #11 0xc0774942 in bus_generic_teardown_intr (dev=0xc3fc4180, child=0xc4199980, irq=0xc419d6c0, cookie=0xc47019c0) at bus_if.h:416 #12 0xc0774942 in bus_generic_teardown_intr (dev=0xc3f52d00, child=0xc4199980, irq=0xc419d6c0, cookie=0xc47019c0) at bus_if.h:416 #13 0xc0774942 in bus_generic_teardown_intr (dev=0xc403d600, child=0xc4199980, irq=0xc419d6c0, cookie=0xc47019c0) at bus_if.h:416 #14 0xc063653d in pci_teardown_intr (dev=0xc403d600, child=0xc4199980, irq=0xc419d6c0, cookie=0xc47019c0) at /usr/src/sys/dev/pci/pci.c:2866 #15 0xc0774942 in bus_generic_teardown_intr (dev=0xc403d500, child=0xc4199980, irq=0xc419d6c0, cookie=0xc47019c0) at bus_if.h:416 #16 0xc0a6c732 in isa_teardown_intr (bus=0xc416fe80, child=0xc4199980, r=0xc419d6c0, cookie=0xc47019c0) at bus_if.h:416 #17 0xc0648d41 in ppc_teardown_intr (bus=0xc419a400, child=0xc4199980, r=0xc419d6c0, ih=0xc47019c0) at bus_if.h:416 #18 0xc0645e2e in ppbus_teardown_intr (bus=0xc4199b80, child=0xc4199980, r=0xc419d6c0, ih=0xc47019c0) at bus_if.h:416 #19 0xc06468e3 in ppb_release_bus (bus=0xc4199b80, dev=0xc4199980) at bus_if.h:416 #20 0xc0642271 in lpt_release_ppbus (dev=0xc4199980) at /usr/src/sys/dev/ppbus/lpt.c:227 #21 0xc06430e5 in lptwrite (dev=0xc4156c00, uio=0xe67eac60, ioflag=0) at /usr/src/sys/dev/ppbus/lpt.c:826 #22 0xc07209ac in giant_write (dev=0xc4156c00, uio=0xe67eac60, ioflag=0) at /usr/src/sys/kern/kern_conf.c:373 #23 0xc06e9442 in devfs_write_f (fp=0xc507b2d0, uio=0xe67eac60, cred=0xc506d500, flags=0, td=0xc4a8f840) at /usr/src/sys/fs/devfs/devfs_vnops.c:1304 #24 0xc0786f87 in dofilewrite (td=0xc4a8f840, fd=5, fp=0xc507b2d0, auio=0xe67eac60, offset=-1, flags=0) at file.h:254 #25 0xc0787268 in kern_writev (td=0xc4a8f840, fd=5, auio=0xe67eac60) at /usr/src/sys/kern/sys_generic.c:401 #26 0xc07872df in write (td=0xc4a8f840, uap=0xe67eacfc) at /usr/src/sys/kern/sys_generic.c:317 #27 0xc0a67955 in syscall (frame=0xe67ead38) at /usr/src/sys/i386/i386/trap.c:1035 #28 0xc0a4dfb0 in Xint0x80_syscall () at /usr/src/sys/i386/i386/exception.s:196 #29 0x00000033 in ?? () Previous frame inner to this frame (corrupt stack?) (kgdb) quit dmesg.boot ========= Copyright (c) 1992-2008 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 is a registered trademark of The FreeBSD Foundation. FreeBSD 7.0-PRERELEASE #0: Sun Jan 6 23:33:45 GMT 2008 toor@steerpike.hanley.stade.co.uk:/usr/obj/usr/src/sys/GENERIC module_register: module g_label already exists! Module g_label failed to register: 17 Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: AMD Athlon(tm) XP 3200+ (2205.02-MHz 686-class CPU) Origin = "AuthenticAMD" Id = 0x6a0 Stepping = 0 Features=0x383fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE> AMD Features=0xc0400800<SYSCALL,MMX+,3DNow!+,3DNow!> real memory = 1073676288 (1023 MB) avail memory = 1037062144 (989 MB) ACPI APIC Table: <AMIINT VIA_K7 > ioapic0 <Version 0.3> irqs 0-23 on motherboard kbd1 at kbdmux0 ath_hal: 0.9.20.3 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413) hptrr: HPT RocketRAID controller driver v1.1 (Jan 6 2008 23:33:21) acpi0: <AMIINT VIA_K7> on motherboard acpi0: [ITHREAD] acpi0: Power Button (fixed) Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000 acpi_timer0: <24-bit timer at 3.579545MHz> port 0x808-0x80b on acpi0 cpu0: <ACPI CPU> on acpi0 acpi_button0: <Power Button> on acpi0 pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0 pci0: <ACPI PCI bus> on pcib0 agp0: <VIA 8377 (Apollo KT400/KT400A/KT600) host to PCI bridge> on hostb0 agp0: aperture size is 128M pcib1: <PCI-PCI bridge> at device 1.0 on pci0 pci1: <PCI bus> on pcib1 vgapci0: <VGA-compatible display> mem 0xde000000-0xdeffffff,0xc0000000-0xcfffffff irq 16 at device 0.0 on pci1 atapci0: <Promise PDC20268 UDMA100 controller> port 0xec00-0xec07,0xe800-0xe803,0xe400-0xe407,0xe000-0xe003,0xdc00-0xdc0f mem 0xdfffc000-0xdfffffff irq 16 at device 5.0 on pci0 atapci0: [ITHREAD] ata2: <ATA channel 0> on atapci0 ata2: [ITHREAD] ata3: <ATA channel 1> on atapci0 ata3: [ITHREAD] atapci1: <Promise PDC20269 UDMA133 controller> port 0xd800-0xd807,0xd400-0xd403,0xd000-0xd007,0xcc00-0xcc03,0xc800-0xc80f mem 0xdfff4000-0xdfff7fff irq 19 at device 7.0 on pci0 atapci1: [ITHREAD] ata4: <ATA channel 0> on atapci1 ata4: [ITHREAD] ata5: <ATA channel 1> on atapci1 ata5: [ITHREAD] bge0: <Broadcom NetXtreme Gigabit Ethernet Controller, ASIC rev. 0x3003> mem 0xdffb0000-0xdffbffff irq 18 at device 11.0 on pci0 miibus0: <MII bus> on bge0 brgphy0: <BCM5705 10/100/1000baseTX PHY> PHY 1 on miibus0 brgphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto bge0: Ethernet address: 00:0c:76:e9:64:ee bge0: [ITHREAD] fwohci0: <VIA Fire II (VT6306)> port 0xc400-0xc47f mem 0xdfff3800-0xdfff3fff irq 17 at device 14.0 on pci0 fwohci0: [FILTER] fwohci0: OHCI version 1.0 (ROM=1) fwohci0: No. of Isochronous channels is 8. fwohci0: EUI64 00:10:dc:00:00:5e:9f:42 fwohci0: Phy 1394a available S400, 3 ports. fwohci0: Link S400, max_rec 2048 bytes. firewire0: <IEEE1394(FireWire) bus> on fwohci0 fwe0: <Ethernet over FireWire> on firewire0 if_fwe0: Fake Ethernet address: 02:10:dc:5e:9f:42 fwe0: Ethernet address: 02:10:dc:5e:9f:42 fwip0: <IP over FireWire> on firewire0 fwip0: Firewire address: 00:10:dc:00:00:5e:9f:42 @ 0xfffe00000000, S400, maxrec 2048 sbp0: <SBP-2/SCSI over FireWire> on firewire0 dcons_crom0: <dcons configuration ROM> on firewire0 dcons_crom0: bus_addr 0x134c000 fwohci0: Initiate bus reset fwohci0: BUS reset fwohci0: node_id=0xc800ffc0, gen=1, CYCLEMASTER mode atapci2: <VIA 8237 UDMA133 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xfc00-0xfc0f at device 15.0 on pci0 ata0: <ATA channel 0> on atapci2 ata0: [ITHREAD] ata1: <ATA channel 1> on atapci2 ata1: [ITHREAD] uhci0: <VIA 83C572 USB controller> port 0xb400-0xb41f irq 21 at device 16.0 on pci0 uhci0: [GIANT-LOCKED] uhci0: [ITHREAD] usb0: <VIA 83C572 USB controller> on uhci0 usb0: USB revision 1.0 uhub0: <VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb0 uhub0: 2 ports with 2 removable, self powered uhci1: <VIA 83C572 USB controller> port 0xb800-0xb81f irq 21 at device 16.1 on pci0 uhci1: [GIANT-LOCKED] uhci1: [ITHREAD] usb1: <VIA 83C572 USB controller> on uhci1 usb1: USB revision 1.0 uhub1: <VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb1 uhub1: 2 ports with 2 removable, self powered uhci2: <VIA 83C572 USB controller> port 0xbc00-0xbc1f irq 21 at device 16.2 on pci0 uhci2: [GIANT-LOCKED] uhci2: [ITHREAD] usb2: <VIA 83C572 USB controller> on uhci2 usb2: USB revision 1.0 uhub2: <VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb2 uhub2: 2 ports with 2 removable, self powered uhci3: <VIA 83C572 USB controller> port 0xc000-0xc01f irq 21 at device 16.3 on pci0 uhci3: [GIANT-LOCKED] uhci3: [ITHREAD] usb3: <VIA 83C572 USB controller> on uhci3 usb3: USB revision 1.0 uhub3: <VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb3 uhub3: 2 ports with 2 removable, self powered ehci0: <VIA VT6202 USB 2.0 controller> mem 0xdfff3600-0xdfff36ff irq 21 at device 16.4 on pci0 ehci0: [GIANT-LOCKED] ehci0: [ITHREAD] usb4: EHCI version 1.0 usb4: companion controllers, 2 ports each: usb0 usb1 usb2 usb3 usb4: <VIA VT6202 USB 2.0 controller> on ehci0 usb4: USB revision 2.0 uhub4: <VIA EHCI root hub, class 9/0, rev 2.00/1.00, addr 1> on usb4 uhub4: 8 ports with 8 removable, self powered isab0: <PCI-ISA bridge> at device 17.0 on pci0 isa0: <ISA bus> on isab0 pci0: <multimedia, audio> at device 17.5 (no driver attached) acpi_button1: <Sleep Button> on acpi0 atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0 atkbd0: <AT Keyboard> irq 1 on atkbdc0 kbd0 at atkbd0 atkbd0: [GIANT-LOCKED] atkbd0: [ITHREAD] psm0: <PS/2 Mouse> irq 12 on atkbdc0 psm0: [GIANT-LOCKED] psm0: [ITHREAD] psm0: model Generic PS/2 mouse, device ID 0 fdc0: <floppy drive controller> port 0x3f2-0x3f3,0x3f4-0x3f5,0x3f7 irq 6 drq 2 on acpi0 fdc0: [FILTER] fd0: <1440-KB 3.5" drive> on fdc0 drive 0 sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0 sio0: type 16550A sio0: [FILTER] sio1: <16550A-compatible COM port> port 0x2f8-0x2ff irq 3 on acpi0 sio1: type 16550A sio1: [FILTER] pmtimer0 on isa0 orm0: <ISA Option ROMs> at iomem 0xc0000-0xcefff,0xcf000-0xd17ff,0xd1800-0xd3fff,0xd4000-0xd57ff pnpid ORM0000 on isa0 ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0 ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode ppc0: FIFO with 16/16/9 bytes threshold ppbus0: <Parallel port bus> on ppc0 plip0: <PLIP network interface> on ppbus0 lpt0: <Printer> on ppbus0 lpt0: Interrupt-driven port ppi0: <Parallel I/O> on ppbus0 ppc0: [GIANT-LOCKED] ppc0: [ITHREAD] sc0: <System console> at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 Timecounter "TSC" frequency 2205018060 Hz quality 800 Timecounters tick every 1.000 msec hptrr: no controller detected. firewire0: 1 nodes, maxhop <= 0, cable IRM = 0 (me) firewire0: bus manager 0 (me) The GEOM class LABEL is already loaded. acd0: DVDR <NEC DVD RW ND-3520A/1.04> at ata0-master UDMA33 ad4: 476940MB <WDC WD5000AAKB-22UKA0 07.01N01> at ata2-master UDMA100 ad6: 476940MB <WDC WD5000AAKB-22UKA0 07.01N01> at ata3-master UDMA100 ad8: 476940MB <WDC WD5000AAKB-22UKA0 07.01N01> at ata4-master UDMA100 ad10: 476940MB <WDC WD5000AAKB-22UKA0 07.01N01> at ata5-master UDMA100 GEOM_MIRROR: Device mirror/gmrcvar1 launched (2/2). GEOM_MIRROR: Device mirror/gmrcusr1 launched (2/2). GEOM_MIRROR: Device mirror/gmrcswp1 launched (2/2). GEOM_MIRROR: Device mirror/gmrchom1 launched (2/2). GEOM_MIRROR: Device mirror/gmrcroot launched (4/4). GEOM_MIRROR: Device mirror/gmrcvar2 launched (2/2). GEOM_MIRROR: Device mirror/gmrcusr2 launched (2/2). GEOM_MIRROR: Device mirror/gmrcswp2 launched (2/2). GEOM_MIRROR: Device mirror/gmrchom2 launched (2/2). GEOM_STRIPE: Device gsrcvar created (id=937835587). GEOM_STRIPE: Disk mirror/gmrcvar1 attached to gsrcvar. GEOM_STRIPE: Device gsrcusr created (id=533043218). GEOM_STRIPE: Disk mirror/gmrcusr1 attached to gsrcusr. GEOM_STRIPE: Device gsrcswp created (id=534629169). GEOM_STRIPE: Disk mirror/gmrcswp1 attached to gsrcswp. GEOM_STRIPE: Device gsrchom created (id=2161269149). GEOM_STRIPE: Disk mirror/gmrchom1 attached to gsrchom. GEOM_LABEL: Label for provider mirror/gmrcroot is ufs/rcroot. GEOM_STRIPE: Disk mirror/gmrcvar2 attached to gsrcvar. GEOM_STRIPE: Device gsrcvar activated. GEOM_STRIPE: Disk mirror/gmrcusr2 attached to gsrcusr. GEOM_STRIPE: Device gsrcusr activated. GEOM_STRIPE: Disk mirror/gmrcswp2 attached to gsrcswp. GEOM_STRIPE: Device gsrcswp activated. GEOM_STRIPE: Disk mirror/gmrchom2 attached to gsrchom. GEOM_STRIPE: Device gsrchom activated. GEOM_LABEL: Label for provider stripe/gsrcvar is ufs/rcvar. GEOM_LABEL: Label for provider stripe/gsrcusr is ufs/rcusr. GEOM_LABEL: Label for provider stripe/gsrcswp is label/rcswap. GEOM_LABEL: Label for provider stripe/gsrchom is ufs/rchome. Trying to mount root from ufs:/dev/ufs/rcroot bge0: link state changed to UP -- Adrian Wontroba If it happens once, it's a bug. If it happens twice, it's a feature. If it happens more than twice, it's a design philosophy.
Adrian Wontroba wrote:> I've recently switched some of my home systems to RELENG7. > > All seemed fairly well until I tried printing a CUPS test page on my > backup and print server to an elderly Laserjet IIIp, where I seem to > have a reproducible panic. It has happened twice. This is painful, as > I have a big home fileystem (striped over two mirrors over most of two > 500 GB disks). The gmirror syncronisation and background fsck leave the > system close to unusable for hours while they fight over the disks. > > I was somewhat startled that something so basic as printing causes a > panic. There have been no hardware changes since I last printed under > RELENG6, but I don't print often, so hardware decay is a possibility. > > Is this a known problem? If not, I'll take the time to try various tests > (with /home unmounted) and raise a PR. > > I envisage tests such as: > * Does switching to a kernel without SMP and apic make a difference? > * Does direct output cause a crash? > * Does polling make a difference? > * Does the parallel port mode (I think extended at present) make a > difference? > > Some detail below. > > Throwaway comment: On my workstation I find that a GENERIC - SMP - apic > + SCHED_ULE kernel is MUCH more responsive during buildworld than a > GENERIC kernel. > > console / dmesg > ==============> > lpt0: [GIANT-LOCKED] > lpt0: [ITHREAD] > lpt0: [GIANT-LOCKED] > lpt0: [ITHREAD] > Fatal trap 30: reserved (unknown) fault while in kernel mode > cpuid = 0; apic id = 00 > instruction pointer = 0x20:0xc0a5747b > stack pointer = 0x28:0xe67ea968 > frame pointer = 0x28:0xe67ea96c > code segment = base 0x0, limit 0xfffff, type 0x1b > = DPL 0, pres 1, def32 1, gran 1 > processor eflags = interrupt enabled, IOPL = 0 > current process = 1421 (parallel) > trap number = 30 > panic: reserved (unknown) fault > cpuid = 0 > Uptime: 23m3s > Physical memory: 1011 MB > Dumping 168 MB: 153 137 121 105 89 73 57 41 25 9 > Dump complete > > Which? > =====> > RELENG7 cvsupped and built in the late evening of Sunday 06/01/07 > > [root@rottcodd ~]# uname -a > FreeBSD rottcodd.hanley.stade.co.uk 7.0-PRERELEASE FreeBSD 7.0-PRERELEASE #0: Sun Jan 6 23:33:45 GMT 2008 toor@steerpike.hanley.stade.co.uk:/usr/obj/usr/src/sys/GENERIC i386 > > kgdb > ===> > [root@rottcodd ~]# kgdb /boot/kernel/kernel.symbols /var/crash/vmcore.1 > [GDB will not be able to debug user-mode threads: /usr/lib/libthread_db.so: Undefined symbol "ps_pglobal_lookup"] > GNU gdb 6.1.1 [FreeBSD] > Copyright 2004 Free Software Foundation, Inc. > GDB is free software, covered by the GNU General Public License, and you are > welcome to change it and/or distribute copies of it under certain conditions. > Type "show copying" to see the conditions. > There is absolutely no warranty for GDB. Type "show warranty" for details. > This GDB was configured as "i386-marcel-freebsd". > > Unread portion of the kernel message buffer: > > > Fatal trap 30: reserved (unknown) fault while in kernel mode > cpuid = 0; apic id = 00 > instruction pointer = 0x20:0xc0a5747b > stack pointer = 0x28:0xe67ea968 > frame pointer = 0x28:0xe67ea96c > code segment = base 0x0, limit 0xfffff, type 0x1b > = DPL 0, pres 1, def32 1, gran 1 > processor eflags = interrupt enabled, IOPL = 0 > current process = 1421 (parallel) > trap number = 30 > panic: reserved (unknown) fault > cpuid = 0 > Uptime: 23m3s > Physical memory: 1011 MB > Dumping 168 MB: 153 137 121 105 89 73 57 41 25 9 > > #0 doadump () at pcpu.h:195 > 195 pcpu.h: No such file or directory. > in pcpu.h > (kgdb) where > #0 doadump () at pcpu.h:195 > #1 0xc0753f07 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:409 > #2 0xc07541c9 in panic (fmt=Variable "fmt" is not available. > ) at /usr/src/sys/kern/kern_shutdown.c:563 > #3 0xc0a6737c in trap_fatal (frame=0xe67ea928, eva=0) at /usr/src/sys/i386/i386/trap.c:899 > #4 0xc0a6813d in trap (frame=0xe67ea928) at /usr/src/sys/i386/i386/trap.c:686 > #5 0xc0a4df4b in calltrap () at /usr/src/sys/i386/i386/exception.s:139 > #6 0xc0a5747b in spinlock_exit () at cpufunc.h:365 > #7 0xc0a53e20 in ioapic_program_intpin (intpin=0xc3f05d3c) at /usr/src/sys/i386/i386/io_apic.c:273 > #8 0xc0a541b1 in ioapic_disable_intr (isrc=0xc3f05d3c) at /usr/src/sys/i386/i386/io_apic.c:375 > #9 0xc0a530bc in intr_remove_handler (cookie=0xc47019c0) at /usr/src/sys/i386/i386/intr_machdep.c:208 > #10 0xc0a5f1b1 in nexus_teardown_intr (dev=0xc3fc4a80, child=0xc4199980, r=0xc419d6c0, ih=0xc47019c0) > at /usr/src/sys/i386/i386/nexus.c:498 > #11 0xc0774942 in bus_generic_teardown_intr (dev=0xc3fc4180, child=0xc4199980, irq=0xc419d6c0, cookie=0xc47019c0) at bus_if.h:416 > #12 0xc0774942 in bus_generic_teardown_intr (dev=0xc3f52d00, child=0xc4199980, irq=0xc419d6c0, cookie=0xc47019c0) at bus_if.h:416 > #13 0xc0774942 in bus_generic_teardown_intr (dev=0xc403d600, child=0xc4199980, irq=0xc419d6c0, cookie=0xc47019c0) at bus_if.h:416 > #14 0xc063653d in pci_teardown_intr (dev=0xc403d600, child=0xc4199980, irq=0xc419d6c0, cookie=0xc47019c0) > at /usr/src/sys/dev/pci/pci.c:2866 > #15 0xc0774942 in bus_generic_teardown_intr (dev=0xc403d500, child=0xc4199980, irq=0xc419d6c0, cookie=0xc47019c0) at bus_if.h:416 > #16 0xc0a6c732 in isa_teardown_intr (bus=0xc416fe80, child=0xc4199980, r=0xc419d6c0, cookie=0xc47019c0) at bus_if.h:416 > #17 0xc0648d41 in ppc_teardown_intr (bus=0xc419a400, child=0xc4199980, r=0xc419d6c0, ih=0xc47019c0) at bus_if.h:416 > #18 0xc0645e2e in ppbus_teardown_intr (bus=0xc4199b80, child=0xc4199980, r=0xc419d6c0, ih=0xc47019c0) at bus_if.h:416 > #19 0xc06468e3 in ppb_release_bus (bus=0xc4199b80, dev=0xc4199980) at bus_if.h:416 > #20 0xc0642271 in lpt_release_ppbus (dev=0xc4199980) at /usr/src/sys/dev/ppbus/lpt.c:227 > #21 0xc06430e5 in lptwrite (dev=0xc4156c00, uio=0xe67eac60, ioflag=0) at /usr/src/sys/dev/ppbus/lpt.c:826 > #22 0xc07209ac in giant_write (dev=0xc4156c00, uio=0xe67eac60, ioflag=0) at /usr/src/sys/kern/kern_conf.c:373 > #23 0xc06e9442 in devfs_write_f (fp=0xc507b2d0, uio=0xe67eac60, cred=0xc506d500, flags=0, td=0xc4a8f840) > at /usr/src/sys/fs/devfs/devfs_vnops.c:1304 > #24 0xc0786f87 in dofilewrite (td=0xc4a8f840, fd=5, fp=0xc507b2d0, auio=0xe67eac60, offset=-1, flags=0) at file.h:254 > #25 0xc0787268 in kern_writev (td=0xc4a8f840, fd=5, auio=0xe67eac60) at /usr/src/sys/kern/sys_generic.c:401 > #26 0xc07872df in write (td=0xc4a8f840, uap=0xe67eacfc) at /usr/src/sys/kern/sys_generic.c:317 > #27 0xc0a67955 in syscall (frame=0xe67ead38) at /usr/src/sys/i386/i386/trap.c:1035 > #28 0xc0a4dfb0 in Xint0x80_syscall () at /usr/src/sys/i386/i386/exception.s:196 > #29 0x00000033 in ?? () > Previous frame inner to this frame (corrupt stack?) > (kgdb) quit > > dmesg.boot > =========> > Copyright (c) 1992-2008 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 is a registered trademark of The FreeBSD Foundation. > FreeBSD 7.0-PRERELEASE #0: Sun Jan 6 23:33:45 GMT 2008 > toor@steerpike.hanley.stade.co.uk:/usr/obj/usr/src/sys/GENERIC > module_register: module g_label already exists! > Module g_label failed to register: 17 > Timecounter "i8254" frequency 1193182 Hz quality 0 > CPU: AMD Athlon(tm) XP 3200+ (2205.02-MHz 686-class CPU) > Origin = "AuthenticAMD" Id = 0x6a0 Stepping = 0 > Features=0x383fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE> > AMD Features=0xc0400800<SYSCALL,MMX+,3DNow!+,3DNow!> > real memory = 1073676288 (1023 MB) > avail memory = 1037062144 (989 MB) > ACPI APIC Table: <AMIINT VIA_K7 > > ioapic0 <Version 0.3> irqs 0-23 on motherboard > kbd1 at kbdmux0 > ath_hal: 0.9.20.3 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413) > hptrr: HPT RocketRAID controller driver v1.1 (Jan 6 2008 23:33:21) > acpi0: <AMIINT VIA_K7> on motherboard > acpi0: [ITHREAD] > acpi0: Power Button (fixed) > Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000 > acpi_timer0: <24-bit timer at 3.579545MHz> port 0x808-0x80b on acpi0 > cpu0: <ACPI CPU> on acpi0 > acpi_button0: <Power Button> on acpi0 > pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0 > pci0: <ACPI PCI bus> on pcib0 > agp0: <VIA 8377 (Apollo KT400/KT400A/KT600) host to PCI bridge> on hostb0 > agp0: aperture size is 128M > pcib1: <PCI-PCI bridge> at device 1.0 on pci0 > pci1: <PCI bus> on pcib1 > vgapci0: <VGA-compatible display> mem 0xde000000-0xdeffffff,0xc0000000-0xcfffffff irq 16 at device 0.0 on pci1 > atapci0: <Promise PDC20268 UDMA100 controller> port 0xec00-0xec07,0xe800-0xe803,0xe400-0xe407,0xe000-0xe003,0xdc00-0xdc0f mem 0xdfffc000-0xdfffffff irq 16 at device 5.0 on pci0 > atapci0: [ITHREAD] > ata2: <ATA channel 0> on atapci0 > ata2: [ITHREAD] > ata3: <ATA channel 1> on atapci0 > ata3: [ITHREAD] > atapci1: <Promise PDC20269 UDMA133 controller> port 0xd800-0xd807,0xd400-0xd403,0xd000-0xd007,0xcc00-0xcc03,0xc800-0xc80f mem 0xdfff4000-0xdfff7fff irq 19 at device 7.0 on pci0 > atapci1: [ITHREAD] > ata4: <ATA channel 0> on atapci1 > ata4: [ITHREAD] > ata5: <ATA channel 1> on atapci1 > ata5: [ITHREAD] > bge0: <Broadcom NetXtreme Gigabit Ethernet Controller, ASIC rev. 0x3003> mem 0xdffb0000-0xdffbffff irq 18 at device 11.0 on pci0 > miibus0: <MII bus> on bge0 > brgphy0: <BCM5705 10/100/1000baseTX PHY> PHY 1 on miibus0 > brgphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto > bge0: Ethernet address: 00:0c:76:e9:64:ee > bge0: [ITHREAD] > fwohci0: <VIA Fire II (VT6306)> port 0xc400-0xc47f mem 0xdfff3800-0xdfff3fff irq 17 at device 14.0 on pci0 > fwohci0: [FILTER] > fwohci0: OHCI version 1.0 (ROM=1) > fwohci0: No. of Isochronous channels is 8. > fwohci0: EUI64 00:10:dc:00:00:5e:9f:42 > fwohci0: Phy 1394a available S400, 3 ports. > fwohci0: Link S400, max_rec 2048 bytes. > firewire0: <IEEE1394(FireWire) bus> on fwohci0 > fwe0: <Ethernet over FireWire> on firewire0 > if_fwe0: Fake Ethernet address: 02:10:dc:5e:9f:42 > fwe0: Ethernet address: 02:10:dc:5e:9f:42 > fwip0: <IP over FireWire> on firewire0 > fwip0: Firewire address: 00:10:dc:00:00:5e:9f:42 @ 0xfffe00000000, S400, maxrec 2048 > sbp0: <SBP-2/SCSI over FireWire> on firewire0 > dcons_crom0: <dcons configuration ROM> on firewire0 > dcons_crom0: bus_addr 0x134c000 > fwohci0: Initiate bus reset > fwohci0: BUS reset > fwohci0: node_id=0xc800ffc0, gen=1, CYCLEMASTER mode > atapci2: <VIA 8237 UDMA133 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xfc00-0xfc0f at device 15.0 on pci0 > ata0: <ATA channel 0> on atapci2 > ata0: [ITHREAD] > ata1: <ATA channel 1> on atapci2 > ata1: [ITHREAD] > uhci0: <VIA 83C572 USB controller> port 0xb400-0xb41f irq 21 at device 16.0 on pci0 > uhci0: [GIANT-LOCKED] > uhci0: [ITHREAD] > usb0: <VIA 83C572 USB controller> on uhci0 > usb0: USB revision 1.0 > uhub0: <VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb0 > uhub0: 2 ports with 2 removable, self powered > uhci1: <VIA 83C572 USB controller> port 0xb800-0xb81f irq 21 at device 16.1 on pci0 > uhci1: [GIANT-LOCKED] > uhci1: [ITHREAD] > usb1: <VIA 83C572 USB controller> on uhci1 > usb1: USB revision 1.0 > uhub1: <VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb1 > uhub1: 2 ports with 2 removable, self powered > uhci2: <VIA 83C572 USB controller> port 0xbc00-0xbc1f irq 21 at device 16.2 on pci0 > uhci2: [GIANT-LOCKED] > uhci2: [ITHREAD] > usb2: <VIA 83C572 USB controller> on uhci2 > usb2: USB revision 1.0 > uhub2: <VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb2 > uhub2: 2 ports with 2 removable, self powered > uhci3: <VIA 83C572 USB controller> port 0xc000-0xc01f irq 21 at device 16.3 on pci0 > uhci3: [GIANT-LOCKED] > uhci3: [ITHREAD] > usb3: <VIA 83C572 USB controller> on uhci3 > usb3: USB revision 1.0 > uhub3: <VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb3 > uhub3: 2 ports with 2 removable, self powered > ehci0: <VIA VT6202 USB 2.0 controller> mem 0xdfff3600-0xdfff36ff irq 21 at device 16.4 on pci0 > ehci0: [GIANT-LOCKED] > ehci0: [ITHREAD] > usb4: EHCI version 1.0 > usb4: companion controllers, 2 ports each: usb0 usb1 usb2 usb3 > usb4: <VIA VT6202 USB 2.0 controller> on ehci0 > usb4: USB revision 2.0 > uhub4: <VIA EHCI root hub, class 9/0, rev 2.00/1.00, addr 1> on usb4 > uhub4: 8 ports with 8 removable, self powered > isab0: <PCI-ISA bridge> at device 17.0 on pci0 > isa0: <ISA bus> on isab0 > pci0: <multimedia, audio> at device 17.5 (no driver attached) > acpi_button1: <Sleep Button> on acpi0 > atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0 > atkbd0: <AT Keyboard> irq 1 on atkbdc0 > kbd0 at atkbd0 > atkbd0: [GIANT-LOCKED] > atkbd0: [ITHREAD] > psm0: <PS/2 Mouse> irq 12 on atkbdc0 > psm0: [GIANT-LOCKED] > psm0: [ITHREAD] > psm0: model Generic PS/2 mouse, device ID 0 > fdc0: <floppy drive controller> port 0x3f2-0x3f3,0x3f4-0x3f5,0x3f7 irq 6 drq 2 on acpi0 > fdc0: [FILTER] > fd0: <1440-KB 3.5" drive> on fdc0 drive 0 > sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0 > sio0: type 16550A > sio0: [FILTER] > sio1: <16550A-compatible COM port> port 0x2f8-0x2ff irq 3 on acpi0 > sio1: type 16550A > sio1: [FILTER] > pmtimer0 on isa0 > orm0: <ISA Option ROMs> at iomem 0xc0000-0xcefff,0xcf000-0xd17ff,0xd1800-0xd3fff,0xd4000-0xd57ff pnpid ORM0000 on isa0 > ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0 > ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode > ppc0: FIFO with 16/16/9 bytes threshold > ppbus0: <Parallel port bus> on ppc0 > plip0: <PLIP network interface> on ppbus0 > lpt0: <Printer> on ppbus0 > lpt0: Interrupt-driven port > ppi0: <Parallel I/O> on ppbus0 > ppc0: [GIANT-LOCKED] > ppc0: [ITHREAD] > sc0: <System console> at flags 0x100 on isa0 > sc0: VGA <16 virtual consoles, flags=0x300> > vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 > Timecounter "TSC" frequency 2205018060 Hz quality 800 > Timecounters tick every 1.000 msec > hptrr: no controller detected. > firewire0: 1 nodes, maxhop <= 0, cable IRM = 0 (me) > firewire0: bus manager 0 (me) > The GEOM class LABEL is already loaded. > acd0: DVDR <NEC DVD RW ND-3520A/1.04> at ata0-master UDMA33 > ad4: 476940MB <WDC WD5000AAKB-22UKA0 07.01N01> at ata2-master UDMA100 > ad6: 476940MB <WDC WD5000AAKB-22UKA0 07.01N01> at ata3-master UDMA100 > ad8: 476940MB <WDC WD5000AAKB-22UKA0 07.01N01> at ata4-master UDMA100 > ad10: 476940MB <WDC WD5000AAKB-22UKA0 07.01N01> at ata5-master UDMA100 > GEOM_MIRROR: Device mirror/gmrcvar1 launched (2/2). > GEOM_MIRROR: Device mirror/gmrcusr1 launched (2/2). > GEOM_MIRROR: Device mirror/gmrcswp1 launched (2/2). > GEOM_MIRROR: Device mirror/gmrchom1 launched (2/2). > GEOM_MIRROR: Device mirror/gmrcroot launched (4/4). > GEOM_MIRROR: Device mirror/gmrcvar2 launched (2/2). > GEOM_MIRROR: Device mirror/gmrcusr2 launched (2/2). > GEOM_MIRROR: Device mirror/gmrcswp2 launched (2/2). > GEOM_MIRROR: Device mirror/gmrchom2 launched (2/2). > GEOM_STRIPE: Device gsrcvar created (id=937835587). > GEOM_STRIPE: Disk mirror/gmrcvar1 attached to gsrcvar. > GEOM_STRIPE: Device gsrcusr created (id=533043218). > GEOM_STRIPE: Disk mirror/gmrcusr1 attached to gsrcusr. > GEOM_STRIPE: Device gsrcswp created (id=534629169). > GEOM_STRIPE: Disk mirror/gmrcswp1 attached to gsrcswp. > GEOM_STRIPE: Device gsrchom created (id=2161269149). > GEOM_STRIPE: Disk mirror/gmrchom1 attached to gsrchom. > GEOM_LABEL: Label for provider mirror/gmrcroot is ufs/rcroot. > GEOM_STRIPE: Disk mirror/gmrcvar2 attached to gsrcvar. > GEOM_STRIPE: Device gsrcvar activated. > GEOM_STRIPE: Disk mirror/gmrcusr2 attached to gsrcusr. > GEOM_STRIPE: Device gsrcusr activated. > GEOM_STRIPE: Disk mirror/gmrcswp2 attached to gsrcswp. > GEOM_STRIPE: Device gsrcswp activated. > GEOM_STRIPE: Disk mirror/gmrchom2 attached to gsrchom. > GEOM_STRIPE: Device gsrchom activated. > GEOM_LABEL: Label for provider stripe/gsrcvar is ufs/rcvar. > GEOM_LABEL: Label for provider stripe/gsrcusr is ufs/rcusr. > GEOM_LABEL: Label for provider stripe/gsrcswp is label/rcswap. > GEOM_LABEL: Label for provider stripe/gsrchom is ufs/rchome. > Trying to mount root from ufs:/dev/ufs/rcroot > bge0: link state changed to UP >According to the Handbook, some HP printers don't like interrupt mode very much. I can't think of why this would have changed with 7, but if you change lpt0 to polling (lptcontrol -p) or extended (lptcontrol -e) mode do you still see panics? -Proto
On Monday 07 January 2008 10:08:57 pm Adrian Wontroba wrote:> I've recently switched some of my home systems to RELENG7. > > All seemed fairly well until I tried printing a CUPS test page on my > backup and print server to an elderly Laserjet IIIp, where I seem to > have a reproducible panic. It has happened twice. This is painful, as > I have a big home fileystem (striped over two mirrors over most of two > 500 GB disks). The gmirror syncronisation and background fsck leave the > system close to unusable for hours while they fight over the disks. > > I was somewhat startled that something so basic as printing causes a > panic. There have been no hardware changes since I last printed under > RELENG6, but I don't print often, so hardware decay is a possibility. > > Is this a known problem? If not, I'll take the time to try various tests > (with /home unmounted) and raise a PR. > > I envisage tests such as: > * Does switching to a kernel without SMP and apic make a difference? > * Does direct output cause a crash? > * Does polling make a difference? > * Does the parallel port mode (I think extended at present) make a > difference? > > Some detail below.This is a known issue and it has to do with some changes in the interrupt code in 7.x that interact badly with the lpt(4) driver (which tears down its interrupt handler and sets it back up again for each character, and the panic you see is because an interrupt came when it wasn't expecting it). The lpt(4) driver does this weird dance to allow coexisting with vpo so you can have lpd running and unplug your printer and plug up a Zip drive w/o having to stop lpd. I think the way I want to fix it is to change the lpt driver to not release the bus (and thus remove its interrupt handler) for every char but to keep the bus while /dev/lpt0 is open (which would be all the time with lpd running). -- John Baldwin
On Tue, Jan 08, 2008 at 03:08:57AM +0000, Adrian Wontroba wrote:> I've recently switched some of my home systems to RELENG7. > > All seemed fairly well until I tried printing a CUPS test page on my > backup and print server to an elderly Laserjet IIIp, where I seem to > have a reproducible panic. It has happened twice. This is painful, as > I have a big home fileystem (striped over two mirrors over most of two > 500 GB disks). The gmirror syncronisation and background fsck leave the > system close to unusable for hours while they fight over the disks. > > I was somewhat startled that something so basic as printing causes a > panic. There have been no hardware changes since I last printed under > RELENG6, but I don't print often, so hardware decay is a possibility. > > Is this a known problem? If not, I'll take the time to try various tests > (with /home unmounted) and raise a PR.There is a PR about this problem with workaround: http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/117973 Eugene Grosbein