[comp.lang.ada] BUS ERROR

saharbaugh%roo.dnet@WINNIE.FIT.EDU (08/09/90)

From:	WINNIE::"MAILER-DAEMON" "Mail Delivery Subsystem"  9-AUG-1990 10:40:54.85
To:	<roo::saharbaugh> 
CC:	
Subj:	Returned mail: unknown mailer error 101 

   ----- Transcript of session follows -----
bad system name: ucivax
uux failed. code 101
554 <ucivax!gateway@ucbvax.Berkeley.edu>... unknown mailer error 101

   ----- Unsent message follows -----
Received: from ROO.DECnet MAIL11D_V3 by winnie.fit.edu (5.57/Ultrix2.4-C)
	id AA04506; Thu, 9 Aug 90 10:27:06 EDT
Date: Thu, 9 Aug 90 10:27:05 EDT
From: roo::saharbaugh
To: WINNIE::"ucivax!gateway@ucbvax.Berkeley.edu"
Cc: SAHARBAUGH
Subject: to Jose_Duarte, bus_error

We haven't experienced bus_error on our Sun 4 or Silicon Graphics
but we have in the past experienced them on a Masscomp running
Unix and Verdix compiler.  Our conclusion was that bus errors were
hardware problems and being reported by Unix and had nothing to
do with Ada.  We would sometimes get bus_error on boot-up when the
hardware was being tested by the ROM boot.
   So...our suggestion is to call a hardware maintenance person
to run diagnostics.  Hope this helps some.
regards, sam harbaugh
---------------------

saharbaugh%roo.dnet@WINNIE.FIT.EDU (08/10/90)

     Kathy Gilroy says that she has experienced "bus error" when using
access types sometimes and has found a preventative to be tp
use the keyword "all" when referencing components of the accessed
object.
     i.e., instead of referencing "object.component" reference
"object.all.component".
     A possible explanation is that the code
generator gets confused and generates an illegal bus address which
then is reported through the operating system to you as a "bus error".
     If anyone tries this please report the results, thanks.
sam harbaugh for kathy gilroy
-----------------------------

cpp@calmasd.Prime.COM (Chuck Peterson) (08/11/90)

I believe that "bus error" on an SGI indicates that an invalid memory
address was generated (e.g. an attempt to dereference an invalid C
pointer).

My opinion only. (Disclaimer.)

) (08/14/90)

Hi Everybody,

	I just wanted to post my findings on the BUS ERROR bug
that I recently battled with...I received the following responses
from people throughout the country. I would like to thank everyone
who responded and I would like to especially thank Sam Harbaugh and
Kathy Gilroy.  I tried Kathy's suggestion, and the program behaved
correctly in all trial tests except one.

Jose Duarte

------------------------------------------------------
From: Fred Hosch <fred@titan.tsd.arlut.utexas.edu>
Subject: bus error


Verdix reports "a deficiency in the Sun OS may cause a 'bus error' during
execution of VADS compiled code on 68030-based Sun hosts ... Sun intends to
fix this deficiency in the 4.1.1 release of Sun OS."  Since you're running
a Sun 4, I don't know if this applies.  At any rate, a patch exits for
Sun OS versions 4.0.3 and 4.1.  The bug ID is 1038670.  The patch can
be obtained from Sun (1-800-USA-4-SUN, or bulletin board 1-800-477-4768
with the login guest), or from Verdix (1-800-USE-VADS).

Fred Hosch
Applied Research Labs
UT Austin
fred@cs.utexas.edu


------------------------------------------------------
From: saharbaugh%roo.dnet@WINNIE.FIT.EDU
Subject: bus error
Date: 9 Aug 90 14:50:38 GMT


We haven't experienced bus_error on our Sun 4 or Silicon Graphics
but we have in the past experienced them on a Masscomp running
Unix and Verdix compiler.  Our conclusion was that bus errors were
hardware problems and being reported by Unix and had nothing to
do with Ada.  We would sometimes get bus_error on boot-up when the
hardware was being tested by the ROM boot.
   So...our suggestion is to call a hardware maintenance person
to run diagnostics.  Hope this helps some.
regards, sam harbaugh
------------------------------------------------------
From: cpp@calmasd.Prime.COM (Chuck Peterson)
Subject: Re: bus error
Organization: Calma - A Division of Prime Computers


I believe that "bus error" on an SGI indicates that an invalid memory
address was generated (e.g. an attempt to dereference an invalid C
pointer).

My opinion only. (Disclaimer.)
------------------------------------------------------
From: saharbaugh%roo.dnet@WINNIE.FIT.EDU
Subject: bus error


     Kathy Gilroy says that she has experienced "bus error" when using
access types sometimes and has found a preventative to be tp
use the keyword "all" when referencing components of the accessed
object.
     i.e., instead of referencing "object.component" reference
"object.all.component".
     A possible explanation is that the code
generator gets confused and generates an illegal bus address which
then is reported through the operating system to you as a "bus error".
     If anyone tries this please report the results, thanks.
sam harbaugh for kathy gilroy
------------------------------------------------------

Thanks again to everyone who responded !!!

saharbaugh%roo.dnet@WINNIE.FIT.EDU (08/16/90)

Since one trial test still fails Kathy Gilroy suggests 
disabling the optimizer (assuming it is on by default).  This has
sometimes helped clear problems with access types.  Let us know the results.
sam harbaugh for kathy gilroy
-----------------------------

) (08/28/90)

Hi Folks,

	A while ago, I asked for help with a BUS ERROR problem
that I was having when using pointers. Since then, I have
tried some of your suggestions & I posted the results a while
ago.  I resolved this problem by:

	1. Dereferencing the pointer variable explicitly.
	2. Using an older version of the Verdix Compiler.


	Thanks to all who replied & sent helpful suggestions.
Now that I compiled the program with Verdix 5.5, it's about
twice as slow *but* it doesn't stop w/"BUS ERROR" problems!

J Duarte