[Search for users]
[Overall Top Noters]
[List of all Conferences]
[Download this site]
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 11: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.R | Title | User | Personal Name | Date | Lines |
---|
1787.1 | Call field service ? | TLE::HAYNES | | Thu Feb 06 1997 08:47 | 11 |
|
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.2 | old library | FSCORE::R_KROEKER | | Thu Feb 06 1997 13:13 | 7 |
| 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
|