Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
29235 Discussions

forrtl: severe (180): SIGBUS, bus error occurred

dario_bercioux
Beginner
2,129 Views
I have installed the intel fortran 9.1.024 on a Power Mac Pro with Intel Core Duo processor. I also have source code of NAG 19 fortran library coming from an old Alpha computer that I have compiled on this Mac computer using Intel Fortran.

Now I an using this routine F02FAF (http://www.nag.co.uk/numeric/fl/manual19/pdf/F02/f02faf_fl19.pdf) that is noting else than a LAPACK routine. After the compilation of the code
I have the following message error:

forrtl: severe (180): SIGBUS, bus error occurred

It is important to mark, that the same program was working of my old laptop with a former version of the intel compiler and a linux distribution.

Dario

0 Kudos
2 Replies
TimP
Honored Contributor III
2,129 Views
This could require some detailed debugging. Among the possibilities are that the Core Duo fails immediately on faulty code which appears to run OK on other processors. I spent the time of several people on such a situation, where an array over-run clobbered the stack. The code ran to apparently satisfactory completion on an earlier model, yet the use of a clobbered address produced immediate failure on the newer CPU. In my case, the error could have been caught by IMPLICIT NONE, or by run-time checking of string and array length.
0 Kudos
Ron_Green
Moderator
2,129 Views

There are a couple of possibilites, which Wikipedia does a nice job of collecting:

Computer programs may throw SIGBUS for improper memory handling:

invalid address alignment the program has attempted to read or write data that does not fit the CPU's memory alignment rules. non-existent physical address this is equivalent to a segmentation fault, but for a physical address rather than a virtual address. object-specific hardware error this is far less common, however it is present in Solaris, when virtual memory pages have disappeared (e.g. accessing an mmaped file which has been truncated. [1])

What options did you use to build your application AND the NAG library? Particularly, did you use -align? and what -O optimization did you use? And just to be sure, you did you use Intel for compiling the NAG library and your application? and both were built on the Mac?

I think it's good advice to try "-g -checkbounds -traceback" on the compile+build along with your optimization. Then, of course, build it with -O0 -g -check bounds -traceback

As for the last 2 possibilities listed by Wikipedia, the non-exisitent physical memory can only happen if you have a flakey memory DIMM. The last possibilty: I have seen bus errors RARELY with a bad CPU or the seating of the CPU. That is very very rare, though. Just for a sanity check, find a system exerciser - perhaps a LINPACK or some other memory/cpu intensive app and run it for a day to stress the system.

If all this fails to isolate the problem,open a problem report on premier.intel.com

good hunting!

ron

0 Kudos
Reply