Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 28 Oct 1995 11:03:01 -0700
From:      Steven Wallace <swallace@ece.uci.edu>
To:        stable@freebsd.org
Cc:        bugs@freebsd.org
Subject:   probs with latest stable snap
Message-ID:  <199510281803.LAA12313@newport.ece.uci.edu>

next in thread | raw e-mail | index | archive | help

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



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