Google
 

Trailing-Edge - PDP-10 Archives - BB-AE97A-BM - documentation/dil.bwr
There are 23 other files named dil.bwr in the archive. Click here to see a list.


                 Data Interchange Library Beware File


                            January, 1983


                              VERSION 1





COPYRIGHT (C) DIGITAL EQUIPMENT CORPORATION 1983

THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND  COPIED
ONLY  IN  ACCORDANCE  WITH  THE  TERMS  OF  SUCH  LICENSE AND WITH THE
INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR  ANY  OTHER
COPIES  THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
OTHER PERSON.  NO TITLE TO AND OWNERSHIP OF  THE  SOFTWARE  IS  HEREBY
TRANSFERRED.

THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT  NOTICE
AND  SHOULD  NOT  BE  CONSTRUED  AS  A COMMITMENT BY DIGITAL EQUIPMENT
CORPORATION.

DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR  RELIABILITY  OF  ITS
SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
                                                                Page 2


1.0  INTRODUCTION

1.1  Function

This document supplements  the  Data  Interchange  Library  manual  by
pointing  out hints and potential problems discovered after the manual
went to press.

The  file  DIL.DOC  contains   further   supplemental   documentation,
including installation instructions.



2.0  VMS TASK-TO-TASK SYNCHRONOUS DISCONNECT

Synchronous disconnect on a VAX does an abort instead.  This  will  be
fixed  in  a  future  version  of  VMS.   There  is no way around this
problem.  For now, you should code programs which may communicate with
tasks running on a VMS system to expect this situation.



3.0  REQUIRED PA1050 FOR TOPS-20 PROGRAMS

The DIL is supported on TOPS-20 4.1 (2020, KL model A) and TOPS-20 5.1
(KL model B).  You must use the PA1050 shipped with those versions for
the Task-to-Task or Remote File Access routines to work.



4.0  XPORT MEMORY MANAGER ON TOPS-20


You must use the XPORT shipped on this tape  rather  than  the  latest
Bliss  release  of  XPORT  because of a problem in the memory manager.
XPORT is needed for all TOPS-20 programs which  use  the  Remote  File
Access  routines.   The  required  edit  will  be included in the next
distribution of XPORT.




5.0  C74OTS EDIT FOR COBOL-74 PROGRAMS ON TOPS-20


You must insert edit 1045, shown  below,  into  the  RMSIO  module  in
C74OTS in order to use the Task-to-Task or Remote File Access routines
from a COBOL-74 program on TOPS-20.


                   *********************
                   *PCO #:20-LIBOL -076*
                   *********************
                                                                Page 3



[Program Data]          System:   TOPS20
                        Component:LIBOL

[Validity]         COBOL (1131)

[Date Entered]          28-OCT-82

[Programmer]            MASLANKA

[Routines]              RMSIO

[Key Words]             LOST PAGES

[Source Before Edit]    %12B (001044)

[Source After Edit]     %12B (001045)

[Miscellaneous]         DOC changes:   N
                        SER/SPR Number:20-18389
                        Archived:      NO
                        OTHER PRODUCT:
                        AUTOPATCH TAPE #


************************************************************************

[PCO Write-up]

                        **********

[SYMPTOM]
 
 
 
 
When RMS-20, with LIBOL-20 v 12B,  is  used  in  conjunction
with  such other software as TRAFFIC-20, two pages of RMS-20
global data can be lost resulting in an ILL MEM REF.
 
 

                        **********


[DIAGNOSIS]
 
Those two pages are never actually touched when  the  RMS-20
entry  vector is being gotten.  As a result the TOPS-20 Page
Handler does not know about them and considers  itself  free
to   assign  them  to  someone  else  in  the  run-unit,  if
requested.  Those  two  pages  contain  symbols  for  RMS-20
global data.  The corresponding action for RMS-10 is done by
an explicit call  to  a  PAGE.   UUO.   However,  a  TOPS-20
                                                                Page 4


run-unit will not initialize those two pages until the first
call to an RMS-20 JSYS, which will touch the pages.
 
 

                        **********


