[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference clt::vax_basic

Title:Discussions on VAX BASIC
Notice:See Topic 1779 for latest kit info
Moderator:EPS::VANDENHEUVEL
Created:Sat Jan 25 1986
Last Modified:Tue May 13 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:1798
Total number of notes:7362

1787.0. "hardware error on multiply" by FSCORE::R_KROEKER () Wed Feb 05 1997 14:39

10
!
! The following program is an extract of a module that has been at the heart ofour billing 
!  application for many years.
!
! I am getting the following runtime error recently (the program may have only been recently 
!     compiled under the BASIC 3.7 compiler. We are on VMS 6.1)
!
! Following is output when compiled with debug
!
!>>%SYSTEM-F-MCHECK, detected hardware error, PC=000006E4, PSL=0BC000AE
!>>%TRACE-F-TRACEBACK, symbolic stack dump follows
!>>module name     routine name                     line       rel PC    abs PC
!>>
!>>                                                           000372AA  000372AA
!>>----- above condition handler called with exception 000002BC:
!>>%SYSTEM-F-MCHECK, detected hardware error, PC=000006E4, PSL=0BC000AE
!>>----- end of exception message
!>>OVF$MAIN        OVF$MAIN                           29      000000E4  000006E4
!
!
!  Following is dump (not compiled with debug)
!
!>>%SYSTEM-F-MCHECK, detected hardware error, PC=000006DF, PSL=0BC000AE
!>>
!>>  Improperly handled condition, image exit forced.
!>>
!>>        Signal arguments              Stack contents
!>>
!>>        Number = 00000005                001682A4
!>>        Name   = 000002BC                0016829C
!>>              000006DF           001682C4
!>>              0BC000AE           00000494
!>>              000372AA           00000484
!>>              03C00000           0000048C
!>>                         0000047C
!>>                         001682BC
!>>                         00168294
!>>                         0000000C
!>>
!>>        Register dump
!>>
!>>        R0 = 00000000  R1 = 7FE2C4EC  R2 = 00000000  R3 = 000000C2
!>>        R4 = 00000000  R5 = 00000000  R6 = 00000003  R7 = 00000004
!>>        R8 = 7FE2C590  R9 = 00000001  R10= 00000000  R11= 00000001
!>>        AP = 7FE2C3DC  FP = 7FE2C39C  SP = 7FE2C418  PC = 000372AA
!>>        PSL= 03C00000
!>>
!
!
!
!================================================================================
! Questions:
!
! 1) Is there something obvious that I am doing wrong ? It had worked for years?
!     In this scenario, we had an adjustment that happens to have a value of 0.
!
! 2) Anybody have a quick solution or can point me to a possible solution ?
!
! 3) Would it fail under earlier versions of the compiler?
!
! 4) FWIW, when I set the variable adj_value_d to 1.00, it worked as expected.
!
! 5) Note for historic reasons we compile with /OLD_VERSION = CDD_ARRAYS
!
!================================================================================

	option type = explicit, &
	    active = decimal rounding


	declare string sign_s

	declare decimal(15,2) current_base_value_d, &
				adj_value_d, &
				od_adj_value_d, &
	decimal (15,4)          percentage_d

	declare decimal(15,2) one_hundred

	! Simple little percentage calculation
main:
	! hard code the values that were causing it to fail
	sign_s = "+"
	one_hundred = d"100.0"
	adj_value_d = 0.00
	current_base_value_d = 1067.00

	percentage_d =  adj_value_d / one_hundred

	percentage_d = percentage_d * -1%  if sign_s = "-"  ! can be discount or uplift

	od_adj_value_d =  percentage_d * current_base_value_d


	end

T.RTitleUserPersonal
Name
DateLines
1787.1Call field service ?TLE::HAYNESThu Feb 06 1997 11:4711
	It works for me.  I tried compiling with all combinations of
	/DEBUG and /OLD_VERSION=CDD_ARRAYS with both the V3.6 and V3.8
	compilers on OpenVMS V6.2.  I know none of those is exactly
	what you have, but it does kind of bracket it.

	On looking up the error message, I'm led to believe that your
	machine has hardware problems.  Maybe field service should be
	called?

Peter
1787.2old libraryFSCORE::R_KROEKERThu Feb 06 1997 16:137
    Hi Peter,
    	Thanks for the quick reply. 
    	The problem was out of date libraries, specifically LIBRTL.
    	The system manager should have a solution shortly.
    
    Thanks again,
    Richard