From owner-freebsd-stable@FreeBSD.ORG Mon Apr 3 22:24:47 2006 Return-Path: X-Original-To: freebsd-stable@freebsd.org Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 37D3C16A422 for ; Mon, 3 Apr 2006 22:24:47 +0000 (UTC) (envelope-from jonas.bulow@servicefactory.se) Received: from ark.servicefactory.se (ark.servicefactory.se [217.13.255.29]) by mx1.FreeBSD.org (Postfix) with ESMTP id 81A2E43D49 for ; Mon, 3 Apr 2006 22:24:43 +0000 (GMT) (envelope-from jonas.bulow@servicefactory.se) Received: from [127.0.0.1] (ark.servicefactory.se [217.13.255.29]) by ark.servicefactory.se (8.12.11/8.12.10) with ESMTP id k33MOd1x060732; Tue, 4 Apr 2006 00:24:40 +0200 (CEST) (envelope-from jonas.bulow@servicefactory.se) Message-ID: <4431A0A3.50604@servicefactory.se> Date: Tue, 04 Apr 2006 00:24:35 +0200 From: =?ISO-8859-1?Q?Jonas_B=FClow?= Organization: Service Factory User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.8.0.1) Gecko/20060317 SeaMonkey/1.0 MIME-Version: 1.0 To: freebsd-stable@freebsd.org Content-Type: multipart/mixed; boundary="------------090106080507030408040602" X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Subject: Issues with nullconsole in FreeBSD 6.0-p6 X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2006 22:24:47 -0000 This is a multi-part message in MIME format. --------------090106080507030408040602 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit I'm experiencing a really strange problem using nullconsole in FreeBSD 6.0-p6. Briefly, what happens is that the use of nullconsole affects the behavior of the OS negatively, very negatively. There are two different setups with different kernel configurations. They both have console set to nullconsole in loader.conf. In the first setup the machine reboots spontaneously somewhere during boot without leaving a hint of the reason. In the other setup there is a fsck process (fsck_4.2bsd) crashing with signal 8 (floating point exception) during boot. The fsck is run on an auxiliary disk during startup. Both these problems goes away if console is set to either vidconsole or comconsole in loader.conf. Adding DDB to the kernel configuration prevents to machine from continuously rebooting in the first setup. Instead, it silently halts somewhere in the boot process. Not easy telling where. It's seems to be somewhere late in the process. Probably when running rc.d scripts by observing the time before reboot compared to when using vidconsole or comconsole. I've tried to debug the problem. I've not figured out how to remotely debug a kernel when using nullconsole. The escape to debugger hot keys (Ctrl+Alt+Esc or Ctrl+SysReq) does not work when using nullconsole. Therefor it is not possible to switch to remote mode. Can DDB be force to go directly into remote mode? I really understand it is impossible to give a simple answer or solution to my problems described above. Well, if someone knows a solution I wouldn't mind sharing it. What I really would like help with is some input on how to debug this further. What to look for, things to try etc. A condensed form (comments removed) of the kernel configuration for the first setup (the one that reboots during boot when nullconsole is set in loader.conf) is inserted below: machine i386 cpu I586_CPU cpu I686_CPU ident MYKERNEL options SCHED_4BSD #4BSD scheduler options INET #InterNETworking options FFS #Berkeley Fast Filesystem options SOFTUPDATES #Enable FFS soft updates support options UFS_DIRHASH # Improve performance on big directories options MD_ROOT #MD is a potential root device options MD_ROOT_SIZE=2048 options CD9660 #ISO 9660 Filesystem options COMPAT_43 # Compatible with BSD 4.3 [KEEP THIS!] options KTRACE #ktrace(1) support options SYSVSHM #SYSV-style shared memory options SYSVMSG #SYSV-style message queues options SYSVSEM #SYSV-style semaphores options _KPOSIX_PRIORITY_SCHEDULING options KBD_INSTALL_CDEV # install a CDEV entry in /dev options ADAPTIVE_GIANT # Giant mutex is adaptive. device acpi # ACPI device apic # I/O APIC device eisa device pci device ata device atadisk # ATA disk drives device ataraid device atapicd options ATA_STATIC_ID #Static device numbering device ahb # EISA AHA1742 family device ahc # AHA2940 and onboard AIC7xxx devices device ahd # AHA39320/29320 and onboard AIC79xx devices device amd # AMD 53C974 (Tekram DC-390(T)) device isp # Qlogic family device mpt # LSI-Logic MPT-Fusion device sym # NCR/Symbios Logic (newer chipsets + those of `ncr') device trm # Tekram DC395U/UW/F DC315U adapters device adv # Advansys SCSI adapters device adw # Advansys wide SCSI adapters device aha # Adaptec 154x SCSI adapters device aic # Adaptec 15[012]x SCSI adapters, AIC-6[23]60. device bt # Buslogic/Mylex MultiMaster SCSI adapters device ncv # NCR 53C500 device nsp # Workbit Ninja SCSI-3 device stg # TMC 18C30/18C50 device scbus # SCSI bus (required for SCSI) device ch # SCSI media changers device da # Direct Access (disks) device cd # CD device pass # Passthrough device (direct SCSI access) device amr # AMI MegaRAID device ciss # Compaq Smart RAID 5* device ida # Compaq Smart RAID device atkbdc # AT keyboard controller device atkbd # AT keyboard device vga device sc device sio device loop # Network loopback device random # Entropy device device ether # Ethernet support device pty # Pseudo-ttys (telnet etc) device md # Memory "disks" device bpf # Berkeley packet filter device uhci # UHCI PCI->USB interface device ohci # OHCI PCI->USB interface device ehci # EHCI PCI->USB interface (USB 2.0) device usb # USB Bus (required) device ugen # Generic device uhid # "Human Interface Devices" device ukbd # Keyboard device umass # Disks/Mass storage - Requires scbus and da options SCSI_NO_OP_STRINGS options SCSI_NO_SENSE_STRINGS Here is device.hints: (I've changed sio.0.flags to 0x90 trying to do remote kernel debug) hint.fdc.0.at="isa" hint.fdc.0.port="0x3F0" hint.fdc.0.irq="6" hint.fdc.0.drq="2" hint.fd.0.at="fdc0" hint.fd.0.drive="0" hint.fd.1.at="fdc0" hint.fd.1.drive="1" hint.ata.0.at="isa" hint.ata.0.port="0x1F0" hint.ata.0.irq="14" hint.ata.1.at="isa" hint.ata.1.port="0x170" hint.ata.1.irq="15" hint.adv.0.at="isa" hint.adv.0.disabled="1" hint.bt.0.at="isa" hint.bt.0.disabled="1" hint.aha.0.at="isa" hint.aha.0.disabled="1" hint.aic.0.at="isa" hint.aic.0.disabled="1" hint.atkbdc.0.at="isa" hint.atkbdc.0.port="0x060" hint.atkbd.0.at="atkbdc" hint.atkbd.0.irq="1" hint.psm.0.at="atkbdc" hint.psm.0.irq="12" hint.vga.0.at="isa" hint.sc.0.at="isa" hint.sc.0.flags="0x100" hint.vt.0.at="isa" hint.vt.0.disabled="1" hint.apm.0.disabled="1" hint.apm.0.flags="0x20" hint.sio.0.at="isa" hint.sio.0.port="0x3F8" hint.sio.0.flags="0x90" hint.sio.0.irq="4" hint.sio.1.at="isa" hint.sio.1.port="0x2F8" hint.sio.1.irq="3" hint.sio.2.at="isa" hint.sio.2.disabled="1" hint.sio.2.port="0x3E8" hint.sio.2.irq="5" hint.sio.3.at="isa" hint.sio.3.disabled="1" hint.sio.3.port="0x2E8" hint.sio.3.irq="9" hint.ppc.0.at="isa" hint.ppc.0.irq="7" hint.ed.0.at="isa" hint.ed.0.disabled="1" hint.ed.0.port="0x280" hint.ed.0.irq="10" hint.ed.0.maddr="0xd8000" hint.cs.0.at="isa" hint.cs.0.disabled="1" hint.cs.0.port="0x300" hint.sn.0.at="isa" hint.sn.0.disabled="1" hint.sn.0.port="0x300" hint.sn.0.irq="10" hint.ie.0.at="isa" hint.ie.0.disabled="1" hint.ie.0.port="0x300" hint.ie.0.irq="10" hint.ie.0.maddr="0xd0000" hint.fe.0.at="isa" hint.fe.0.disabled="1" hint.fe.0.port="0x300" hint.lnc.0.at="isa" hint.lnc.0.disabled="1" hint.lnc.0.port="0x280" hint.lnc.0.irq="10" hint.lnc.0.drq="0" loader.conf looks like: console="nullconsole" beastie_disable="YES" autoboot_delay="0" kern.maxfiles=2000 --------------090106080507030408040602--