[CURE]
 
Install Edit 1045  to  RMSIO.MAC  in  LIBOL-20  and  rebuild
LIBOL-20.   Edit  1045  inserts  a $MESSAGE RMS-20 JSYS call
into the  RMSGET  run-time  initialization  procedure.   The
usual  purpose  of  this call is to turn on the reporting of
RMS-20 internal messages.  However, in  this  case  it  also
initializes  the  RMS-20 system in the user's address space,
causing those two pages to be touched.  This is  because  it
is  now  the  first  RMS-20  JSYS  call  done  by the user's
run-unit.


[FILCOM]

File 1) DSK:RMSIO.OLD[4,152]    created: 1641 14-Oct-1982
File 2) DSK:RMSIO.MAC[4,152]    created: 1342 19-Oct-1982
 
1)1     ;RLF    08-OCT-82       [1044] Space fill record area
****
2)1     ;JSM    18-OCT-82       [1045] Use $MESSAGE in RMSGET as first R
        MS-20 call to
2)      ;                               initialize RMS-20 global data sy
        mbols.
2)      ;RLF    08-OCT-82       [1044] Space fill record area
**************
1)7             POPJ    PP,             ;RETURN
****at RMSGSR + 9, following DIC%
2)7             $MESSAGE                ;[1045] TURN ON RMS-20 INTERNAL
        MESSAGE
2)                                      ;[1045] REPORTING AND ALSO INITI
        ALIZE THE
2)                                      ;[1045] AREA FOR RMS-20 GLOBAL D
        ATA SYMBOLS.
2)              POPJ    PP,             ;RETURN
**************

[END OF PCO 20-LIBOL -076]
                                                                Page 5


6.0  TOPS-20 VERSION REQUIRED


You must be running TOPS-20 version 5.1,  which  incorporates  several
fixes  to  NSPSRV,  in  order  to  use the Task to Task or Remote File
Access routines on TOPS-20.  If you have a 2020, you must run  TOPS-20
version 4.1.




7.0  USER-ASSIGNABLE PA1050 INTERRUPT CHANNELS ON TOPS-20


There are no user-assignable interrupts in PA1050 left for  the  COBOL
user  on  TOPS-20  if the IP20 routines in TRAFFIC-20, the Remote File
Access routines, and the Task-to-Task routines are loaded in one  user
program, due to a PA1050 restriction.  Note that using user-assignable
interrupts in PA1050 is not supported.




8.0  REMOTE FILE ACCESS ROUTINES WITH COBOL-20


To use the Remote  File  Access  routines  on  TOPS-20  from  a  COBOL
program,  the user will have to compile his COBOL program with /D:2000
to insure adequate runtime stack space.  This solution should be tried
if the user program gets a stack overflow.




9.0  REMOTE FILE ACCESS ROUTINES WITH FORTRAN-20 V.  6


To use the DAP routines on TOPS-20 from a FORTRAN v.  6  program,  the
user  must  rebuild FOROTS according to the Fortran Installation Guide
to increase the  runtime  stack  space  (by  modifying  FORPRM.MAC  to
increase  LPDL).   This  is  not necessary for FORTRAN v.  7 programs,
because that version has a larger default stack size, but it should be
done if user programs start to get stack overflows.

To use the rebuilt FOROTS, you must  have  FORLIB.REL  and  FOROT6.EXE
(FOROT7.EXE if you have rebuilt FOROTS version 7) in your SYS:  area.
                                                                Page 6


10.0  USING A SHAREABLE OTS ON TOPS-20


10.1  FORTRAN PROGRAMS


Normal loading of a Fortran program with DIL will result in  a  TWOSEG
program  with  a  nonshareable FOROTS loaded from FORLIB.  This can be
saved and executed in a shareable fashion.  If you want  to  load  the
DIL  code in the low segment so that the shareable FOROTS can be used,
you must use /SEG:LOW in the LINK command when loading your program.




10.2  COBOL PROGRAMS


