Operating System - OpenVMS
cancel
Showing results for 
Search instead for 
Did you mean: 

OpenVMS MMS/GENERATE fails on system includes

 
Jeff Rodgers
Occasional Visitor

OpenVMS MMS/GENERATE fails on system includes

On an old Alpha system I inherited, I get an ACCESS VIOLATION when generating a description file from a FORTRAN 77 source file. This only occurs if the source file has a system include such as: INCLUDE '($STRDEF)'. Is there a workaround for this?

Versions:
MMS V3.4-3
OpenVMS V7.2-1H1
Digital Fortran 77 V7.1-107
7 REPLIES 7
Steven Schweda
Honored Contributor

Re: OpenVMS MMS/GENERATE fails on system includes

You mean like this?

alp $ type mmsx.for
program mmsx

implicit none

include '($JPIDEF)'

write (*, *) "Fred."
end

alp $ mms /gene mmsx.for
%MMS-S-GENBEGIN, MMS description file generation started
%MMS-I-SCANNING, Scanning MMSX.FOR
%MMS-W-NOFILENAME, No filename in file specification
%SYSTEM-F-ACCVIO, access violation, reason mask=00, virtual address=000000000000
0000, PC=0000000000042398, PS=0000001B

Improperly handled condition, image exit forced.
Signal arguments: Number = 0000000000000005
Name = 000000000000000C
0000000000000000
0000000000000000
0000000000042398
000000000000001B

Register dump:
R0 = 0000000000000000 R1 = 000000007AE0D158 R2 = 00000000000103E8
R3 = 000000007AE0D151 R4 = 000000007FFCF814 R5 = 0000000000000000
R6 = 000000007FF9DEBB R7 = 000000007FFA0EE0 R8 = 000000007FF9CDE8
R9 = 000000007FF9DDF0 R10 = 0000000000000000 R11 = 00000000000103E8
R12 = 000000007FFCDA60 R13 = 000000007B5ECEC0 R14 = 00000000000AF4E0
R15 = 000000007AF05E20 R16 = 8080808080808080 R17 = 000000000000003D
R18 = 000000524F462E00 R19 = 0101010101010101 R20 = 3D3D3D3D3D3D3D3D
R21 = 0000000000000000 R22 = 3D3D3D6F727B133D R23 = 0000000000001000
R24 = 0000000000042394 R25 = 000000007AE0CD00 R26 = FFFFFFFF80EDAFD4
R27 = 000000007C05E280 R28 = FFFFFFFF80CC0370 R29 = 000000007AE0CD00
SP = 000000007AE0CCF0 PC = 0000000000042398 PS = 300000000000001B

while:

alp $ gdiff mmsx.for mmsy.for
5c5
< include '($JPIDEF)'
---
> C include '($JPIDEF)'

alp $ mms /gene mmsy.for
%MMS-S-GENBEGIN, MMS description file generation started
%MMS-I-SCANNING, Scanning MMSY.FOR
%MMS-S-NORMAL, MMS description file generation completed

So, it seems to be bad with this one, too:

alp $ mms /iden
%MMS-I-IDENT, MMS V3.5 © 2003 Hewlett-Packard Development Company, L.P.

Those are on VMS Alpha V7.3-2.

Not obviously better with this one, either:

alp2 $ mms /iden
%MMS-I-IDENT, MMS V3.7 © Copyright 2005 Hewlett-Packard Development Company, L.P.

alp2 $ mms /gene mmsx.for
%MMS-S-GENBEGIN, MMS description file generation started
%MMS-I-SCANNING, Scanning MMSX.FOR
%MMS-W-NOFILENAME, No filename in file specification
%SYSTEM-F-ACCVIO, access violation, reason mask=00, virtual address=000000000000
0000, PC=0000000000042394, PS=0000001B

Improperly handled condition, image exit forced.
Signal arguments: Number = 0000000000000005
Name = 000000000000000C
0000000000000000
0000000000000000
0000000000042394
000000000000001B

Register dump:
R0 = 0000000000000000 R1 = 000000007AE14E50 R2 = 00000000000103E8
R3 = 000000007AE14E49 R4 = 000000007FFCF814 R5 = 0000000000000000
R6 = 000000007FF9DEAB R7 = 000000007FFA0ED0 R8 = 000000007FF9CDE8
R9 = 000000007FF9DDF0 R10 = 0000000000000000 R11 = 00000000000103E8
R12 = 000000007FFCDA98 R13 = 000000007B62CF20 R14 = 00000000000B1AD0
R15 = 000000007AEF0670 R16 = 8080808080808080 R17 = 000000000000003D
R18 = 000000524F462E00 R19 = 0101010101010101 R20 = 3D3D3D3D3D3D3D3D
R21 = 0000000000000000 R22 = 3D3D3D6F727B133D R23 = 00000000000940A8
R24 = 0000000000042390 R25 = 000000007AE14AA0 R26 = FFFFFFFF80BDD284
R27 = 000000007BEE9A50 R28 = FFFFFFFF808CECC0 R29 = 000000007AE14AA0
SP = 000000007AE14A90 PC = 0000000000042394 PS = 100000000000001B

That's on VMS Alpha V8.3.

It may be a bit better with the latest stuff
(I have):

it $ mms /iden
%MMS-I-IDENT, MMS V3.8-2 © Copyright 2007 Hewlett-Packard Development Company, L.P.

it $ mms /gene mmsx.for
%MMS-S-GENBEGIN, MMS description file generation started
%MMS-I-SCANNING, Scanning MMSX.FOR
%MMS-W-NOFILENAME, No filename in file specification ($JPIDEF)
%MMS-W-NOFILENAME, No filename in file specification .FOR
%MMS-W-NOFILENAME, No filename in file specification .FOR
%MMS-W-NOFILENAME, No filename in file specification .FOR
%MMS-S-NORMAL, MMS description file generation completed

That's on VMS IA64 V8.3-1H1 (although I don't
seem to have Fortran installed there, if that
matters.)

I haven't looked to see if the latest DECset
kit is supported for VMS V7.2-1H1, but, on
the bright side, the latest DECset ECO is a
whole kit.

(Is there an IA64 Fortran kit on the secret
FTP server, about which I know nothing? File
name hints would be gratefully received.)
Joseph Huber_1
Honored Contributor

Re: OpenVMS MMS/GENERATE fails on system includes

Hmm, with Stevens above mmsx.for, I get

mms /gene mmsx.for
%MMS-S-GENBEGIN, MMS description file generation started
%MMS-I-SCANNING, Scanning mmsx.FOR
%MMS-W-UNACCESS, Unable to access file "($JPIDEF).FOR".
%MMS-S-NORMAL, MMS description file generation completed

OpenVMS V7.3-1 on node MPIW10
MMS 3.3

and the generated descrip.mms look reasonable and works.

So it seems to be some bug in newer MMS versions ?


http://www.mpp.mpg.de/~huber
Steven Schweda
Honored Contributor

Re: OpenVMS MMS/GENERATE fails on system includes

> %MMS-W-UNACCESS, Unable to access file "($JPIDEF).FOR".

One might argue that, although cleaner than
an ACCVIO, this was not exactly ideal
behavior, either.
Joseph Huber_1
Honored Contributor

Re: OpenVMS MMS/GENERATE fails on system includes

BTW:
the image getting the error is MAKEMMS.EXE.
I restored MAKEMMS from MMS 3.3,
MMS 3.8 together with MAKEMMS 3.3 seems to work.
http://www.mpp.mpg.de/~huber
Jeff Rodgers
Occasional Visitor

Re: OpenVMS MMS/GENERATE fails on system includes

Thanks for the info on MMS 3.3. Since we are in a cluster, I can't just start replacing files so I am forwarding this to my sys admin to see if we can try this workaround.
Jeff Rodgers
Occasional Visitor

Re: OpenVMS MMS/GENERATE fails on system includes

UPDATE: changing the include line from:
INCLUDE '($STRDEF)'
to:
INCLUDE 'SYS$LIBRARY:FORSYSDEF.TLB($STRDEF)'
resolved the issue.
Joseph Huber_1
Honored Contributor

Re: OpenVMS MMS/GENERATE fails on system includes

Just for those with many includes of the '(file)' form:
If one happens to have the old version of MAKEMMS.EXE, then the system/cluster installation need not be modified.
It is enough to point the logical MAKEMMS to the old exe to use it with mms/generate.
MMS simply does a "MCR MAKEMMS", so one can switch versions on the fly with the logical.
http://www.mpp.mpg.de/~huber