From owner-freebsd-stable Sat Oct 28 11:03:09 1995 Return-Path: owner-stable Received: (from root@localhost) by freefall.freebsd.org (8.6.12/8.6.6) id LAA02690 for stable-outgoing; Sat, 28 Oct 1995 11:03:09 -0700 Received: from meter.eng.uci.edu (root@meter.eng.uci.edu [128.200.85.3]) by freefall.freebsd.org (8.6.12/8.6.6) with ESMTP id LAA02685 ; Sat, 28 Oct 1995 11:03:06 -0700 Received: from newport.ece.uci.edu by meter.eng.uci.edu (8.7) id LAA07003; Sat, 28 Oct 1995 11:03:03 -0700 (PDT) Received: from localhost by newport.ece.uci.edu (8.7) id LAA12313; Sat, 28 Oct 1995 11:03:02 -0700 (PDT) Message-Id: <199510281803.LAA12313@newport.ece.uci.edu> To: stable@freebsd.org cc: bugs@freebsd.org Subject: probs with latest stable snap Date: Sat, 28 Oct 1995 11:03:01 -0700 From: Steven Wallace Sender: owner-stable@freebsd.org Precedence: bulk I installed the latest snapshot and have some probs: First, when installing, I tried to create two freebsd partitions on the same drive. When it tried to format the partitions, I got "/dev/rsd0s1a: 'a' partition is unavailable" I deleted one partition and was able to continue installing on the other. Another problem I have is running 'xclock'. I get this message: "Warning: Select failed; error code 22", which repeats indefinitely. This is from the xclock distributed on the 2.0.5 cdrom. Also, this morning I woke up to found my computer had rebooted itself and it was in a continuous reboot loop with this panic: (no problems like this in -current) fatal trap 18: integer divide fault while in kernel mode ip = 0x8:0xf019b10b, "pentium_microtime" code segment base 0x0, limit 0xfff type 0x1b, DPL0, press 1, defs 1, gran 1 proc eflags = resume, IOPL = 0 cp = 0 (swapper) i mask = net tty bio Ahh! I have traced it to line 180 of microtime.s: divl %ecx # get value in usec Hmmm, it appears the code checks for pentium_mhz != 0, so it could not be div by 0. However, I looked up div, and it says, "If the dividend is 0 or if the quotient is too large to fit in the result accumulator, a divide error fault (interrupt 0) occurs. So, if the pentium cycle count is > 2^59, then on my 90 MHz pentium (correctly reported), the fault will occur. I do not know what originally caused the first panic, but it appears it put the pentium clock count to a large number. Then it rebooted and gets into a panic div 0 loop. I noticed that after I hit reset, then it booted up just fine (resetting the counter?). I noticed in -current code it has a i586_ctr_bias long long which gets initialized and subtracts the cycle count before the division in microtime.s. I think something like this should be put into -stable to prevent this panic. Steven