COBOL programs will normally produce low-adress data areas (containing
COBOL   and  DIL  writeable  data),  higher-address  pure  code  areas
containing COBOL and DIL code, and the  shareable  LIBOL/C74OTS  which
comes  in  at  higher addresses.  This behavior can be modified by the
appropriate switches to the COBOL compiler (see  the  COBOL  Reference
manual).




11.0  REMOTE FILE ACCESS TO TOPS-20 FILES


All TOPS20 ASCII files for remote file access should be  specified  as
stream   record   format   with   no   record   attributes   or   with
carriage-return/linefeed envelope attribute.




12.0  PRINT RECORD ATTRIBUTE FOR VMS FILES


Record attribute PRINT is only valid for record format VFC on the VAX.




13.0  APPEND ACCESS TO REMOTE FILES


TOPS-20 FAL v.  2(201) does not support APPEND file  access.   If  you
attempt  to  append  to  a  remote  file on a TOPS-20 system, you will
receive the "network operation not supported" error.
                                                                Page 7


14.0  VMS JOBS HUNG IN MWAIT STATE


VMS programs using the Task-to-Task routines in particular,  but  also
other VMS programs, may hang in MWAIT state if the BYTLIM quota is not
large enough, a VMS bug which is not yet fixed in VMS version 3.1.  If
a  program hangs in this state, the program should be tried again with
a larger BYTLIM.




15.0  HUNG REMOTE FILE ACCESS JOBS ON TOPS-20


TOPS-20 jobs may hang and/or get errors due to no  more  monitor  free
core  after  local  DECnet links which use interrupt data messages are
used (for example, connections to the local FAL) with the 5.1 monitor.
This  can  result  in  ALL  the  DECnet  jobs on the system eventually
hanging.  The patch is:
@get system:monitr.exe
@start 140
DDT

! JFCL out the first 3 instructions at INTLS: (in NSPSRV)

intls/ MOVE T3,TODCLK      jfcl
intls+1/ ADD T3,NSINAC      jfcl
intls+2/ MOVEM T3,CRSTD1(T1)    jfcl

^Z
@save system:monitr.exe

This patch will be included in TOPS-20 release 6.



16.0  C74OTS WHICH IS TOO LARGE TO FIT RMS

If you get the following error at run time in a  COBOL-74  program  on
TOPS-20,  you  may have to compile your program with the /R switch and
link with RMS explicitly:

        ? ?Can't GET RMS: Program too big
        ?LBL500 RMS-SYSTEM failure

This usually happens when your version of C74OTS was built  with  DBMS
included  and  has  no  room in memory (at run time) for RMS.  See the
TOPS-20 COBOL-74 manual  for  more  information  on  the  /R  language
switch.
                                                                Page 8


You should be able to fix this problem with the following:

   at compile time:

        @COMPILE USRPRG /74-COBOL /LANGUAGE-SWITCHES:"/R"

   at link time:

        @LINK
        *USRPRG, SYS:DIL/SE, SYS:XPORT/SE/EXCLUDE:XFUNCT,SYS:RMS/G



17.0  TASK-TO-TASK RECORD SIZE RESTRICTIONS

Message-mode task-to-task links to or from  a  TOPS-20  system  cannot
move  records  larger  than  2048  (ASCII or 8-bit) characters, or 571
words of data  (binary  mode)  due  to  a  permanent  TOPS-20  monitor
restriction.

Task-to-task links to or from a VAX/VMS  system  cannot  move  records
larger than 2570 8-bit bytes due to a DIL restriction.



18.0  ADDITIONAL SUPPORTED FEATURES

Information on additional supported Task-to-Task  features  which  you
may  find  useful to verify authorized access to your server program's
services can be found in the  .DOC  file;   this  information  is  not
included in the manual for version 1.



19.0  ADDITIONAL ERROR INFORMATION

Additional  information  on  possible  causes   of   errors   in   the
Task-to-Task  and Remote File Access routines can be found in the .DOC
file;  this information is not included in the manual for verison 1.

[End of DIL.BWR]