IBM Support

II12217: SET-UP CONSIDERATIONS FOR CICS TRANSACTION GATEWAY FOR OS/390

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as canceled.

Error description

  • 5648B4300 R310
    This Information APAR is to document considerations for using
    the CICS Transaction Gateway for OS/390.
    - MAINTENANCE :
      10/2/2000 - Version 3.1.2 is now available, from the url :
      www-4.ibm.com/software/ts/cics/platforms/clients/ctg31pdt.htm
      This maintenance release contains fixes for the following
      APARs :
    
      PQ37626
      PQ39377
      PQ39725
    
      Version 3.1.1 of the CICS Transaction Gateway, released on
      5/15/2000 is no longer available for download.
    
      Maintenance in 3.1.1 contained fixes for the following
      APARs :
    
      PQ31837
      PQ33058
      PQ33193
      PQ34159
      PQ34553
      PQ35123
      PQ35228
      PQ35333
    
      The maintenance also includes a development (non-APAR) fix
      for unpredictable problems caused by PINGFREQUENCY processing.
      Symptoms of this problem include hangs, duplicate requests or
      incorrect commareas being returned.
    
      For further information, please refer to the readme.txt file
      found in the ctg root (/ctg) directory after the product has
      been downloaded, uncompressed and un-tar'ed.
    
    - MIGRATION from 310
      The 310 -time parameter is obsolete. Timestamping of messages
      is now the default, and may be turned off with the parameter
      -notime. If -time is used the CTG will terminate.
    
    - ECI_ERR_SECURITY_ERROR  -27
      Possible causes for this return code include:
      1.  Surrogate checking has been enabled in the EXCI via
          DFHXCOPT.  The parameter is SURROGCHK, which defaults to
          YES.  Refer to CICS External Interfaces Guide under
          External CICS Interface for details of using this
          parameter.
      2.  RACF program control must be active for the SDFHEXCI
          dataset.  To activate program control:
          SETROPTS CLASSACT(PROGRAM)
          RDEFINE PROGRAM * UACC(READ)
          SETROPTS WHEN(PROGRAM)
          To add the CICS library when program control is active:
          RALTER PROGRAM * ADDMEM*'hlq.SDFHEXCI'/volser/NOPADCHK)
          SETROPTS WHEN(PROGRAM) REFRESH
      3.  Extended attributes settings are necessary for certain HFS
          files.  The following extattr commands mark the load
          modules used by the CTG as program controlled:
          extattr +p /ctg/bin/lib*.so
          extattr +p /ctg/bin/SECURES
          Force JVM to use its own non-sharable address space:
          extattr -s <path>/ctg/bin/ctgstart
          Certain MVS Java files must also be program controlled:
          extattr +p <javapath>/bin/*
          extattr +p <javapath>/bin/mvs/native_threads/*
          extattr +p <javapath>/lib/mvs/native_threads/*
          For further information, see CICS Transaction Gateway for
          OS/390 Administration
      4.  The ctgstart script must have the 'Share Address Space'
          extended attribute bit turned off with extattr -s. If
          not, on OS/390 2.8 or above a -27 will result on ECI_SYNC
          or ECI_STATE-SYNC calls due to a 'dirty' address space.
          This problem does not occur at OS/390 2.6.
      5.  If using userids and passwords that are to be verified by
          the gateway itself, and not passed to CICS for
          verification, then a RACF facilityclass must be defined.
          The name of the facility class must match the netname
          parameter on the CONNECTION definition for the EXCI link,
          and the value of the DFHJVPIPE environment variable used
          by the gateway.
      6.  If using OEM ACF2 Security package, SDFHEXCI must be in
          an APF authorized library, or it must be in ACF2's
          linklist GSO LINKLST.
    
          ACF2 6.2 had a zap (TA4328D) to turn on the "dirty" bit
          (TCBNCTL), but this support was present in the base of
          6.3.  The -27 can surface when changing ACF2 releases,
          depending on if TA4328D was applied to the 6.2 system.
    
          SDFHEXCI must be "program controlled" and in the ACF2
          realm this has the additional requirement that either:
    
          a) SDFHEXCI dataset must be APF authorized
          or
          b) SDFHEXCI dataset must be in GSO LINKLST (ACF2's
             LINKLIST)
    
          NOTE:  IEASYSxx PARMLIB member specifies LNKAUTH=APFTAB
    -9 ECI_ERR_SYSTEM_ERROR
       1. This return code can be generated as a result of problems
          in the CICS address space. For example, PGMIDERR, a
          security violation, or program-autoinstall veto.
       2. It can also be generated in the EXCI code if the userid
          of the CTG host address space is not PERMITted to the
          DFHAPPL.<dfhjvpipe> or the DFHAPPL.<applid> Facilities.
    
    - "Dirty Address Space" problems :
      1.  This problem appears in different ways depending on the
          point at which the CTG loses its privileged status.
      2.  The ctgstart script still has the 's' bit set.
      3.  The SDFHEXCI load library, and any load library defined in
          the EXCI_OPTIONS variable are not program-controlled.
      4.  The CTG HFS is mounted with NOSETUID. The CTG HFS must be
          mounted with the default of SETUID.
    
    - msgEDC5111I PERMISSION DENIED :
      1.  A CTG port is already in use by another task.
      2.  A port is reserved for the CTG job in the TCPIP.PROFILE,
          but the CTG jobname is less than 8 characters. In this
          case the job which attempts to open the port will have a
          jobname with a numeric suffix allocated by OMVS and will
          not match the TCPIP.PROFILE jobname. Either 1) Do not
          reserve the port, or 2) Use an eight character jobname,
          or 3) Add 'OMVS' to the list of ids allocated the port
          in the TCPIP.PROFILE. It is not advisable to anticipate
          the numeric character added by OMVS as an id.
    
    - JAVA_HOME variable :
      1.  Ensure the variable is available in the environment of the
          process which runs the ctgstart script.
    
    - java.lang.OutOfMemoryError, or NullPointerException
      1. Programs which use network JavaGateway() connections must
         ensure that JavaGateway objects are closed when no longer
         required. If not, the connections will remain open for the
         lifetime of the CTG JVM, resulting in out of memory errors
         or failed connections when the CTG.INI maxconnect value is
         reached.
      2. These symptoms may also be caused by: 1) the BPXPRMxx value
         for MAXTHREADS being reached. The solution is to increase
         MAXTHREADS. 2) Use of REGION=0M in the CTG JCL. The actual
         region size available when 0M is used is unpredictable and
         may be less than required for the number of threads being
         run by the CTG. The solution is to allocate an explicit
         region. The value is dependent on the number of threads
         required to be run by the CTG. 3) The JVM default stack
         size values -ss (256k) and -oss (400k) result in a memory
         allocation of 656k per thread. Halving these values on the
         'exec java' in ctgstart will reduce memory consumption.
    
    - Servlets
      1. Servlets which employ JavaGateway objects must ensure
         references to the gateway objects are threadsafe.
    
    - Tracing in servlets and other CTG client applications.
      There are two ways to activate tracing of client code :
      1.  Add method invocations on the 'T' object in the client
          application source. For example :
          T.setOn(true)       activates standard tracing.
          T.setDebugOn(true)  activates extended tracing.
          T.setTimingOn(true) timestamps the trace entries.
          Using (false) will deactivate the trace/timing.
          The following method calls are also available :
          T.setEntryOn(true/false)
          T.setExitOn(true/false)
          T.setLinesOn(true/false)
          T.setStackOn(true/false)
    
      2.  Set the following properties :
          Gateway.T.trace=on
          Gateway.T=on
          Gateway.T.entry=on
          Gateway.T.exit=on
          Gateway.T.lines=on
          Gateway.T.stack=on
          Gateway.T.timing=on
    
       If the local protocol is used by the client code then
       activating the client trace will also activate the server
       trace.
       If network protocols are used, the server trace can be
       activated, at CTG daemon startup only, with the -trace and
       -X switches on the ctgstart script invocation.
    
    - JNI trace.
    
      As an alternative to running a full GTF trace to capture the
      CTG's EXCI activity (see CICS/TS External Interface Guide for
      details of GTF trace of EXCI), a JNI trace can be obtained.
      To do so, add the following statement to the ctgstart script :
      'export CTG_JNI_TRACE=<hfs filename>' where <hfs filename> is
      the name of a file in the HFS to which the trace output will
      be written.
    
      To obtain a JNI trace for a local mode connection from a
      servlet under WAS, do the following :
      1) Set CTG_JNI_TRACE=<filename> in the httpd.envvars
      2) Modify the IHS JCL to specify parameters to LE as follows :
         LEPARM='ENVAR("_CEE_ENVFILE=/your/httpd.envvars")'
      3) Ensure the userid under which WAS is running has write
         permission to the trace output file/directory.
    

Local fix

Problem summary

Problem conclusion

Temporary fix

Comments

  • CLOSING CAN PER INFO APAR GUIDELINES
    

APAR Information

  • APAR number

    II12217

  • Reported component name

    PB LIB INFO ITE

  • Reported component ID

    INFOPBLIB

  • Reported release

    001

  • Status

    CLOSED CAN

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2000-01-18

  • Closed date

    2000-01-18

  • Last modified date

    2002-05-15

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

Applicable component levels

[{"Business Unit":{"code":null,"label":null},"Product":{"code":"SG19O","label":"APARs - MVS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"001","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSEPEK","label":"Db2 for z\/OS"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"001","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
15 May 2002