Subject: port-i386/1912: NetBSD 1.1 SIGBUS's on every executable after boot on old 386
To: None <gnats-bugs@gnats.netbsd.org>
From: Ken Hornstein <kenh@excalibur.cmf.nrl.navy.mil>
List: netbsd-bugs
Date: 01/07/1996 20:59:52
>Number:         1912
>Category:       port-i386
>Synopsis:       NetBSD 1.1 SIGBUS's on every executable after boot on old 386
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    gnats-admin (GNATS administrator)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Jan  7 21:20:06 1996
>Last-Modified:
>Originator:     Ken Hornstein
>Organization:
	
>Release:        1.1
>Environment:
	Leading edge 386/16, math coprocessor, 8Mb RAM
	
>Description:
For some reason, the old 386 I have here makes every process die with a SIGBUS
at boot (randomly), starting with init.

It doesn't happen in the same place every time.  Sometime init runs far enough
to start up /bin/sh (which also dies with a SIGBUS eventually).  A bunch of
debugging code compiled into init revealed that it died in random spots.
I spent a while trying to track it down, but I couldn't do anything to make
it always die in the same spot - it was truely random.

This machine ran 1.0 fine.  I tracked -current on it for a while, and it
started doing this right when all the 386 changed for VM86 support were rolled
in around October.  I know other people are running NetBSD fine on 386's,
but I did talk with someone else who had the same problem, so I don't think
it's just this machine :-)  This same machine runs FreeBSD fine, so I don't
think it's a hardware problem.

I tried figuring out with DDB what the problem was, but I just don't know
enough about 386 internals and DDB :-(  I tried compiling kernels with various
stuff compiled in/taken out (including USER_LDT), but no go.
	
>How-To-Repeat:
	
Find one of these "evil" 386's - boot NetBSD 1.1 on it.
>Fix:
	
No idea.  I'm willing to work with anyone to get to the bottom of this.
>Audit-Trail:
>Unformatted: