HP OpenVMS Systemsask the wizard |
The Question is:
DEC BASIC V1.3-000 (ident from linker map)
Code fragment from small BASIC FUNCTION...
DECLARE INTEGER II
DECLARE INTEGER JJ
DECLARE INTEGER MATCHED
DECLARE STRING NAMBITS(1 TO 6)
DECLARE STRING TMP
NAMBITS(1)="TEST"
When compiling with:
bas/opt=LEVEL=2 SUB_MATCH_TRUSTEES.BAS
where LEVEL is 2 or higher the following INFORMATIONAL messages are issued a
number of times:
NAMBITS(1)="TEST"
%BASIC-I-UNINIT, variable is fetched, not initialized
at line number 59 in file
TRU$DEVICE_LIBRARY_SCR:[AC.BOOT.RLS]SUB_MATCH_TRUSTEES.BAS;37
Executable created from the object ACCVIOs in BASRTL:
%BAS-F-MEMMANVIO, Memory management violation
-BAS-I-USEPC_PSL, at user PC=808DD5DC, PSL=0000001B
-SYSTEM-F-ACCVIO, access violation, reason mask=00, virtual
address=000000007AD07333, PC=FFFFFFFF808DD5DC, PS=0000001B
-BAS-I-FROFUN, In external function SUB_MATCH_TRUSTEES
-BAS-I-FROFUN, In external function SUB_SUPER_TRUSTEE_COMPARE
%TRACE-F-TRACEBACK, symbolic stack dump follows
image module routine line rel PC abs PC
0 FFFFFFFF80888A44 FFFFFFFF80888A44
DEC$BASRTL 0 000000000000E5D8 000000007C05C5D8
----- above condition handler called with exception 0000000C:
%SYSTEM-F-ACCVIO, access violation, reason mask=00, virtual
address=000000007AD07333, PC=FFFFFFFF808DD5DC, PS=0000001B
----- end of exception message
0 FFFFFFFF800C9CCC FFFFFFFF800C9CCC
0 FFFFFFFF808DD5DC FFFFFFFF808DD5DC
BAT_BOOT_PARTY SUB_MATCH_TRUSTEES SUB_MATCH_TRUSTEES
72 000000000000017C 00000000000A0FBC
BAT_BOOT_PARTY SUB_SUPER_TRUSTEE_COMPARE SUB_SUPER_TRUSTEE_COMPARE
114 00000000000003F8 000000000008F468
BAT_BOOT_PARTY SUB_BOOT_PARTY SUB_BOOT_PARTY
10531 0000000000016A30 000000000007E470
BAT_BOOT_PARTY 0 00000000000557C4 00000000000657C4
BAT_BOOT_PARTY 0 0000000000098C60 00000000000A8C60
0 FFFFFFFF8028F59C FFFFFFFF8028F59C
(1) The 'error' seems to make absolutely no sense.
(2) Rearranging code can move the 'error' line but it always seems associated
with a reference to the string array.
(3) Compiling /NOOPT results in a correctly functioning program.
Any idea what's going on???
Many thanks in advance.
andrew
The Answer is : Please upgrade your BASIC compiler to a more current release. As should be obvious, this appears to be a bug within the compiler. As the compiler involved is far from current, an upgrade is strongly encouraged. This appears to be similar to a known issue that was reported and subsequently resolved roughly five years ago, and specifically with an ECO update (BASAE01013) to V1.3. Please do not search for this ECO, as the V1.3 compiler and this ECO are no longer current; the current BASIC compiler version (as of this writing) is V1.5, and that version includes the BASAE01013 changes.
|