[an error occurred while processing this directive]

HP OpenVMS Systems

ask the wizard
Content starts here

BASIC ACCVIO, Memory Management Violation?

» close window

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.
 
 

answer written or last revised on ( 24-NOV-2003 )

» close window