TXSeries 4.2 PTF Set Release Notes for Solaris

First Edition (December 1999)

This edition applies to:

IBM TXSeries for AIX, Version 4.2, program number 5697-D17
IBM TXSeries for Solaris, Version 4.2, program number 5697-D18
IBM TXSeries for Windows NT (Gradient DCE), Version 4.2, program number 5697-D20
IBM TXSeries for Windows NT (IBM DCE), Version 4.2, program number 5697-D21
IBM TXSeries for HP-UX, Version 4.2, program number 5697-D22

and to all subsequent versions, releases, and modifications until otherwise indicated in new editions. Consult the latest edition of the applicable system bibliography for current information on these products.

This softcopy version is based on the printed edition of this book. Some formatting amendments have been made to make this information more suitable for softcopy.

Order publications through your IBM or Transarc representative or through the IBM branch office serving your locality.

At the end of this publication is a topic titled "Readers' Comments". If you want to make comments, but the methods described are not available to you, please address them to:

IBM Corporation, 11 Stanwix Street, Pittsburgh, PA 15222, USA.

When you send information to IBM or Transarc, you grant them a nonexclusive right to use or distribute the information in any way they believe appropriate without incurring any obligation to you.

© Copyright International Business Machines Corporation 1999; Transarc Corporation, 1999. All rights reserved.
Note to U.S. Government Users -- Documentation related to restricted rights -- Use, duplication or disclosure is subject to restrictions set forth in GSA ADP Schedule contract with IBM Corp.

Table of Contents

Introduction

  • Audience
  • Document organization
  • Obtaining the TXSeries PTF Set

  • Prerequisites and dependencies
  • Disk space requirement
  • Download procedures
  • Downloading from the IBM Transarc Web site
  • Obtaining the TXSeries PTF Set on other media
  • Installing the TXSeries PTF Set for TXSeries CICS

  • Prerequisites and dependencies
  • Installation procedure
  • TXSeries PTF Set documentation
  • Installing the TXSeries PTF Set for Encina

  • Prerequisites and dependencies
  • Installation procedure
  • TXSeries PTF Set documentation
  • Updates to TXSeries CICS

  • Updates in PTF Set 7
  • APAR IY05638 (Defect 202341)
  • APAR IY05636 (Defect 201958)
  • APAR IY05516 (Defect 202275)
  • APAR IY05236 (Defect 202403)
  • APAR IY05226 (Defect 202404)
  • APAR IY04919 (Defect 202328)
  • APAR IY04793 (Defect 202402)
  • APAR IY04285 (Defect 202321)
  • APAR IY04262 (Defect 202298)
  • APAR IY03836 (Defect 202253)
  • Updates in all previous patches
  • APAR IY04059 (Defect 202163)
  • APAR IY04054 (Defect 202307)
  • APAR IY04053 (Defect 201791)
  • APAR IY04052 (Defect 200640)
  • APAR IY04051 (Defect 202171)
  • APAR IY04050 (Defect 202240)
  • APAR IY04049 (Defect 202174)
  • APAR IY04048 (Defect 202165)
  • APAR IY04045 (Defect 202122)
  • APAR IY04040 (Defect 201792)
  • APAR IY04039 (Defect 201990)
  • APAR IY03691 (Defect 202068)
  • APAR IY02512 (Defect 202131)
  • APAR IY02199 (Defect 201391)
  • APAR IY02194 (Defect 202059)
  • APAR IY02191 (Defect 200897)
  • APAR IY02190 (Defect 201788)
  • APAR IY02189 (Defect 201697)
  • APAR IY02188 (Defect 201768)
  • APAR IY02187 (Defect 200939)
  • APAR IY02186 (Defect 137254)
  • APAR IY02185 (Defect 201377)
  • APAR IY02184 (Defect 201926)
  • APAR IY02183 (Defect 201357)
  • APAR IY02182 (Defect 200961)
  • APAR IY02181 (Defect 201644)
  • APAR IY02180 (Defect 201257)
  • APAR IY02179 (Defect 200780)
  • APAR IY02178 (Defect 201931)
  • APAR IY02177 (Defect 201345)
  • APAR IY02176 (Defects 201334, 202132)
  • APAR IY02175 (Defect 201514)
  • APAR IY02174 (Defect 201333)
  • APAR IY02173 (Defect 201332)
  • APAR IY02172 (Defect 201440)
  • APAR IY02171 (Defect 201106)
  • APAR IY02170 (Defect 201052)
  • APAR IY02169 (Defect 137509)
  • APAR IY01778 (Defect 202004)
  • APAR IY01488 (Defect 201984)
  • APAR IY01354 (Defect 201935)
  • APAR IY01350 (Defect 201424)
  • APAR IY01348 (Defect 201590)
  • APAR IY01130 (Defect 201917)
  • APAR IX89157 (Defect 201640)
  • APAR IX88751 (Defect 201551)
  • APAR IX88750 (Defect 201621)
  • APAR IX88654 (Defect 201669)
  • APAR IX88547 (Defect 201641)
  • APAR IX88503 (Defect 201679)
  • APAR IX88404 (Defect 201281)
  • APAR IX88360 (Defect 201574)
  • APAR IX88325 (Defect 201603)
  • APAR IX88203 (Defect 201595)
  • APAR IX87353 (Defect 201056)
  • APAR IX87352 (Defect 200910)
  • APAR IX87351 (Defect 201026)
  • APAR IX87350 (Defect 201295)
  • APAR IX87305 (Defect 201316)
  • APAR IX87304 (Defect 200406)
  • APAR IX87303 (Defect 201242)
  • APAR IX87302 (Defect 201222)
  • APAR IX87301 (Defect 136438)
  • APAR IX87300 (Defect 201220)
  • APAR IX87299 (Defect 201301)
  • APAR IX87298 (Defect 200974)
  • APAR IX87297 (Defect 201120)
  • APAR IX87296 (Defect 201276)
  • APAR IX87294 (Defect 201049)
  • APAR IX86947 (Defect 201446)
  • APAR IX86822 (Defect 201419)
  • APAR IX85407 (Defect 201016)
  • APAR IX85357 (Defect 200994)
  • APAR IX85356 (Defect 200697)
  • APAR IX85355 (Defect 200508)
  • APAR IX85354 (Defect 200408)
  • APAR IX85353 (Defect 200385)
  • APAR IX85347 (Defect 200358)
  • APAR IX85339 (Defect 201191)
  • APAR IX85030 (Defect 200917)
  • APAR IX85030 (Defect 200838)
  • APAR IX85028 (Defect 200782)
  • APAR IX84849 (Defect 200935)
  • APAR IX84847 (Defect 201188)
  • APAR IX84847 (Defect 200997)
  • APAR IX84844 (Defect 200888)
  • APAR IX84843 (Defect 200861)
  • APAR IX84841 (Defect 200798)
  • APAR IX84840 (Defect 200776)
  • APAR IX84839 (Defect 200295)
  • APAR IX84838 (Defect 135363)
  • APAR IX84804 (Defect 132443)
  • APAR IX84803 (Defect 200042)
  • APAR IX84788 (Defect 200745)
  • APAR IX84733 (Defect 200943)
  • APAR IX84732 (Defect 200769)
  • APAR IX84731 (Defect 200834)
  • APAR IX84730 (Defect 135930)
  • APAR IX84729 (Defect 135990)
  • APAR IX84728 (Defect 200425)
  • APAR IX84727 (Defect 200725)
  • APAR IX84726 (Defect 200723)
  • APAR IX84724 (Defect 200765)
  • APAR IX84721 (Defect 136872)
  • APAR IX84720 (Defect 200371)
  • APAR IX84719 (Defect 200337)
  • APAR IX84718 (Defect 200813)
  • APAR IX84717 (Defect 200890)
  • APAR IX84714 (Defect 200742)
  • APAR IX84713 (Defect 200291)
  • APAR IX84711 (Defect 200712)
  • APAR IX84710 (Defect 200803)
  • APAR IX84709 (Defect 200921)
  • APAR IX84708 (Defect 200494)
  • APAR IX84707 (Defect 200442)
  • APAR IX84703 (Defect 200887)
  • APAR IX84702 (Defect 200945)
  • APAR IX84701 (Defect 200841)
  • APAR IX84700 (Defect 136411)
  • APAR IX84698 (Defect 201086)
  • APAR IX84697 (Defect 201072)
  • APAR IX84696 (Defect 201071)
  • APAR IX84694 (Defect 201070)
  • APAR IX84685 (Defect 201039)
  • APAR IX84683 (Defect 201024)
  • APAR IX84682 (Defect 200989)
  • APAR IX84676 (Defect 200896)
  • APAR IX84675 (Defect 200854)
  • APAR IX84673 (Defect 200748)
  • APAR IX84672 (Defect 200747)
  • APAR IX84670 (Defect 200661)
  • APAR IX84668 (Defect 200614)
  • APAR IX84667 (Defect 200381)
  • APAR IX84666 (Defect 200310)
  • APAR IX84665 (Defect 200239)
  • APAR IX84663 (Defect 137463)
  • APAR IX84638 (Defect 137310)
  • Updates to TXSeries Encina

  • Updates in PTF Set 11
  • APAR IY04946 (Defect 24755)
  • APAR IY04945 (Defect 24791)
  • APAR IY04944 (Defect 24690)
  • APAR IY04943 (Defect 24708)
  • APAR IY04942 (Defect 22591)
  • APAR IY04941 (Defect 23805)
  • APAR IY04940 (Defect 24831)
  • APAR IY04939 (Defect 24803)
  • APAR IY04938 (Defect 24830)
  • APAR IY04937 (Defect 24064)
  • APAR IY04936 (Defect 24730)
  • Updates in all previous patches
  • APAR IY05291 (Defect 24853)
  • APAR IY02592 (Defect 24653)
  • APAR IY02425 (Defect 24467)
  • APAR IY02424 (Defect 24594)
  • APAR IY02423 (Defect 24557)
  • APAR IY02422 (Defect 24168)
  • APAR IY02421 (Defect 24582)
  • APAR IY02420 (Defect 24581)
  • APAR IY02419 (Defect 24472)
  • APAR IY02418 (Defect 24606)
  • APAR IY02417 (Defect 22507)
  • APAR IY02416 (Defect 24514)
  • APAR IY00325 (Defect 14898)
  • APAR IY00324 (Defect 24388)
  • APAR IY00041 (Defect 24130)
  • APAR IY00040 (Defect 24255)
  • APAR IX89948 (Defect 24196)
  • APAR IX89947 (Defect 23701)
  • APAR IX89946 (Defect 24016)
  • APAR IX89945 (Defect 24313)
  • APAR IX89944 (Defect 19011)
  • APAR IX89943 (Defect 24013)
  • APAR IX89942 (Defect 23668)
  • APAR IX89941 (Defect 24102)
  • APAR IX89940 (Defect 24298)
  • APAR IX89939 (Defect 23973)
  • APAR IX89938 (Defect 24288)
  • APAR IX89937 (Defect 23755)
  • APAR IX89936 (Defect 23971)
  • APAR IX89935 (Defect 21189)
  • APAR IX89933 (Defect 23184)
  • APAR IX89932 (Defect 23922)
  • APAR IX89931 (Defect 24056)
  • APAR IX87541 (Defect 23693)
  • APAR IX87035 (Defect 23617)
  • APAR IX86623 (Defect 22542)
  • APAR IX86622 (Defect 21092)
  • APAR IX86621 (Defect 20642)
  • APAR IX86620 (Defect 22901)
  • APAR IX86618 (Defect 22620)
  • APAR IX86617 (Defect 22701)
  • APAR IX86616 (Defect 21170)
  • APAR IX86615 (Defect 23388)
  • APAR IX86614 (Defect 23586)
  • APAR IX86613 (Defect 23547)
  • APAR IX86612 (Defect 23385)
  • APAR IX86611 (Defect 23709)
  • APAR IX86610 (Defect 21927)
  • APAR IX86609 (Defect 23267)
  • APAR IX86608 (Defect 23582)
  • APAR IX86607 (Defect 20395)
  • APAR IX86606 (Defect 22933)
  • APAR IX86605 (Defect 22734)
  • APAR IX86604 (Defect 20915)
  • APAR IX86603 (Defect 23705)
  • APAR IX86602 (Defect 23507)
  • APAR IX86601 (Defect 21841)
  • APAR IX86600 (Defect 15244)
  • APAR IX86599 (Defect 23704)
  • APAR IX86598 (Defect 22218)
  • APAR IX86597 (Defect 21282)
  • APAR IX86596 (Defect 22452)
  • APAR IX86595 (Defect 22811)
  • APAR IX86594 (Defect 23305)
  • APAR IX86593 (Defect 22810)
  • APAR IX86592 (Defect 23340)
  • APAR IX86591 (Defect 19834)
  • APAR IX86590 (Defect 18385)
  • APAR IX86589 (Defect 23496)
  • APAR IX86588 (Defect 23494)
  • APAR IX86587 (Defect 23737)
  • APAR IX86586 (Defect 22927)
  • APAR IX86585 (Defect 22962)
  • APAR IX86583 (Defect 23375)
  • APAR IX86582 (Defect 22565)
  • APAR IX86581 (Defect 20827)
  • APAR IX86580 (Defect 18901)
  • APAR IX86578 (Defect 21915)
  • APAR IX86577 (Defect 23454)
  • APAR IX86575 (Defect 22805)
  • APAR IX86574 (Defect 23173)
  • APAR IX86572 (Defect 22642)
  • APAR IX86571 (Defect 22281)
  • APAR IX86569 (Defect 22560)
  • APAR IX86568 (Defect 23252)
  • APAR IX86565 (Defect 22007)
  • APAR IX86564 (Defect 21710)
  • APAR IX86562 (Defect 14898)
  • APAR IX86561 (Defect 23689)
  • APAR IX86560 (Defect 22996)
  • APAR IX86559 (Defect 16839)
  • APAR IX86557 (Defect 22995)
  • APAR IX86556 (Defect 23569)
  • APAR IX86555 (Defect 22839)
  • APAR IX86554 (Defect 21984)
  • APAR IX86553 (Defect 22919)
  • APAR IX86552 (Defect 22955)
  • APAR IX86551 (Defect 22918)
  • APAR IX86550 (Defect 23527)
  • APAR IX86549 (Defect 21068)
  • APAR IX86548 (Defect 21509)
  • APAR IX86547 (Defect 23641)
  • APAR IX86546 (Defect 23407)
  • APAR IX86545 (Defect 22435)
  • APAR IX86544 (Defect 23082)
  • APAR IX86543 (Defect 22036)
  • APAR IX86542 (Defect 23124)
  • APAR IX86541 (Defect 21026)
  • APAR IX86540 (Defect 22310)
  • APAR IX86539 (Defect 22785)
  • APAR IX86538 (Defect 23558)
  • APAR IX86537 (Defect 23638)
  • APAR IX86536 (Defect 22909)
  • APAR IX86535 (Defect 22387)
  • APAR IX86534 (Defect 22468)
  • APAR IX86533 (Defect 23277)
  • APAR IX86532 (Defect 21495)
  • APAR IX86531 (Defect 22781)
  • APAR IX86530 (Defect 23194)
  • APAR IX86529 (Defect 23715)
  • APAR IX86528 (Defect 22661)
  • APAR IX86527 (Defect 23551)
  • APAR IX86526 (Defect 21963)
  • APAR IX86510 (Defect 20024)

  • Introduction

    The TXSeries Program Temporary Fix (PTF) Set is a collection of cumulative product patches and recent software fixes. For TXSeries(TM), separate PTF Sets exist for CICS and Encina. Each TXSeries PTF Set is installed with its requisite software and tested on the supported platforms. For certain operating systems, patched software products are tested concurrently; on other systems, patched products are tested independently.

    For example, this TXSeries PTF Set is supported for use with the following operating systems:

    This TXSeries PTF Set has been installed and formally tested concurrently with the software products listed for the following platforms:

    For HP-UX 10.20:

    For IBM AIX 4.2.1:

    For IBM AIX 4.3.2:

    For Solaris 2.6:

    For Windows NT 4.0 with Service Pack 4:

    For Windows NT 4.0 with Service Pack 4:

    The following products have been installed and tested independently:


    Audience

    This document is written for system administrators and programmers responsible for configuration, administration, and customization of systems that use the IBM Transarc software listed in the Introduction. This document assumes that readers are familiar with system administration and programming in general and with the platforms they are using.

    This document also provides information about updates to the product that can be useful to system administrators and programmers.


    Document organization

    This document has the following organization:


    Obtaining the TXSeries PTF Set

    This chapter describes the procedure for downloading the TXSeries PTF Set for IBM TXSeries 4.2 for Solaris and the prerequisites that you must meet before downloading the patch.
    Note:If you wish to be notified in an e-mail message about future patch and TXSeries PTF Set releases, subscribe to the Patch Notification mailing list at the following URL:

    http://www.transarc.com/Downloads/DCE-EncPatchList.html


    Prerequisites and dependencies

    This section describes the requirements that you must meet to download the TXSeries PTF Set for Solaris.

    Disk space requirement

    The TXSeries PTF Set is delivered as a compressed file. Before downloading this file to your machine, ensure that enough space is available to accommodate it. See the IBM Transarc Web site for information about the size of the TXSeries PTF Set patch file.


    Download procedures

    There are several methods for obtaining the latest TXSeries PTF Set for TXSeries for Solaris:

    The following sections describe each of these methods.

    Downloading from the IBM Transarc Web site

    To download the TXSeries PTF Set from IBM Transarc's Web site, use the following procedure:

    1. Log in as root on the machine where the TXSeries PTF Set file is to be downloaded.

    2. Create a temporary directory that has adequate space to hold the patch file:
      # mkdir /tmp/ptf_directory
      

    3. Change to the directory you created in Step 2:
      # cd /tmp/ptf_directory
      

    4. Go to http://www.transarc.com/Downloads/txseries and perform the following steps:

      1. From the list labeled TXSeries Patch Downloads, choose CICS 4.2 or Encina 4.2. A TXSeries CICS screen or a TXSeries Encina screen is displayed showing a table of available downloads for various operating systems.

      2. Locate the row containing information for your platform. The columns provide access to additional platform-specific details.

      3. In the column labeled Obtain PTFs or CPLs, click the entry for the appropriate operating system. The TXSeries CICS 4.2 Patch Downloads screen or the TXSeries Encina 4.2 Patch Downloads screen is displayed.

      4. From the section labeled Choose Download Protocol, click the appropriate radio button to select either HTTP or FTP as your download protocol.

      5. In the selection box labeled Choose TXSeries CICS Patch to download or Choose TXSeries Encina Patch to download, click the patch you want. The patch is displayed in the selection box.

      6. Click the Download the patch button.

      7. Specify the location in which to save the patch file (for example, /tmp/ptf_directory).
        Note:The patch file is downloaded as a compressed tar file. When specifying the location in which to save the file, use the .tar.Z filename extension to indicate that the file is a compressed tar file.

    5. Unpack the patch file by using the zcat command as follows:
      # zcat ptf_file | tar -xvf -
      
      In this command, ptf_file is the full pathname of the CICS or Encina patch you downloaded.

    You have now successfully downloaded and uncompressed the TXSeries PTF Set. Follow the installation instructions in Installing the TXSeries PTF Set for TXSeries CICS or Installing the TXSeries PTF Set for Encina to install the appropriate patch on your system.

    Obtaining the TXSeries PTF Set on other media

    The TXSeries PTF Set is available on other media upon request. Contact your TXSeries support representative to request the TXSeries PTF Set on other media. You will need your media choice and mailing address information.


    Installing the TXSeries PTF Set for TXSeries CICS

    This chapter describes the procedure for installing the TXSeries PTF Set for TXSeries CICS 4.2 for the Solaris operating environment, and the prerequisites that you must meet before beginning installation.


    Prerequisites and dependencies

    Table 1 lists the prerequisites for installing the TXSeries PTF Set.

    Table 1. Prerequisites for installing the TXSeries PTF Set
    Component Requirement
    Operating environment Solaris version 2.5.1 or 2.6
    Distributed Computing Environment (DCE) IBM Transarc DCE 2.0 with CPL 5
    CICS (servers and clients)

    TXSeries CICS 4.2

    Note:This TXSeries PTF Set was tested using Solaris 2.6 and IBM Transarc DCE 2.0 with CPL 5.

    You must install the Solaris recommended patches from SunSoft. These Solaris patches are required to correct problems in the Solaris operating environment. You can determine which patches are already installed on a machine by using the showrev -p command. Note that SunSoft can make additional revisions of these patches available at any time; always install the latest revision of a patch. This TXSeries PTF Set was tested using the following set of recommended patches for the Solaris 2.6 operating environment:
    patch ID 105181-16 patch ID 105210-24 patch ID 105216-03
    patch ID 105284-25 patch ID 105356-09 patch ID 105357-04
    patch ID 105375-15 patch ID 105379-05 patch ID 105395-06
    patch ID 105401-20 patch ID 105407-01 patch ID 105464-02
    patch ID 105490-07 patch ID 105552-02 patch ID 105558-04
    patch ID 105562-03 patch ID 105566-07 patch ID 105580-13
    patch ID 105600-09 patch ID 105604-08 patch ID 105615-05
    patch ID 105621-17 patch ID 105642-05 patch ID 105665-03
    patch ID 105669-08 patch ID 105703-14 patch ID 105720-08
    patch ID 105741-05 patch ID 105755-07 patch ID 105786-08
    patch ID 105797-06 patch ID 105800-05 patch ID 105802-08
    patch ID 105837-03 patch ID 105926-01 patch ID 106040-11
    patch ID 106049-01 patch ID 106125-07 patch ID 106193-03
    patch ID 106222-01 patch ID 106226-01 patch ID 106235-03
    patch ID 106242-02 patch ID 106257-04 patch ID 106271-05
    patch ID 106301-01 patch ID 106439-05 patch ID 106448-01
    patch ID 106495-01 patch ID 106828-01 patch ID 107434-01


    Installation procedure

    Perform the following steps to install TXSeries PTF Set for CICS 4.2 on a machine running the Solaris operating environment:

    1. Log in as root on the machine where the TXSeries PTF Set is to be installed. Ensure that root is configured for CICS system administration as described in the TXSeries 4.2 for Solaris Quick Beginnings document.

    2. If your CICS configuration is part of a Distributed Computing Environment (DCE) cell, log into DCE as the DCE administrative principal (by default, cell_admin):
      # /opt/dce/bin/dce_login DCE_admin_principal
      

    3. Ensure that the directory /opt/cics/bin is included in the PATH environment variable, and that the directory /opt/cics/lib is included in the LD_LIBRARY_PATH environment variable.

    4. If this machine contains a file manager (Structured File Server (SFS) server or DB2 database) or Peer-to-Peer Communications (PPC) Gateway server used by a CICS region on another machine, stop the remote region as follows:

      1. Log into the remote machine as root. If the remote CICS region is configured as part of a DCE cell, log into DCE as the DCE administrative principal (by default, cell_admin).

      2. Stop each region on the remote machine that is using the file manager by entering the following command, where regionName is the name of the region:
        # /opt/cics/bin/cicsstop regionName
        

      3. Verify that the region is stopped by entering the following command:
        # /opt/cics/bin/cicstail -r regionName
        

        When the following message appears in the command output, the region has stopped successfully:

        *** Shutdown of CICS region "regionName" is complete *** 
        

    5. Stop each region on the machine where the TXSeries PTF Set is to be installed by entering the cicsstop command as shown in Step 4, and then verify that the shutdown is complete by using the cicstail command for each region as shown in Step 4c.

    6. Stop each SFS server on the machine by entering the following command, where sfsServerName is the name of the SFS server:
      # /opt/cics/bin/cicssfsshut /.:/cics/sfs/sfsServerName
      

    7. Create a backup directory to store the current CICS installation (the directory must have at least 30 MB of disk space available):
      # mkdir /opt/backup_directory
      

    8. Save the current CICS installation to the backup directory you created in Step 7 by using the cicssave.sol script that is included with the TXSeries PTF Set:
      # cd /tmp/ptf_directory
      
      # ./cicssave.sol -d /opt/backup_directory
      

      In these commands, ptf_directory is the full pathname of the directory that contains the uncompressed TXSeries PTF Set packages and backup_directory is the full pathname of the directory you created to contain a backup of your current installation of CICS.

    9. Ensure that you are in the temporary directory to which you copied the TXSeries PTF Set files, and then install the TXSeries PTF Set by using the pkgadd command:
      # pkgadd -d . [-r ./CICSProd.res] [-a ./PTF.admin]
      

      The -r and the -a options and their arguments are required if you are upgrading a production system; if you are upgrading a development system, do not include them in the command.
      Note:Use the pkginfo command after installing or removing a TXSeries PTF Set to verify the current CICS patch level.

    10. If Micro Focus COBOL is installed on the machine, upgrade the cicsprCOBOL language method file (which contains the COBOL runtime and support routines) by doing the following:

      1. Change the working directory to /opt/cics/bin and list the contents of the directory. If cicsprCOBOL exists, remove it and re-create it by using the cicsmkcobol command.

      2. If any region on the machine uses a unique COBOL language method file, then for each region, change the working directory to /var/cics_regions/regionName/bin, remove the existing cicsprCOBOL file, and re-create the file by using the cicsmkcobol command.
        Note:If any copy of cicsprCOBOL was built to support transactions using other products (such as a relational database management product), rebuild cicsmkcobol by using the same operands that were used originally. Refer to the CICS Administration Reference for more information.

    11. If any region on this machine uses an External Security Manager (ESM), recompile it.

    12. If any region uses a DB2 database for file management, do the following:

      1. Verify that DB2 is running; if necessary, start the database. See your DB2 documentation for instructions.

      2. Ensure that your environment is set up for DB2 administration and that the LD_LIBRARY_PATH environment variable contains the value $DB2DIR/lib.

      3. Rebind the file management packages for each region that uses the database by entering the following command.
        # /opt/cics/bin/cicsdb2conf -I -r regionName -C -i instanceName \
        -a databaseName -s 
        

        In this command, the -I option directs the command to ignore nonfatal errors, the -C option specifies the complete configuration of DB2 for the region and the configuration of the region resources for DB2, and the -s option suppresses creation of the XA definition (XAD). The regionName is the name of the region using the corresponding DB2 instance (instanceName) and DB2 database (databaseName).

        You can safely ignore error messages about the creation of queue objects.

    13. If any CICS applications on this machine use the XA interface for communicating with XA-enabled relational databases, rebuild the switch load files. For instructions, see the CICS Administration Guide.
      Note:This step is not necessary if you are using CICS-supplied switch load files.

    14. If any region on this machine uses an SFS server on another machine, verify that the remote SFS server is running. If the region on this machine uses an SFS server on this machine, start that SFS server by entering the following command:
      # /opt/cics/bin/cicssfs /.:/cics/sfs/sfsServerName
      

    15. Enter the following command to start each CICS region on the machine, repeating the command once for each region:
      # /opt/cics/bin/cicsstart regionName
      

    16. Verify that each CICS region has started successfully by entering the following command once for each region:
      # /opt/cics/bin/cicstail -r regionName
      

      The region has started successfully when the command output displays the following message:

      *** CICS startup is complete ***
      

      To ensure that no errors occurred during the region restart, you can also check the appropriate console.number file in the /var/cics_regions/regionName directory. To determine the appropriate console file, view the region's console.nam file in the same directory.

    17. If you shut down any remote regions in Step 4, log into the remote machines as root. Restart each region by entering the following command on the remote machines:
      # /opt/cics/bin/cicsstart regionName
      

      Use the cicstail command as shown in Step 4c to verify that each remote region has been restarted.

    18. When you have determined that the changes in this TXSeries PTF Set are satisfactory, remove the backup directory and the scripts that use it. If you decide to remove the TXSeries PTF Set, change to the temporary directory ptf_directory you created in Step 2 and use the cicsbackout.sol script that is included with the TXSeries PTF Set to restore the previous version of CICS:
      # ./cicsbackout.sol -d /opt/backup_directory
      

      where backup_directory is the same directory that was specified with the cicssave.sol script in Step 7 before installation of the TXSeries PTF Set.

    19. To start a CICS client and verify that a region is running, enter the cicsterm command:
      # /opt/cics/bin/cicsterm -r regionName
      

      The output of this command is a blank screen on which you can enter CICS commands.

    TXSeries PTF Set documentation

    The TXSeries PTF Set documentation is included in the TXSeries PTF Set tar file, along with the updated CICS packages. The documentation is provided in Hypertext Markup Language (HTML) format in the file named READPTF.lang.htm. Extract the TXSeries PTF Set documentation by using the tar command:

    # tar -xvf ptf_file READPTF.lang.htm
    

    In this command, ptf_file is the pathname of the TXSeries PTF Set file you downloaded, and lang is the locale in which you want to view the documentation. For example, the file named README.en_US.htm is in U.S. English.

    TXSeries PTF Set documentation is also available at the following IBM Transarc Web site:

    http://www.transarc.com/Library/documentation


    Installing the TXSeries PTF Set for Encina

    This chapter describes the procedure for installing the TXSeries PTF Set for TXSeries Encina 4.2 for the Solaris operating environment, and the prerequisites that you must meet before beginning installation.


    Prerequisites and dependencies

    Table 2 lists the prerequisites for installing the TXSeries PTF Set.

    Table 2. Prerequisites for installing the TXSeries PTF Set
    Component Requirement
    Operating environment Solaris version 2.5.1 or 2.6
    Distributed Computing Environment (DCE) IBM Transarc DCE 2.0 with CPL 5
    Encina (servers and clients) TXSeries Encina 4.2
    Note:This TXSeries PTF Set was tested using Solaris 2.6 and IBM Transarc DCE 2.0 with CPL 5.

    You must install the Solaris Recommended Patches from SunSoft. These Solaris patches are required to correct problems in the Solaris operating environment. You can determine which patches are already installed on a machine by using the showrev -p command. Note that SunSoft can make additional revisions of these patches available at any future time; always install the latest revision of a patch. This TXSeries PTF Set was tested using the following set of Recommended Patches for the Solaris 2.6 operating environment:
    patch ID 105181-16 patch ID 105210-24 patch ID 105216-03
    patch ID 105284-25 patch ID 105356-09 patch ID 105357-04
    patch ID 105375-15 patch ID 105379-05 patch ID 105395-06
    patch ID 105401-20 patch ID 105407-01 patch ID 105464-02
    patch ID 105490-07 patch ID 105552-02 patch ID 105558-04
    patch ID 105562-03 patch ID 105566-07 patch ID 105580-13
    patch ID 105600-09 patch ID 105604-08 patch ID 105615-05
    patch ID 105621-17 patch ID 105642-05 patch ID 105665-03
    patch ID 105669-08 patch ID 105703-14 patch ID 105720-08
    patch ID 105741-05 patch ID 105755-07 patch ID 105786-08
    patch ID 105797-06 patch ID 105800-05 patch ID 105802-08
    patch ID 105837-03 patch ID 105926-01 patch ID 106040-11
    patch ID 106049-01 patch ID 106125-07 patch ID 106193-03
    patch ID 106222-01 patch ID 106226-01 patch ID 106235-03
    patch ID 106242-02 patch ID 106257-04 patch ID 106271-05
    patch ID 106301-01 patch ID 106439-05 patch ID 106448-01
    patch ID 106495-01 patch ID 106828-01 patch ID 107434-01


    Installation procedure

    Before installing the TXSeries PTF Set on a machine, you must shut down all Encina servers running on that machine, including cell and node managers, application servers, and recoverable servers. If a client is running on the machine, you must shut it down also.
    Note:When you install the TXSeries PTF Set on the machine on which your Encina cell manager runs, you must decide whether you want to keep all of the other servers in the cell running or shut them down. If you shut down the cell manager in a multinode cell without shutting down all of the servers in that cell, any serious messages that are emitted while the cell manager is down can be lost. To avoid this problem, shut down all of the servers in the cell before shutting down the cell manager. You do not need to shut down all of the node managers in the cell, only the node manager on the machine on which you are installing the TXSeries PTF Set.

    Perform the following steps to install the TXSeries PTF Set for Encina 4.2 on a machine running the Solaris operating environment:

    1. Shut down each Encina client that uses any server on the machine by using your normal client shutdown procedures.

    2. Log in as root on the machine where the TXSeries PTF Set is to be installed.

    3. Log into the Distributed Computing Environment (DCE) as the Encina administrative principal (by default, encina_admin):
      # /opt/dce/bin/dce_login Encina_admin_principal
      

    4. If you use Encina administrative commands to back up server log and data volumes (for example, the tkadmin backup lvol command), back up the log and data volumes for each Encina server on the machine now. To ensure the safekeeping of data, back up the volumes to a location unaffected by the installation of the TXSeries PTF Set. For information on using the tkadmin backup lvol command, see the reference page for the command or your Encina documentation.

    5. Ensure that the DISPLAY environment variable is set to the name of the local machine.

    6. If Enconsole is not already running on the machine, start it by entering the following command:
      # /opt/encina/bin/enconsole /.:/cell_name &
      

      In this command, cell_name is the name of your Encina Monitor cell. For information on using Enconsole, see your Encina documentation.

    7. From Enconsole's Actions menu, choose the Stop Server command to stop each of the following servers running on the machine: Monitor application servers (MAS), Peer-to-Peer Communications (PPC) Gateway servers, Recoverable Queueing Service (RQS) servers, Structured File Server (SFS) servers, and Toolkit servers. You must stop these servers in the order required by any dependencies among them. If there are no dependencies among them, you can stop them in any order.

    8. If you are upgrading the cell manager machine and want to shut down all of the servers in the cell that are running on other machines, stop those servers now. Use the procedure described in Step 7 to stop the servers.

    9. If a node manager is running on this machine, stop it by choosing the Stop Node command from the Actions menu. Choose the node manager from the selection box, and then choose the OK button. Enconsole closes the selection box, displays the Command Status display screen, and stops the node manager. Choose the OK button to close the Command Status screen.

    10. If a cell manager is running on this machine, stop it by choosing the Stop Cell command from the Actions menu. Enconsole displays the message Do you really want to stop the cell? Choose the Yes button. Enconsole displays the Command Status display screen and stops the cell manager. Choose the OK button to close the Command Status screen.

    11. Choose Exit from the File menu to exit from Enconsole. Choose Yes to confirm the exit.

    12. Shut down any third-party software used by Encina. See the documentation for the third-party software for instructions.

    13. Use an operating system utility to back up the Encina directory root (by default, /opt/encinalocal) and the mirror directory root (by default, /opt/encinamirror) to a location unaffected by the installation of the TXSeries PTF Set. If Encina data is stored in other directories, be sure to back it up as well. In the following example, the tar command is used to back up the Encina directories in /opt to a device named /dev/tape:
      # cd /opt
      # tar -cvf /dev/tape encinalocal encinamirror
      

    14. If you have not already backed up the log and data volumes for each server on the machine, do so now by using an operating system utility (such as the dd command).

    15. Create a backup directory to store the current Encina installation (at least 65 MB is required for the backup).
      # mkdir /opt/backup_directory
      

    16. Save the current Encina installation to the backup directory you created in Step 15 by using the encsave.sol script that is included with the patch, as follows:
      # cd ptf_directory
      
      # ./encsave.sol -d /opt/backup_directory
      

      In these commands, ptf_directory is the full pathname of the directory that contains the uncompressed TXSeries PTF Set packages and backup_directory is the full pathname of the directory you created to contain a backup of your current installation of Encina.

    17. Ensure that you are in the temporary directory to which you copied the patch files, and then install the patch by using the pkgadd command, as follows:
      # pkgadd -d ptf_directory
      

      In this command, ptf_directory is the full pathname of the directory that contains the uncompressed TXSeries PTF Set packages.
      Note:Use the pkginfo command after installing or removing a patch to verify the current Encina patch level.

    18. If the machine contains the cell manager, use the rc.encina.cell script to restart the cell manager:
      # /opt/encinalocal/cell_name/ecm/rc.encina.cell
      

      In this command, cell_name is the name of your Monitor cell.

    19. Enter the ps command to verify that the cell manager (the ecm process) is running.

    20. If the machine contains a node manager, use the rc.encina.node_name script to restart the node manager:
      # /opt/encinalocal/cell_name/node/node_name/rc.encina.node_name -enable 
      

      In this command, cell_name is the name of your Monitor cell, and node_name is the name of the local node manager.

    21. Enter the ps command to verify that the node manager (the enm process) is running.

    22. Start Enconsole by entering the following command:
      # /opt/encina/bin/enconsole /.:/cell_name &
      

    23. Start each MAS, RQS, SFS, PPC Gateway, and Toolkit server on the machine by choosing the Start Server command from the Actions menu. You must restart the servers in the order required by any dependencies among them. If there are no dependencies among the servers, you can start them in any order.

    24. When you have determined that the changes in this TXSeries PTF Set are satisfactory, you can remove the backup directory and the scripts that use it. If you instead decide to remove the patch, change to the directory that contains the patch you downloaded, and use the encbackout.sol script that is included with the patch to restore the previous version of Encina, as follows:
      # ./encbackout.sol -d /opt/backup_directory
      

      In this command, backup_directory is the full pathname of the directory that was used with the encsave.sol script in Step 16.

    25. Use your normal client startup procedure to start each Encina client that you shut down in Step 1.

    TXSeries PTF Set documentation

    The TXSeries PTF Set documentation is included in the TXSeries PTF Set tar file, along with the updated Encina packages. The documentation is provided in Hypertext Markup Language (HTML) format in the file named READPTF.lang.htm. Extract the TXSeries PTF Set documentation by using the tar command as follows:

    # tar -xvf ptf_file READPTF.lang.htm
    

    In this command, ptf_file is the pathname of the TXSeries PTF Set file you downloaded, and lang is the locale in which you want to view the documentation. For example, the file namedREADME.en_US.htm is in U.S. English.

    TXSeries PTF Set documentation is also available at the following IBM Transarc Web site:

    http://www.transarc.com/Library/documentation


    Updates to TXSeries CICS

    This chapter describes the updates to TXSeries included in the TXSeries PTF Set for CICS 4.2. The most recent changes made to CICS are described in Updates in PTF Set 7. All other changes are listed in descending APAR order in the section Updates in all previous patches.


    Updates in PTF Set 7

    APAR IY05638 (Defect 202341)

    The existing System Network Architecture (SNA) communications code in TXSeries 4.2 applies the SNA receive_and_wait procedure to most communications occurring over region-to-region or Common Client-to-region intersystem connections. This SNA receive_and_wait procedure blocks processing until the remote region fully replies to the sent request. A timeout process for SNA conversations was required to remove the block and deallocate the conversation.

    Changes have been implemented to provide a timeout process for use by SNA receive processes. Now, SNA receive processes issue a new message, ERZ59999E, stating that the time-out period has expired. The SNA receive process deallocates the SNA conversation and issues the abend message AB61, which describes the expiration of the SNA timeout period.

    APAR IY05636 (Defect 201958)

    A timeout facility on TCP/IP connections between a distributed CICS region and a Universal Client for TXSeries CICS was required by feature 201992. Code changes were made to header and configuration files for implementation of this feature.

    The regco.cdf files have been changed to allow a new IEntry field, TimeOutSupported. This feature is supported in a runtime-only mode, so no migration tool is needed; however, a cold start is required. The header file change and the extra #define code, used to modify the data stream, are added to the comcl_priv.h file. The CCIN function, a CICS function that receives information from remote systems, has been modified to read the TimeOutSupported value on the request for a client connection. The field is self-defining, so existing clients can still connect without code changes, other than setting the default value of TimeOutSupported to False. Setting the default value of TimeOutSupported is the only change required to support the timeout capability in the CCIN install request from the Universal Client.

    APAR IY05516 (Defect 202275)

    Abend code U3466 was returned during the processing of the RegDC_CleanUp procedure because the procedure invoked a mutex before the mutex had been initialized. The abend code was triggered by a signal 28 (sigwinch) message, which caused the application server to fail.

    Mutex initialization is now performed in the TasTA_InitTask procedure, rather than in the RegDC_TaskInit procedure. This change causes the calls to the procedures to occur in the proper sequence for handling the mutex initialization requirements.

    APAR IY05236 (Defect 202403)

    On AIX multiprocessor machines, contention for the EventData mutex occurred when the main thread was waiting for the Event Responder Thread (ERT) to handle an event. The main thread cycled in an unlock/yield/lock loop within the function while the ERT was blocked from locking the EventData mutex.

    A short (one-millisecond) delay was included into the unlock/yield/lock loop. This ensures that the ERT is able to lock the EventData mutex and process the event.

    APAR IY05226 (Defect 202404)

    Code changes that were made to certification and decertification of the threadTID failed to properly handle thread cancellation procedures.

    Additional changes were made to the threadTID processing to test for thread certification and handle thread cancellation as follows: If the main thread is certified, it cannot be canceled. If the main thread is decertified, it can be canceled.

    APAR IY04919 (Defect 202328)

    Abends occurred on some user transactions resulting in display of the following messages:

    ERZ057002E/0259 CICS internal error:  Unsuccessful condition
    TASTA_MYCATASK->AsyncAborted for function 'TasLU_CheckForAbort'
    ERZ05605E/0017 Abnormal termination U5655: a crucial mutual \
    exclusion lock at address xxxx is held by a terminated process.
    

    These errors occurred because the processes that perform the thread certification and decertification were called at the wrong time in the code.

    Code changes were made to implement the certification and decertification of threadTIDs around user transactions and user exits. However, if the CICS Application server (cicsas) process is XA-registered, the thread is not decertified. The XA specifications mandate that the XA Logical Unit of Work (LUW) cannot be aborted in a different thread. Also, the code ensures that the thread is not certified before calling the process to recertify it.

    APAR IY04793 (Defect 202402)

    When a FORCEPURGE procedure was performed on a task that was holding a crucial mutex, the CICS region terminated abnormally and reported Abend U5655.

    Changes were made to the ComCL_CCINInstall procedure to fix this problem. Now, the call to the ComCL_CallDFHCCINX procedure is enclosed in a TRY/CATCH error processing code block. If this code block encounters a SUPPR_EXCEPTION_PROCESS exception flag, the IEntry mutex is released, the runtime database entry is deleted, and the exception is reissued.

    APAR IY04285 (Defect 202321)

    Terminal naming clashes caused CICS A28H abends to occur when transaction routing from a Terminal Owning Region (TOR) used autoinstall to sequentially assign terminal IDs (termids). The termids, along with the TOR netname, were shipped to a TXSeries Application Owning Region (AOR), where TXSeries does its own autoinstall. When a subsequent request using the same netname was received, the call to the ComSU_AddNodeToTree procedure failed due to a duplicate netname.

    The code has been changed to search for the new termid and if it does not exist, make a similar check on the netname. If a match on the netname is found, locate the old terminal entry associated with it. Next, make the same checks currently made for a match between an old termid and a new termid. Then, if the old termid is not being used and is not marked for deletion, use the old termid; otherwise, create a new termid.

    APAR IY04262 (Defect 202298)

    In the loop occurring between the issue of a STARTBR (start browse) command and an ENDBR (end browse) command, if an invalid key was used, a new Structured File Server (SFS) server Open File Descriptor (OFD) was created for every iteration, and the existing OFD was not reused. When an invalid key was used, the logic that set the status of the current OFD assigned a status that did not allow the OFD to be used again until it was cleaned up by a syncpoint.

    The code has been changed to correct this problem. Now, if the DamFS_SetBrowseByKey process returns the message DAMFS_ENO_SUCH_RECORD, the following steps are taken:

    Note that when the ENDBR command gets a valid FRTE, it discards any SFS cache and resets the FRTE current handle state to FREE. This allows any subsequent STARTBR commands to reuse the same SFS server OFD.

    APAR IY03836 (Defect 202253)

    On CICS for Solaris, when the cicsterm command was run in a dtterm session started on a Solaris system, error messages were returned. This problem did not occur on sessions that were started on an AIX or HP dtterm and connected into a Solaris system using telnet. The following error messages were returned on a Solaris system:

    ERZ100022E/1302 Failed to initialize 3270 screen management: 3120015
    ERZ100024E/1003 Error received from 3270 display subsystem.
    

    An error trace showed that the TerLD_Initialize procedure produced the message return(21,RSN_4).

    A code correction was made to the TerLD_Initialize procedure, and it is now possible to use a cicsterm command in a Solaris dtterm session.


    Updates in all previous patches

    APAR IY04059 (Defect 202163)

    On CICS for AIX, issuing the cicscp create telnet_server command on a machine running IBM Distributed Computing Environment (DCE) version 2.2 produced the following error:

    chmod: /var/cics_clients/TGDMTEST.key: A file or directory in the path name does 
    not exist. 
    ERZ058129W/0062: Failed to set permissions for file '' 
    chgrp: /var/cics_clients/TGDMTEST.key: A file or directory in the path name does 
    not exist. 
    ERZ058130W/0063: Failed to set group for file '' 
    chown: /var/cics_clients/TGDMTEST.key: A file or directory in the path name does 
    not exist. 
    ERZ058131W/0064: Failed to set owner for file '' 
    ERZ096021E/0024: The DCE function 'sec_rgy_pgo_is_member()' failed with the error 
    'Registry object not found (dce / sec)' 
    ERZ096004E/0005: An error was encountered during the processing of the cicscp 
    command. 
    

    The cicscp create telnet_server command now works correctly when issued on a machine running IBM DCE version 2.2.

    APAR IY04054 (Defect 202307)

    Several race conditions corrupted unprotected shared region data after concurrent updates were made from multiple threads. In some situations, the corrupted data caused the region to abnormally terminate with unpredictable symptoms and points of execution.

    The race conditions have been eliminated, and unprotected shared region data is no longer corrupted.

    APAR IY04053 (Defect 201791)

    When a multi-byte character set (MBCS) version of CICS was used, CICS parsed the MBCS data stream in an attempt to translate it. The parsing interfered with printer control sequences.

    The new environment variable CICS_NO_PRINTER_PARSING can now be set to prevent CICS from parsing the MBCS data stream and interfering with printer control sequences.

    APAR IY04052 (Defect 200640)

    Using the cicsddt ftod command with a file that had multple fields in the index produced the error message Warning! Index creation failed. The cicsddt ftod command now works correctly.

    APAR IY04051 (Defect 202171)

    On CICS for HP-UX, the cicssfmt command was unable to locate the libcicssfmtsa.sl shared library, and failed with the following error:

      /usr/lib/dld.sl: can't open shared library: 
    /cics/ServLvl/hp800_ux90_N/src/inf/sf/src/libcicssfmtsa.sl 
    /usr/lib/dld.sl: No such file or directory 
    IOT trap (core dumped)  
    

    The cicssfmt command is now able to locate the shared library.

    APAR IY04050 (Defect 202240)

    On CICS for AIX, CICS regions did not generate a traceback file when a process encountered a fatal exception. As a result, it was difficult to diagnose errors.

    A new diagnostic facility has been added to enable a CICS region to generate traceback files when exception signals are received. The traceback file is named cicsNNNN.traceback, where NNNN specifies the process ID (PID) that received the signal. Traceback files are stored in the directory /var/cics_regions/regionName/dump/dumpDirectoryName, where regionName is the name of your region and dumpDirectoryName is the name of your dump directory (by default, dir1). The traceback file contains the following information:

    If a CICS region or application server receives an exception signal, the resulting traceback file can be supplied to IBM support representatives as part of the diagnostic process.

    APAR IY04049 (Defect 202174)

    On CICS for HP-UX, using the cicscp create telnet_server command to create a telnet server for an existing process in the TCP/IP services file incorrectly produced an error message stating that the server did not exist.

    The cicscp create telnet_server command now recognizes existing processes in the TCP/IP services file.

    APAR IY04048 (Defect 202165)

    On CICS for HP-UX, the cicscp create telnet_server command incorrectly relied on the nawk utility, even though nawk is not supported on HP-UX systems. As a result, attempts to create and start a telnet server produced the following messages:

    ERZ096071I/0108: Creating a telnet server 
    ERZ096037I/0052: The DCE is already running 
    /bin/ksh: kill -HUP 'ps -e | grep inetd | /usr/bin/nawk '{print $1}'`: cannot open 
    ERZ096163I/0109: cicscp has assigned port number 'portNumber' to telnet server 
    'serverName' 
    ERZ096072I/0109: The telnet server 'serverName' was created successfully  
    ERZ096002I/0003: cicscp command completed successfully 
    

    The cicscp create telnet_server command no longer relies on nawk, and the command now successfully creates and starts a telnet server on an HP-UX system.

    APAR IY04045 (Defect 202122)

    When using an external call interface (ECI) program that executes the EXEC CICS OPEN FILE and EXEC CICS CLOSE FILE commands from five different connections, one process was able to close a file while another was still opening it. As a result, the region terminated abnormally. While the initial solution to this problem prevented the region from abnormally terminating, it also caused all CICS processes to wait indefinitely.

    This situation no longer causes regions to fail and CICS processes to wait indefinitely.

    APAR IY04040 (Defect 201792)

    If a CICS terminal connection was closed while the terminal was still running a transaction, the CCIN transaction was unable to delete the terminal entry from the Communication Definitions (CD) in the 24 iterations the transaction performed. Until the terminal entry was manually deleted from the CD, subsequent connection attempts failed.

    The CCIN transaction now tries to delete the terminal entry indefinitely. If the old behavior is desired, the new region environment variable CICS_GIVEUPDELETINGCONNECTION can be set to reinstate the limit of 24 iterations for the CCIN transaction.

    APAR IY04039 (Defect 201990)

    The CICS transaction scheduler held inconsistent data in region storage, causing CICS self-consistency checks to fail and the region to terminate abnormally. CICS self-consistency checks and the CICS region no longer fail for this reason.

    APAR IY03691 (Defect 202068)

    Universal Client Terminals (version 3.1) for AIX failed to install. The flow for the CTIN transaction was modified for the 3.1 release to add an additional signon-capable field. This field is self-defining and should be ignored by any server that does not expect it. However, CICS rejected the flow with the error ERZ042004E/0112. Universal Client Terminals now install correctly.

    APAR IY02512 (Defect 202131)

    When SNA was used with variable buffer lengths and a header was split across two buffers, the receipt of the header was processed incorrectly. Initially, only the first two bytes of the four-byte header were received. Another attempt was then made to read the full header. Instead of returning the full four-byte header, however, the function call returned the last two bytes of the header and the first two bytes of data. As a result, all subsequent processing of the data was invalidated. Headers are now processed correctly in this situation.

    APAR IY02199 (Defect 201391)

    On CICS for Windows NT, when a cicssdt command was used with the ftos option to transfer a flat file to a SFS file, each record in the file lost bytes of data equal to one less than the record's sequence in the file. For example, if the record was tenth in the file, it lost nine bytes of data on transfer. This command now works correctly.

    APAR IY02194 (Defect 202059)

    A CICS application server sometimes waited indefinitely for an internal SNA allocate or deallocate function call. CICS application servers no longer wait indefinitely for an SNA allocate or deallocate function call.

    APAR IY02191 (Defect 200897)

    When a CICS application manager attempted to terminate a corrupted CICS application server and run cleanup functions, the application manager waited indefinitely for the server to release the region storage pool mutex, suspending all other processing by the region.

    Now the CICS application manager calls the CICS application server cleanup functions before attempting to terminate the server. This action frees the necessary region storage pool mutex.

    APAR IY02190 (Defect 201788)

    When distributed transaction processing (DTP) was attempted over a CICS family TCP/IP connection, the value SYSIDERR was returned instead of INVREQ, as described in the documentation. The correct value of INVREQ is now returned.

    APAR IY02189 (Defect 201697)

    On CICS for Windows NT, using the cicsupdate command to set the NameService stanza entry to NONE failed with the error message ERZ034084W/0348. This command now works correctly.

    APAR IY02188 (Defect 201768)

    On CICS for Windows NT, the CICS message ERZ058022E/210 did not list the operating system error code that was returned from the failure.

    The operating system error code is now included in the message Error code (errorCode), where errorCode is the actual operating system error code.

    APAR IY02187 (Defect 200939)

    On CICS for AIX , no method existed to monitor regions and transaction queues. An external interface is now available that monitors regions and transaction queues.

    APAR IY02186 (Defect 137254)

    When a CICS application server detected an internal exceptional condition, it terminated with a U1001 abend code. Because abend codes that begin with the letter "U" denote region termination, the abend code and the documented actions were inappropriate.

    A new abend code, A101, now appears with an appropriate message when this situation occurs.

    APAR IY02185 (Defect 201377)

    When a CICS data conversion routine failed to open a code page, no failure code was provided. The operating system error number is now provided in the message errno is errorNumber (where errorNumber is the actual operating system error number).

    APAR IY02184 (Defect 201926)

    Internal CICS trace initialization failed with a segmentation violation in certain cases. Internal CICS trace initialization has been modified to eliminate the segmentation violation.

    APAR IY02183 (Defect 201357)

    On CICS for Windows NT, the CCIN transaction could not start because Process Initialization Parameter (PIP) data sent to a remote system was incorrectly specified. The error message ERZ030008E with communications error 15A00007/10086032 was written to the console file. This problem has been corrected.

    APAR IY02182 (Defect 200961)

    When the cicstermp command failed, the resulting error message sometimes stated that the NetName was not known, even though the correct NetName was seen with the CEMT transaction and in system dumps. No method existed to view the ModelId, NetName, and TerminalID to help solve the problem.

    Setting a new environment variable, CICSAUTOINSTALLMODE, now enables the ModelId, NetName Tree, and TerminalId Tree to be viewed in the CICS console messages. To view only the ModelID, set the value to 16. To view the NetName Tree and TerminalId Tree only, set the value to 32. To view the ModelId, NetName Tree, and TerminalId Tree, set the value to 48.

    APAR IY02181 (Defect 201644)

    When the maximum number of ECI terminals indicated by the CICSECIMAXLU parameter were installed during a long-running ECI application, the terminals began to uninstall. Setting the new environment variable CICS_ECINODELETETERMINAL prevents terminals from uninstalling in this situation.

    APAR IY02180 (Defect 201257)

    When a long-running process was traced, it was possible to use up all available trace file identifiers because the maximum number available was 999. When the limit of 999 is reached, CICS now reuses trace file numbers, starting with the oldest.

    APAR IY02179 (Defect 200780)

    When the cicsterm command was used with the database COBOL examples included with the CICS product, errors were generated in certain database field values. The cicsterm command now works properly when used with the database COBOL examples included with the CICS product.

    APAR IY02178 (Defect 201931)

    On CICS for AIX, CICS for Solaris, and CICS for Windows NT, the message ERZ036225E stated that a failing function was admin_vol_MapLogicalVol, when it was actually admin_vol_InitializeDisk. The message now reports the correct function name.

    APAR IY02177 (Defect 201345)

    On CICS for Windows NT, the default cicslcli.ini file in a client enabled for euro currency support did not permit accented characters to be displayed correctly.

    The cicslcli.ini file in a client enabled for euro currency support now permits accented characters to be displayed correctly. If users modify the cicslcli.ini file from the \opt\cics\bin directory, they must add the line UseOEMCP=N to the Client section to enable the correct display of accented characters.

    APAR IY02176 (Defects 201334, 202132)

    The statistics transactions CST5, CST6, CST7, CST8, and CST10 failed to supply terminal statistics when more than 4,000 terminals were installed. The CST5, CST6, CST7, CST8, and CST10 transactions have been modified to handle a maximum of 12,000 installed terminals.

    APAR IY02175 (Defect 201514)

    On CICS for Windows NT, when performing an asynchronous ALLOCATE on CICS for Windows NT, an internal CICS function sometimes returned before the ALLOCATE had completed.

    The CICS internal function now waits for a longer time before returning to enable an asynchronous ALLOCATE to complete in most cases.

    APAR IY02174 (Defect 201333)

    On CICS for Solaris and CICS for Windows NT, sometimes an application server refused to perform ASCII/EBCDIC conversion on fields routed over SNA connections. Application servers now perform ASCII/EBCDIC conversion on fields routed over SNA connections.

    APAR IY02173 (Defect 201332)

    Micro Focus COBOL applications using CICS sometimes received runtime External File Handler (EXTFH) memory access violation errors. CICS now clears the internal storage location following a malloc function, which corrects the access violation error conditions.

    APAR IY02172 (Defect 201440)

    The monitoring fields ElaspsedTimeInCICSSpace and SystemUserTimeInCICSSpace incorrectly included time spent in user programs. These fields now report only time spent in CICS processing.

    APAR IY02171 (Defect 201106)

    When a CICS region used DB2 file management, the CICS Installation Verification Program (cicsivp) failed if the file already existed, and the region did not get configured to run the CICS Installation Verification Program. The CICS Installation Verification Program now recognizes and runs with an existing file.

    APAR IY02170 (Defect 201052)

    When an application misused a Basic Mapping Support (BMS) map and the map was sent to a telnet session, the cicsteld command went into an endless loop.

    CICS now checks the data stream for invalid controls and, if one is encountered, terminates the data stream at that point and returns an error. The cicsteld command now prints the data stream.

    APAR IY02169 (Defect 137509)

    When a transaction was delayed by the EXEC CICS DELAY command and then canceled by a FORCEPURGE, the REQID used by the transaction was unavailable for use in other commands for the lifetime of the region. The REQID is now available under these conditions.

    APAR IY01778 (Defect 202004)

    The CICS DUMP command waited indefinitely if it was issued when an application server was processing a long-running CICS transaction. Long-running transactions no longer cause the DUMP command to wait indefinitely.

    APAR IY01488 (Defect 201984)

    When a program issued an EXEC CICS SYNCPOINT ROLLBACK command in a loop, a memory leak was exposed because a call necessary to free memory allocated for abort reason strings was not being made. CICS now frees the memory allocated for abort reason strings.

    APAR IY01354 (Defect 201935)

    When an Oracle transaction was canceled by a FORCEPURGE, Oracle returned an XA_RMERR code, which caused the CICS region to abnormally terminate with either abend code U8022 or U8005.

    The CICS internal code now accepts the XA_RMERR code without abnormally terminating the region. To enable this new code, the user must rebuild the XA switch load file.

    APAR IY01350 (Defect 201424)

    When a CICS application server was shut down, it tried unsuccessfully to destroy the associated instance control block (ICB) used for interprocess communication. The associated ICB is now destroyed when a CICS application server is shut down.

    APAR IY01348 (Defect 201590)

    Sometimes, when an internal CICS function could not take a lock immediately, a CICS application server became caught in a loop and consumed 100 percent of the CPU, preventing any process from releasing resources for which the CICS application server was waiting. The server now permits other processes to run and free resources in this situation.

    APAR IY01130 (Defect 201917)

    On CICS for AIX , the cicscp command did not recognize an existing DCE 2.2 configuration because the configuration file is now called cfg.dat, rather than mkdce.data.

    The cicscp command now looks for the file /etc/dce/cfg.dat to determine whether a DCE 2.2 configuration exists.

    APAR IX89157 (Defect 201640)

    After creating 16 terminals, an ECI client failed with the error condition ECI_ERR_NO_CICS. An ECI client no longer fails after creating 16 terminals.

    APAR IX88751 (Defect 201551)

    Sometimes when a terminal was abnormally terminated and all associated CICS tasks were canceled by a FORCEPURGE, the region abnormally terminated with code U5701. The CICS region no longer abnormally terminates under these circumstances.

    APAR IX88750 (Defect 201621)

    When the CCIN transaction was restricted by TCLASS and a large number of CCIN transactions were scheduled as a result of Common Client systems disconnecting, the call to an internal CICS scheduling function failed. A return code provided earlier in the scheduling function was overwritten. This caused CICS to drive unnecessary cleanup at the end of the function, resulting in the region abnormally terminating with abend code U4802.

    An additional storage variable now exists in the internal CICS source code for the intermediate function return codes. The termination code is now driven correctly.

    APAR IX88654 (Defect 201669)

    On CICS for Windows NT, compiling user exit UE015050 with IBM VisualAge C++ caused dynamic distributed program links to fail. A new makefile with the correct parameters for IBM VisualAge C++ is now provided.

    APAR IX88547 (Defect 201641)

    On CICS for Windows NT, a CICS region could not be started when the U.S. English version of TXSeries CICS 4.2 was installed on a Traditional Chinese version of Windows NT 4.0.

    A CICS region started from the U.S. English version of TXSeries CICS 4.2 now runs on the Traditional Chinese version of Windows NT.

    APAR IX88503 (Defect 201679)

    On CICS for AIX, using the cicscp command to simultaneously start a CICS region and SFS server caused the command to fail with the following error:

    ERZ038182I/0182: Server started successfully. 
    ERZ038255E/0120: Encina operation 'sfs_GetVolumeInfo' 
    failed with error (1997905996) SFS_COMMUNICATION_ERROR 
    ERZ010013I/0024: CICS has removed the lock file for region 
    ERZ096004E/0006: An error was encountered during the processing of 
    the cicscp command. 
    

    The cicscp command no longer fails when starting a region and SFS server at the same time.

    APAR IX88404 (Defect 201281)

    When an external presentation interface (EPI) program was used, the CICS_EpiGetEvent function sometimes returned the CICS_EPI_ERR_MORE_EVENTS code, causing error-handling logic to be invoked unnecessarily.

    The CICS_EpiGetEvent function now handles a return code of CICS_EPI_ERR_MORE_EVENTS similarly to the way it handles a return code of CICS_EPI_NORMAL, but continues to report all other errors.

    APAR IX88360 (Defect 201574)

    After PTF2 or PTF3 was applied to TXSeries CICS 4.2, using the cicsmap command on certain COBOL BMS files produced errors in the PICIN and PICOUT operand lengths. The cicsmap command now works correctly when used on COBOL BMS files.

    APAR IX88325 (Defect 201603)

    On CICS for AIX , the cicssfsshut and cicssfswarm commands failed if they were issued from within the System Management Interface Tool (SMIT).

    The cicssfsshut and cicssfswarm commands now work properly when used within SMIT.

    APAR IX88203 (Defect 201595)

    The CICS Intercommunication Guide (SC09-3900-00) incorrectly implies that TXSeries CICS 4.2 supports traditional Chinese and the Big 5 character set on Windows NT.

    CICS 4.2 does not support traditional Chinese or the Big 5 character set. See your platform's Quick Beginnings document for a list of languages supported by CICS 4.2.

    APAR IX87353 (Defect 201056)

    On CICS for Windows NT, the cicscheckup and cicscheckupservers commands did not detect and report Peer-to-Peer Communications (PPC) Gateway servers.

    The cicscheckup and cicscheckupservers commands now successfully detect and report PPC Gateway servers.

    APAR IX87352 (Defect 200910)

    On CICS for Windows NT, if you used the cicsddt dtof command to back up a data file and then attempted to restore the file by using the cicsddt ftod command, the attempt failed because of incompatible file formats.

    The cicsddt dtof and cicsddt ftod commands now use the same file format, and this problem no longer occurs.

    APAR IX87351 (Defect 201026)

    On CICS for Windows NT, the -verbose option of the cicsppcgwy command did not work. The -verbose option of the cicsppcgwy command now works correctly.

    APAR IX87350 (Defect 201295)

    On CICS for Windows NT, the CICS local terminal (cicslterm) does not support the euro currency symbol. To access CICS for Windows NT applications that require the euro currency symbol, you must use the CICS Client version 2.0.4 with Fix Pack 8 or CICS Universal Clients version 3.0.2 instead of cicslterm. Each of these CICS Clients is packaged with a README file that provides information on setting up the Client to use the euro currency symbol.

    APAR IX87305 (Defect 201316)

    On CICS for Solaris, a memory violation occurred if the cicssfscreate command was executed while tracing was enabled. The cicssfscreate command can now run successfully when tracing is enabled.

    APAR IX87304 (Defect 200406)

    An exception raised during the execution of an ECI program was not reported by the CICS UNIX ECI client. An ECI client now correctly reports exceptions.

    APAR IX87303 (Defect 201242)

    On CICS for AIX, the offset of an instruction in user code that resulted in an access violation was reported incorrectly. The offset is now reported correctly.

    APAR IX87302 (Defect 201222)

    On CICS for AIX, the cicscp command did not support the start sna and stop sna arguments when used with IBM Communications Server for AIX, version 5.0.

    The cicscp command now supports the start sna and stop sna arguments. For more information about IBM Communications Server for AIX see Using IBM Communications Server (Version 5.0) for AIX with CICS (SC33-1898-02). You can find this document on the World Wide Web at: http://www.transarc.com/Library/documentation/txseries

    APAR IX87301 (Defect 136438)

    A transaction started asynchronously on a UNIX terminal deleted a transaction name that was specified in a previous EXEC CICS RETURN TRANSID command.

    The results of a EXEC CICS RETURN TRANSID command are now correctly saved by the terminal. After the asynchronously started transaction completes, the transaction runs when the next AID key on the terminal is pressed.

    APAR IX87300 (Defect 201220)

    The maximum size for core files generated for CICS program code and data areas was 64 KB. There is no longer a size restriction on core files for CICS program code and data areas.

    APAR IX87299 (Defect 201301)

    On CICS for AIX, when exiting the xldb debugger after debugging a CICS application, a defunct process sometimes remained on the system.

    The xldb process now terminates cleanly, preventing the defunct process from being started.

    APAR IX87298 (Defect 200974)

    If a PPC Gateway server was installed, the cicsusedceservers command created the new DCE keyfile for the PPC Gateway in the incorrect directory. Also, when the cicsusedcceservers command was used with the -A option, the command attempted to migrate the PPC Gateway to use DCE. If a PPC Gateway was not installed, the command reported an error and stopped.

    The cicsusedceservers command now creates the DCE keyfile for a PPC Gateway in the home directory of the PPC Gateway user ID. When the cicsusedceservers command is used with the -A option when a PPC Gateway is not installed, the command continues without reporting an error.

    APAR IX87297 (Defect 201120)

    When using the execution diagnostic facility (CEDF transaction) to debug conversational transactions, a timing problem in the CICS local terminal code caused the terminal to become suspended after the first screen was displayed. The timing problem has been resolved, and the CICS terminal no longer becomes suspended.

    APAR IX87296 (Defect 201276)

    On CICS for AIX, the stack trace in a core file did not show the names of functions from libraries for which the read permission for others/world was not set. The stack trace in a core file now correctly displays the names of functions.

    APAR IX87294 (Defect 201049)

    Executing the EXEC CICS CANCEL command to modify a transaction that was started by using the INTERVAL, PROTECT, and REQID options sometimes caused a system to become suspended. A system no longer becomes suspended when using the EXEC CICS CANCEL command.

    APAR IX86947 (Defect 201446)

    On CICS for Windows NT, when using IBM VisualAge C/C++, application developers were unable to link with the example library, libcicsmfmtsa.lib, which was supplied with the CICS product. The following message was reported by IBM VisualAge C/C++:

    OLDNAMES.lib : fatal error LNK1101: invalid object module at file  
    offset  0x0000859c+0x3c  
    NMAKE : fatal error U1077: 'ilink' : return code '16'  
    Stop.  
     
    

    The library was generated in a way that was usable by the Microsoft Visual C/C++ compiler but not by IBM VisualAge C/C++.

    The library has been regenerated to work with IBM VisualAge C/C++.

    APAR IX86822 (Defect 201419)

    The CAGE transaction was set by default to run at midnight Greenwich Mean Time (GMT). The CAGE transaction now runs by default at midnight using the local time of the operating system. To run this transaction at midnight GMT, the time must be set manually.

    APAR IX85407 (Defect 201016)

    A CICS application server sometimes becomes suspended while waiting for a reply from a CICS Common Client.

    In most cases, this is normal behavior. However, to force an application server to time out a transaction if the CICS Client does not reply within a certain period of time, you can set the value of the CICS_XP_RECV_TIMEOUT environment variable to the number of seconds the application server waits before backing out the transaction.

    APAR IX85357 (Defect 200994)

    On CICS for Windows NT, dates were written to log files in U.S. English format regardless of the selected language. CICS for Windows NT now writes dates to log files in the preferred format of the selected language.

    APAR IX85356 (Defect 200697)

    On CICS for Windows NT, the Reset button on the SFS Server Properties screen of the Administration Utility did not work correctly. The Reset button on this screen now works correctly.

    APAR IX85355 (Defect 200508)

    On the Japanese version of CICS for Windows NT, if you selected Subsystem > Resource > Product > New > General from the menus of the CICS Administration Utility, you were not able to enter data into the Switch Load File field.

    You can now enter data into the Switch Load File field when using the CICS Administration Utility.

    APAR IX85354 (Defect 200408)

    On CICS for AIX, when SMIT was used to configure CICS in a non-English language, some options were not translated correctly. SMIT screens now display options in the appropriate language.

    APAR IX85353 (Defect 200385)

    The tab key did not work in the Available CICS Regions panel of a cicsterm session. The tab key now works correctly in the Available CICS Regions panel of a cicsterm session.

    APAR IX85347 (Defect 200358)

    Double-byte characters were not deleted correctly in the CICS-supplied transaction CECI WRITEQ TS. Double-byte characters can now successfully be deleted in the CECI WRITEQ TS transaction.

    APAR IX85339 (Defect 201191)

    The CICS macro DFHMDF did not support proposed Micro Focus COBOL extensions to currency picture specifications.

    The CICS macro DFHMDF now supports the proposed Micro Focus COBOL extensions to currency picture specifications. The proposed extensions include enabling multiple currency sign clauses to be specified, adding a PICTURE SYMBOL phrase, and enabling the CURRENCY SYMBOL definition to contain one or more characters.

    To enable support for these extensions, the following changes have been made to the DFHMDF macro:

    APAR IX85030 (Defect 200917)

    It was not possible to change a DCE password from within a CICS application server (cicsas) if the application server previously called Micro Focus COBOL code. Using Micro Focus COBOL with a CICS application server no longer prevents you from changing a DCE password within the application.

    APAR IX85030 (Defect 200838)

    On CICS for Solaris, a large number of IP listeners or a transaction with multiple nested levels of EXEC CICS LINK calls sometimes resulted in an access violation. CICS for Solaris now successfully handles large numbers of IP listeners and transactions with multiple nested levels of EXEC CICS LINK calls.

    APAR IX85028 (Defect 200782)

    On CICS for Solaris, the EPI workload example programs incorrectly reported microsecond values as nanosecond values. The EPI workload example programs on all platforms now correctly report microsecond values.

    APAR IX84849 (Defect 200935)

    A race condition within CICS sometimes caused CICS to fail with a segmentation fault if trace was active. This race condition no longer occurs.

    APAR IX84847 (Defect 201188)

    If the cicstran command was run on a Micro Focus COBOL program that had an INPUT-OUTPUT section but not an ENVIRONMENT DIVISION, the output of the command included an ENVIRONMENT DIVISION in the wrong position. The incorrectly ordered section caused a failure when the program was compiled.

    The cicstran command now inserts an ENVIRONMENT DIVISION at the correct place in its output in this situation, and compiler errors no longer occur.

    APAR IX84847 (Defect 200997)

    If the cicstran command was used to translate a Micro Focus COBOL program that already included a CONFIGURATION SECTION, the command inserted another CONFIGURATION SECTION. The extra section resulted in a compilation failure. The cicstran command no longer inserts an extra CONFIGURATION SECTION into Micro Focus COBOL programs.

    APAR IX84844 (Defect 200888)

    On CICS for Solaris, a stressed CICS region (for example, a region with a large number of users or one that was running a transaction with multiple nested levels of EXEC CICS LINK calls) sometimes failed with an access violation. Stressed CICS regions no longer fail with access violations.

    APAR IX84843 (Defect 200861)

    The cicstfmt command failed to release memory and sometimes failed, producing a core file. The cicstfmt command now works correctly.

    APAR IX84841 (Defect 200798)

    A corrupted queue of asynchronously started transactions sometimes caused a CICS region to fail. This situation no longer causes CICS regions to fail.

    APAR IX84840 (Defect 200776)

    When issued on CICS for AIX, the cicsservice command sometimes failed with an access violation while collecting region information. The cicsservice command now performs correctly on AIX.

    APAR IX84839 (Defect 200295)

    A segmentation fault occurred if DCE credentials if an ECI client expired. If an ECI client's DCE credentials expire, the client now terminates gracefully, rather than failing with a segmentation fault.

    APAR IX84838 (Defect 135363)

    If a Micro Focus COBOL program did not have a SPECIAL-NAMES paragraph in the ENVIRONMENT DIVISION, the CICS COBOL translator (cicstcl) inserted a SPECIAL-NAMES paragraph that was not terminated by a period (.) in the translator output file. The missing period resulted in a compiler warning.

    The CICS COBOL translator (cicstcl) now correctly terminates an inserted SPECIAL-NAMES paragraph with a period, and compiler warnings no longer occur in this situation.

    APAR IX84804 (Defect 132443)

    On CICS for Solaris, in a remote procedure call (RPC)-only environment, the cicscp stop dce command returned a failure message even though the command ran successfully. The cicscp stop dce command no longer returns false failure messages.

    APAR IX84803 (Defect 200042)

    The cicscp command sometimes became suspended when it was used to start a SFS server in an RPC-only environment. The cicscp command no longer becomes suspended when used to start an SFS server in an RPC-only environment.

    APAR IX84788 (Defect 200745)

    Different CICS regions sometimes allocated the same names to different autoinstalled terminals, causing errors when transaction routing was used. CICS regions now use random numbers to name autoinstalled terminals, thus greatly reducing the chances of name duplication.

    APAR IX84733 (Defect 200943)

    In an RPC-only environment, issuing the cicscp command to start an SFS server sometimes resulted in an access violation. The cicscp command no longer produces access violations when used to start an SFS server.

    APAR IX84732 (Defect 200769)

    CICS did not support the XA dynamic registration functionality available in Oracle version 8. CICS now supports the XA dynamic registration functionality available in Oracle version 8. As a result, a new switch load file (oracle8_xa.c) and a new makefile (oracle8_xa.mk) are included with CICS.

    APAR IX84731 (Defect 200834)

    If the CICS-supplied transaction CDCN was used in an X Window environment, the debugger window did not open because CICS used the X Window display specification incorrectly. The CDCN transaction now works correctly with X Window.

    APAR IX84730 (Defect 135930)

    The cicsupdateclass command failed with an access violation if it was issued without the -r option. The cicsupdateclass command no longer fails if it is issued without the -r option.

    APAR IX84729 (Defect 135990)

    If a command that updates the CICS runtime database (for instance, the cicsadd and cicsupdate commands) was issued before the cicssetupclients command was issued, the command failed with no indication of what caused the failure.

    In this situation, commands such as cicsadd and cicsupdate now return a message stating that the cicssetupclients command has not been run.

    APAR IX84728 (Defect 200425)

    The output of the CEMT SET PROGRAM ALL, CEMT SET TERMINAL ALL, and CEMT SET TRANSACTION ALL transactions listed each item multiple times. The output of these transactions now lists each item only once.

    APAR IX84727 (Defect 200725)

    The C example database programs for Sybase sometimes caused truncation failures. The example programs no longer cause truncation failures.

    APAR IX84726 (Defect 200723)

    In an RPC-only environment, the cicscp command sometimes attempted to add redundant files for a region to an SFS server; the command sometimes failed under these circumstances.

    The cicscp command no longer attempts to add files for a region to an SFS server if the files have already been added to the SFS server, and these failures no longer occur.

    APAR IX84724 (Defect 200765)

    If a resource manager failed before the current unit of work was completed and returned the code XAER_NOTA in response to an xa_end call from CICS, CICS treated the code as a severe error.

    CICS now treats the XAER_NOTA return code as an indication to roll back the current unit of work and no longer considers it a severe error.

    APAR IX84721 (Defect 136872)

    If a CICS Common Client using the SNA protocol issued the CCIN transaction to a CICS region, the transaction failed with abend code A42E. A CICS Common Client using the SNA protocol can now successfully issue the CCIN transaction to a CICS region.

    APAR IX84720 (Defect 200371)

    If transaction routing was used to run a transaction that was not known on a remote CICS region, CICS returned a misleading error message. The error message returned in this situation now specifies that the transaction is unknown on the remote region.

    APAR IX84719 (Defect 200337)

    In a DTP conversation between two CICS regions, if one region issued a SEND WAIT call and then issued an ISSUE SIGNAL call, the data sent in the SEND WAIT call was sometimes lost. This error no longer occurs.

    APAR IX84718 (Defect 200813)

    Each time a CICS region received an unknown user ID and granted public access rights to the user, the region wrote an ERZ045006W message to the CSMT file.

    You can now prevent CICS from writing this message each time by setting the value of the CICS_SUPPRESS_BAD_USER environment variable to Yes. To set this environment variable, add the following line to the region's environment file (located in the /var/cics/regions/region_name directory):

    CICS_SUPPRESS_BAD_USER=Yes
    

    APAR IX84717 (Defect 200890)

    Error messages returned by the cicsteld command did not include the exception that caused the error. Error messages returned by the cicsteld command now include the exception that caused the error.

    APAR IX84714 (Defect 200742)

    Two new CICS environment variables, CICSDB2CONF_CONNECT_USER and CICSDB2CONF_CONNECT_USING, are now provided for use with the cicsddt and cicsdb2conf utilities.

    To enable the cicsddt and cicsdb2conf utilities to connect to DB2 Universal Database (UDB), set the value of CICSDB2CONF_CONNECT_USER to a valid DB2 UDB user ID and the value of CICSDB2CONF_CONNECT_USING to the user's DB2 UDB password.

    APAR IX84713 (Defect 200291)

    The xa_open string, which includes the database password, is printed in the CICS console files when a region attempts to connect to an XA-compliant database.

    CICS has a new environment variable called CICS_SUPPRESS_XA_OPEN_STRING. If you set this variable, the xa_open string containing the database password is not printed in the CICS console files when a region attempts to connect to an XA-compliant database. To set the CICS_SUPPRESS_XA_OPEN_STRING environment variable, add the following line to the region's environment file (located in the /var/cics_regions/region_name directory):

    CICS_SUPPRESS_XA_OPEN_STRING=1
    

    Setting this variable prevents CICS from writing the database password to the console files.

    APAR IX84711 (Defect 200712)

    Tracing a stressed CICS region (for example, a region with a large number of users or one that was running a transaction with multiple nested levels of EXEC CICS LINK calls) sometimes resulted in an access violation. Tracing a stressed CICS region no longer causes an access violation.

    APAR IX84710 (Defect 200803)

    CICS misinterpreted errors returned by EPI clients, causing incorrect symptoms to be written to the symptom records (symrecs) file. CICS now correctly interprets EPI client errors and writes correct information to the symrecs file.

    APAR IX84709 (Defect 200921)

    If a transaction that had been passed a COMMAREA terminated abnormally, CICS sometimes attempted to deallocate the wrong area of memory when cleaning up the transaction. This resulted in access violations. CICS now correctly deallocates memory in this situation, and access violations no longer occur.

    APAR IX84708 (Defect 200494)

    RPC failures sometimes caused a deadlock in an EPI client. RPC failures no longer cause deadlocks in EPI clients.

    APAR IX84707 (Defect 200442)

    In a CICS RPC-only environment in which two SFS servers or an SFS server and a PPC Gateway server were running on the same machine, the servers sometimes attempted to use the same RPC endpoint, resulting in errors.

    The cicscp command now adds unique identifiers to each server's entry in the binding file, thus preventing these errors. If you manually create a binding file entry for an SFS or a PPC Gateway server (that is, after running the cicssfscreate or cicsppcgwycreate commands), perform the following procedure to include a universal unique identifier (UUID) for the server in the server's binding file entry:

    1. 1. Enter the following command to generate a UUID for your server:
      %  /usr/bin/uuidgen
      

      Make sure to note the UUID generated by the command, because it is necessary to supply it in Step 2.

    2. 2. Add the following entry to the binding file for your server:
      <server_name> <UUID>@ncadg_ip_udp:<network_address> [<port_number>]
      

      where server_name is the full pathname of the server (for example, /.:/cics/sfs/TASFS1), UUID is the output from the uuidgen command, network_address is the address of the network adapter on which the server is to listen, and port_number is the IP port on which the server is to listen (note that you cannot use a port that is already listed in your TCP/IP services file). The network_address variable is optional and can be specified either in Internet dotted decimal notation (for example, 123.45.67.8) or by a name that can be resolved by a TCP/IP name server. If you do not specify a value for the network_address variable, the default value is the network name of the local machine.

    Note:As soon as you specify the IP port number in the binding file, it is recommended that you add an entry to the TCP/IP services file to indicate that the port is now reserved for your server. Refer to your TCP/IP documentation for more information on the services file.

    APAR IX84703 (Defect 200887)

    The cicsinstall command failed on machines on which the CICS server code but not the CICS client code was installed. The cicsinstall command now works correctly on machines that are installed with the CICS server code but not the CICS client code.

    APAR IX84702 (Defect 200945)

    If the cicsdb2conf command was issued with the -l option, it wrote to an incorrect file. The cicsdb2conf command now writes to the correct file when issued with the -l option.

    APAR IX84701 (Defect 200841)

    On CICS for AIX, destructors for cached C++ programs were not consistently called when the CICS application server running the programs ended. CICS for AIX now ensures that destructors for these programs are called when the application server running the programs ends.

    APAR IX84700 (Defect 136411)

    A CICS application server terminated abnormally if the EXEC CICS START command was used to pass it data between 32751 and 32767 bytes in length. CICS application servers no longer fail under these circumstances.

    APAR IX84698 (Defect 201086)

    The cicscp start region command sometimes failed when issued in an RPC-only environment. The cicscp start region command now successfully starts a region when issued in an RPC-only environment.

    APAR IX84697 (Defect 201072)

    An incorrectly sized variable caused the addition of a temporary data queue to a running region to fail with illegal address errors if trace was active. The variable is now set to the correct length and no longer causes illegal address errors.

    APAR IX84696 (Defect 201071)

    Autoinstallation of CICS terminals sometimes failed because the installation process accessed the terminal index without first acquiring a valid mutex. The installation process now acquires a mutex before accessing the terminal index, and autoinstallation of CICS terminals works correctly.

    APAR IX84694 (Defect 201070)

    The cicsrm command sometimes failed with an illegal address error because of a problem with allocating shared memory. The problem with allocating shared memory has been resolved, and the cicsrm command no longer fails with an illegal address error.

    APAR IX84685 (Defect 201039)

    The cicsdb2conf command fails when used with DB2 version 2.1.2 and the AFS file system.

    DB2 2.1.2 is not supported for use with AFS, but you can work around this problem by copying the DB2 binding files from AFS to a local directory on your machine and setting the CICS_DB2CONF_BIND environment variable to the location of that local directory.

    APAR IX84683 (Defect 201024)

    On CICS for Solaris, if the cicscp start region command was issued in an environment with the LOCALE variable set to it (Italian), the command failed. The cicscp start region command now works correctly when the LOCALE variable is set to it (Italian).

    APAR IX84682 (Defect 200989)

    If the cicstail command was issued without the -r option, the command failed with a syntax error. The cicstail command now works correctly if it is issued without the -r option.

    APAR IX84676 (Defect 200896)

    CICS introspects (checks of a region's integrity) sometimes failed incorrectly, reporting corruption when no corruption existed. Introspects no longer fail incorrectly or falsely report corruption.

    APAR IX84675 (Defect 200854)

    Attempts to connect to a CICS region from a CICS Common Client sometimes failed with communications errors because CICS closed sockets that were still allocated to connections. These errors sometimes also resulted in the CICS region terminating abnormally.

    CICS no longer closes sockets that are allocated to connections, thus preventing many communications errors. When communications errors do occur, CICS writes diagnostics to the symrecs file instead of abnormally terminating the region.

    APAR IX84673 (Defect 200748)

    A CICS application server (cicsas) sometimes failed with signal 30 after misinterpreting a signal sent by IBM SNA to CICS. CICS now interprets IBM SNA signals correctly, and CICS application servers no longer fail under these circumstances.

    APAR IX84672 (Defect 200747)

    A CICS application server (cicsas) sometimes failed with signal 30. The symptom records (symrecs) file indicated that the error occurred in the RegDC_CleanUp function. CICS now handles this situation correctly, and these failures no longer occur.

    APAR IX84670 (Defect 200661)

    CICS applications that used ECI sometimes truncated the length of the communications area (COMMAREA) after making several calls in an extended LUW. COMMAREA lengths are no longer truncated when an application that uses ECI makes multiple calls in an extended LUW.

    APAR IX84668 (Defect 200614)

    If a recoverable temporary storage queue (TSQ) was written, read, and deleted, and another TSQ was then written, attempts to read the second TSQ failed. CICS now correctly reads a TSQ that was written after the deletion of a previous TSQ.

    APAR IX84667 (Defect 200381)

    Null characters in a 3270 datastream were ignored when the datastream was set to use a multibyte character set (that is, when the PS operand on the datastream was set to 8). Null characters are now handled correctly in a multibyte 3270 datastream.

    APAR IX84666 (Defect 200310)

    CICS self-consistency checks sometimes incorrectly determined the number of application server logs in use, resulting in the termination of the CICS region. CICS self-consistency checks no longer miscount the number of application server logs in use, and CICS regions no longer terminate for this reason.

    APAR IX84665 (Defect 200239)

    Transaction Definitions (TD) queues on DB2 were not purged after being written and read. TD queues had to be explicitly deleted. TD queues on DB2 are now correctly purged from the database after being written and read.

    APAR IX84663 (Defect 137463)

    If the CICS Installation Verification Program (cicsivp) was used with DB2, product trace failed when the DB2 username or password was not set. The CICS IVP program now functions correctly in this situation.

    APAR IX84638 (Defect 137310)

    If you used the CICS-supplied transaction CESN or the CICS EXEC SIGNON command to log into CICS and change your password, the return message indicated only that the password was changed; it did not indicate what user had logged in.

    The message returned in this situation now indicates the user ID as well as the fact that the password has been changed.


    Updates to TXSeries Encina

    This chapter describes the updates to TXSeries included in the TXSeries PTF Set for Encina 4.2. The most recent changes made to Encina are described in Updates in PTF Set 11. All other changes are listed in descending APAR order in the section Updates in all previous patches.


    Updates in PTF Set 11

    APAR IY04946 (Defect 24755)

    Although comments in the header file for the trdce_WaitForInterface function indicated that the function would query the local runtime if a NULL server name was specified, this functionality was not implemented.

    The trdce_WaitForInterface function now works as noted in the header file.

    APAR IY04945 (Defect 24791)

    The Encina Transactional Remote Procedure Call (TRPC) service did not remove its endpoints during server shutdown. In environments where the number of ports was limited, or if the Distributed Computing Environment (DCE) was slow to remove stale endpoints, this sometimes caused failures when a server attempted to reuse that port during startup.

    The trpc_Terminate function now properly calls the rpc_ep_unregister function so that TRPC endpoints are removed.

    APAR IY04944 (Defect 24690)

    A memory leak occurred in a Common Object Request Broker Architecture (CORBA) Object Transaction Service (OTS) server when trace was enabled. This memory leak no longer occurs.

    APAR IY04943 (Defect 24708)

    When the enccp interface was used to set a default value for the principalID of the node manager object, that value was used when new nodes were defined, even if a different value was specified when the node was defined by using Enconsole or enccp. This problem occurred because principalID attributes existed for both the ema_typeNode and enc_typeNodeManager objects.

    The value of the principalID attribute specified for the ema_typeNode object now takes precedence over that specified for the enc_typeNodeManager object.

    APAR IY04942 (Defect 22591)

    On Encina for Windows NT, the way in which messages were written to the event log required several enhancements:

    The default destinations for CRITICAL messages now include both the standard error stream and the Windows NT event log. Also, the restriction on writing only CRITICAL messages to the event log has been removed, and support for writing TERMINATE messages to the event log has been added. A call to the DeregisterEventSource function eliminates leaked Windows NT handles.

    APAR IY04941 (Defect 23805)

    On Encina for Windows NT, implicit server bindings were not randomized effectively. Server bindings are now randomized properly.

    APAR IY04940 (Defect 24831)

    Sometimes a Structured File Server (SFS) server terminated with the following fatal error:

    3c041816 F Encina Internal Error -- Call your Support Representative: 
    btree_Read: Read previous: Condition not possible.
    

    This error occurred because the TryLockPrevRecord routine specified an incorrect positioning type rather than preserving the requested positioning type that was passed to the function.

    The TryLockPrevRecord routine now uses the correct positioning type.

    APAR IY04939 (Defect 24803)

    On Encina for Windows NT with Gradient DCE 2.2.1, when connecting an Encina++ client to a server through a dial-in connection, Encina failed with an invalid page fault that occurred after the rpc_server_inq_bindings function was called.

    Encina now checks the return status of all DCE calls in this routine and reports a FATAL error if a failure occurs.

    APAR IY04938 (Defect 24830)

    When a target server terminated while multiple threads made concurrent TRPCs using the same OtsBinding object, the OTS client terminated with the following fatal error:

    28180816 F Encina Internal Error -- Call your Support Representative: 
    trpc_FreeBinding received an invalid trpc binding handle.
    

    OTS now ensures that the TRPC handle is not NULL before calling the trpc_FreeBinding function.

    APAR IY04937 (Defect 24064)

    A change in the implementation of trace functionality removed support for various printf-defined format-string features and syntax.

    The trace format-string parser and output-string construction code now supports the full printf-defined format-string syntax.

    APAR IY04936 (Defect 24730)

    When the OTS version of Encina was running on Windows NT, failures sometimes occurred when Encina application programming interfaces (APIs) were called from native Windows NT threads.

    This has been corrected by modifying the Encina pthread emulation code to dynamically allocate and initialize data for each thread.


    Updates in all previous patches

    APAR IY05291 (Defect 24853)

    On Encina for AIX, a memory leak sometimes occurred when processing inbound Systems Network Architecture (SNA) transactions to a Peer-to-Peer Communications (PPC) Gateway server. This memory leak no longer occurs.

    APAR IY02592 (Defect 24653)

    Attempting to start a Monitor application server (MAS) with an access control list (ACL) containing a group name that had become obsolete caused the Encina cell manager to fail with a segmentation fault. More complete error checking has been added to handle DCE errors that had previously been ignored.

    APAR IY02425 (Defect 24467)

    Enconsole failed with a segmentation fault or similar random failure if a system event caused a large serious message to be reported (more than 500 characters).

    Enconsole now truncates messages that do not fit into the buffer where the message string is built. The size of the formatting buffer was also increased to avoid the truncation of messages.

    APAR IY02424 (Defect 24594)

    On Encina for HP-UX, a customer encountered an error and the following messages when attempting to run a Monitor COBOL program:

    /usr/lib/dld.sl: Bad system id for shared library: /usr/lib/libEncMonCliCobol.sl
    /usr/lib/dld.sl: Exec format error
    

    The error indicates that the library was built by using objects compiled for the PA_RISC2.0 architecture, which would not run on the customer's PA_RISC1.1 machine.

    Now the COBOL flag +DA1.1 is added when building COBOL object files, and the error no longer occurs.

    APAR IY02423 (Defect 24557)

    On Encina for Windows NT using OTS, Purify instrumented code reported a small memory leak each time a thread exited. The pthread-slot API emulation code now reclaims the memory used to build the per-thread slot-table.

    APAR IY02422 (Defect 24168)

    Sometimes an SFS server failed while trying to allocate memory, leading the customer to note a possible memory leak. Collection of base development environment (BDE) plumbing data revealed that the source of the structures being leaked is /src/sfs/ddt/ddt_rec.c(705). The code in this structure deals with SFS records which use external fields, typically more than 10 external fields, so any application which uses this feature could be affected. The memory leak has been fixed.

    APAR IY02421 (Defect 24582)

    After expanding the log volume for a server, the Log Service did not immediately use the added storage and continued to issue warning messages. The Log Service now checks for an expanded volume before triggering Log storage reclamation and issuing a warning message.

    APAR IY02420 (Defect 24581)

    If an SFS transaction is aborted while an operation is being processed by the SFS server, the error code returned to the client application was SFS_COMMUNICATION_ERROR, while the error code SFS_TRANSACTION_ABORTED would be more accurate and specific.

    The SFS client now maps the error code of TRPC_MGR_ABORTED to SFS_TRANSACTION_ABORTED, rather that simply returning the error SFS_COMMUNICATION_ERROR for any unsuccessful TRPC return code.

    APAR IY02419 (Defect 24472)

    A customer requested the ability to have control over which errors from the connect system call are considered transient, and which ones are not. For transient errors, the connect system call is retried up to the number of times specified by the ENCINA_PPC_CONNECT_RETRY_COUNT environment variable after a delay of the number of seconds specified by the ENCINA_PPC_CONNECT_RETRY_INTERVAL environment variable.

    The environment variable ENCINA_PPC_CONNECT_RETRY_ERRNO_LIST was added and allows you to specify which error values are to be considered transient. The error values must be specified as a comma-separated list of decimal error values. If this variable is not defined, the default value is the equivalent of 67,69,79 or EADDRINUSE, ENETDOWN, ECONNREFUSED.

    APAR IY02418 (Defect 24606)

    When using an Encina library built with ASSERTs enabled, an ASSERT in the Encina Transaction Management-XA service (TM-XA) would regularly fail in certain situations, causing the application server using TM-XA to terminate. This problem has been corrected.

    APAR IY02417 (Defect 22507)

    Attempting to start a mixed-mode OTS server with multiple processing agents (PAs) resulted in the second and all subsequent PAs failing with the following error:

    The system exception: 10243 -- Invalid operation - The server 'MixedServer' 
    is already active [Completion status: COMPLETED_NO] was raised.
    

    Permit multiple PAs for a mixed-mode server by appending _PAnumber (where PAnumber is the PA number) to the server name registered. PA 0 continues to register using just the specified server name.

    APAR IY02416 (Defect 24514)

    A free-memory-access error was reported by Purify instrumented code. No failure occurred, but this defect could produce a number of unexpected failures that could not be reproduced. The code now does not access mutexes in memory after that memory was freed.

    APAR IY00325 (Defect 14898)

    The customer-exported (non-tpp) form of Encina tracing did not support the special %k formatting character for translating error codes. Supporting this character makes it easier for customers to generate meaningful trace messages. Also, previously, exceeding the 2K buffer limit for trace messages would cause a segmentation violation in the vsprintf function, while the new implementation simply truncates the message.

    Customers can now also use the ENCINA_TRACE_NON_TPP_USE_VSPRINTF environment variable to specify which formatting support is desired, though each has its benefits and disadvantages. In particular, the internal trace routines protect against the segmentation violation when the 2k buffer limit is exceeded, but they do not support all of the features of vsprintf, such as fixed or variable field width or precision for strings, such as "%.s*". If the ENCINA_TRACE_NON_TPP_USE_VSPRINTF environment variable is set to a non-zero numeric value, vsprintf is used for formatting non-tpp tracing; otherwise, the internal Encina trace formatting routines are used. Now the implementation for filling a non-tpp trace buffer is closer to the tpp implementation, relying on trace_FormatValues to format output into the buffer.

    APAR IY00324 (Defect 24388)

    On Encina for Windows NT, the Encina Restart Service (encinaRestart.exe) failed to correctly determine the configuration for IBM DCE 2.0, and checked for the incorrect processes running on the local system. As a result, the restart service did not automatically start the cell or node manager because it incorrectly detected that the DCE prerequisites services were not running. This led to the following errors in the Windows NT event log:

    Encina restart status: 203 error querying DCE configuration assuming security 
    client
    Encina restart status: 203 error querying DCE configuration assuming CDS 
    client
    Encina restart status: 998 DCE services could not be started
    

    The Encina Restart Service now correctly assumes a DCE client configuration if the DCE configuration cannot be determined. Also, the restart service now checks for either the sec_clientd or dced processes, since which process found depends on the version of DCE that is running.

    APAR IY00041 (Defect 24130)

    Sometimes an OTS MAS encountered a segmentation violation when an exception was caught by the abortCheck function, and not raised again. The stack trace from the segmentation violation was as follows:

    [1] Tran::AbortWithoutException
    [2] OtsStubSupport::ReturnDceException
    [3] _1_0_FtStatsAPI_GetAll
    [4] op1_ssr0x8541c
    

    This occurred because it was incorrect to assume a Distributed Transaction Service (TRAN) context. Now, when there is no OTS transactional context, the case is ignored.

    APAR IY00040 (Defect 24255)

    In OTS, a segmentation violation occurred in the TranFilter::IsTransactional function whenever an exception was thrown from a user-level in the RequestPreMarshal filter. The stack trace from the segmentation violation was as follows:

    [1] TranFilter::IsTransactional
    [2] TranFilter::OutReplyFailure
    [3] CORBA::Filter::outReplyFailureEntry
    [4] ContextClasses::continueThreadDispatch
    [5] ConcurrentRequest::Execute
    [6] MessageQueue::HandleMessages
    [7] MessageQueue::Dispatch
    

    This segmentation violation occurred because the user-level filter throwing the exception caused the OTS server-side TranFilter routine to execute the OutReplyFailure call in an unexpected sequence. This sequence is now properly handled.

    APAR IX89948 (Defect 24196)

    A Recoverable Queueing Service (RQS) server queue was corrupted so that when attempting to dequeue from it caused the RQS server to terminate with a FATAL error. Examination of the corrupted data showed that the on-disk queue was empty, but that the queue contained a page of storage space that was marked as free. This corruption most likely occurred during RQS recovery, before the FATAL error condition was detected, so that no diagnostic information was available. Additional trace output has been added and enabled by default to obtain more information in the event that the failure occurs again.

    APAR IX89947 (Defect 23701)

    Some Encina++ header files were not compatible with the Standard C++ library iostream. These files are now compatible.

    APAR IX89946 (Defect 24016)

    Encina recoverable servers attempt to obtain an exclusive lock on its data and log volumes to ensure that two processes do not attempt to update volumes concurrently. The error ENC-bde-0046 (BDE_LOCK_NOT_GRANTED) is returned when that lock cannot be obtained. Additional trace information is not present to help determine which process has locked the volume. Now additional diagnostics can be obtained from the BDE event trace in the EncinaTraceBuffer file. The message is as follows:

    080c9015 E Could not lock file_name, already locked by process with pid
    

    APAR IX89945 (Defect 24313)

    The following warning was emitted by the PPC Gateway server when a request was received from the mainframe which specified an FMH5 security subfield value of 00, even though this value is valid for applications which chose not to pass security information with the request:

    7028c017 W Invalid type of security subfield
    

    While this warning is benign, it does cause the server output log to grow, which may detract from other meaningful messages emitted by the server.

    APAR IX89944 (Defect 19011)

    The ENCINA_SERVER_GROUP environment variable, which is used to restrict the servers to which a client can make authenticated RPCs to servers that are a member of the specified group. This functionality did not work for servers in a foreign DCE cell. The client will now bind to the foreign cell if necessary, to perform the group membership check. This implies that the client must have test permission in that foreign cell for the specified group.

    APAR IX89943 (Defect 24013)

    The following FATAL error occurred in an PPC Gateway server after an allocation failure:

    74200828 A sna relay allocate failure, local LU = T45C9236, 
    remote LU = DXBCIPP1, tpn = X098, 
    status = ENC-ppc-0069: Transaction aborted asynchronously 
    00000006 F ASSERT failed: line 1432 in file .../ppc/gwy/ppc_gwyServer.c.
    

    The assertion was replaced by code to handle this failure which is a return response state PPC_STATE_RESET.

    APAR IX89942 (Defect 23668)

    An Encina++/Orbix server that uses the SERIALIZE_TRPCS_AND_TRANSACTIONS can incorrectly fail with a FATAL error when the server is a subordinate server in an explicit transaction and either the xa_prepare or Resource::prepare calls votes for rollback. The FATAL error generated is as follows:

    d41fb0c6 F Method SynchAndLockAfterComplMgr::RegisterWork() failed.
    

    The fatal error is no longer encountered in this situation.

    APAR IX89941 (Defect 24102)

    A rare race condition can lead to a deadlock in a Fast Local Transport (FLT) server between the fltPipe_ServerAcceptConnection and fltPipe_ServerRelease functions. The fltPipe_ServerAcceptConnection is executed when a client is establishing a connection with the FLT server; fltPipe_ServerRelease is executed when the client is terminating a connection.

    In order to preserve the locking hierarchy for FLT, the serverFds.mutex must now be acquired before the client latch.

    APAR IX89940 (Defect 24298)

    An RQS server recovery sometimes became deadlocked while restarting after an unexpected termination, preventing the server from starting. The locking and synchronization features in the queue code were improved to prevent this failure.

    APAR IX89939 (Defect 23973)

    While inserting record into an SFS server RSN file, 300 at a time, an SFS server failed with the following fatal error:

    34200c16 F Encina Internal Error -- Call your Support Representative: 
    area_GetPage: Page 0xf01 area 0xd out of range. latch mode 0x1 
    00000006 F .../src/server/area/area_page.c 398
    

    This error occurred because the SFS code for reading a chunk of a relative record file only validated the first page in the chunk that is allocated in the area. Now each page to be read is validated to be within the allocated range.

    APAR IX89938 (Defect 24288)

    In certain situations, an RQS server appeared to lose space on disk storage. Over time, the number of records that could be enqueued before a storage exhausted error occurred decreased. This was likely to happen when completing large batch deletes of records that had been moved from one RQS queue to another by using the rqs_Requeue interface, although it is possible for this to occur over time without batch processing. Examining trace from the RQS server suggested that the background daemon thread that reclaims this space occasionally stopped or disappeared. This could also cause other background tasks to not be performed on time, or possibly never performed, resulting in unpredictable server behavior.

    This problem was corrected by fixing a defect in the background scheduling code that allowed the space reclamation thread to become deadlocked or delayed for extreme periods. Several scalability problems in the reclamation code that could cause slow processing when a large number of records are deleted at the same time were also corrected.

    APAR IX89937 (Defect 23755)

    It was difficult to capture tracing for an event that took long to detect, since the ring buffer could wrap before the event is detected, and the tracing dumped to a file. Increasing the size of the ring buffer or using other means to capture trace can be prohibitive. The desired behavior would be to capture tracing to the ring buffer, then write it to a file before reusing the ring buffer.

    To provide this support, the ENCINA_TRACE_BUFFER_DUMP_ON_UIDS was reorganized for use under different conditions. Setting a new environment variable ENCINA_TRACE_BUFFER_DUMP_WHEN_FULL enables this functionality. The trace files written when ENCINA_TRACE_BUFFER_DUMP_WHEN_FULL is enabled have the same name (EncinaTraceBuffer) and binary format as those written when ENCINA_TRACE_BUFFER_DUMP_ON_UIDS is enabled. The number in the file name is incremented each time a new file is written.

    APAR IX89936 (Defect 23971)

    The original implementation of the ENCINA_PPC_CONNECT_RETRY_COUNT and ENCINA_PPC_CONNECT_RETRY_INTERVAL environment variables was not executed if the ENCINA_PPC_IP_ADDR environment variable was set.

    The ENCINA_PPC_CONNECT_RETRY_COUNT environment variable now properly sets the number of times the connect will be retried after a transient error occurs. The ENCINA_PPC_CONNECT_RETRY_INTERVAL environment variable now sets the number of seconds between connect attempts. The default values for these environment variables are 4 and 2, respectively.

    APAR IX89935 (Defect 21189)

    Enconsole cannot be used to cold start a server that has a minimum protection level of pkt_privacy specified, unless the default protection level for the DCE cell is also pkt_privacy. This problem occurs because the DCE API used to modify ACLs during cold starts always uses the default protection level, which is typically lower than pkt_privacy.

    Enconsole and enccp now use a different DCE API, which allows the protection level of pkt_privacy to be explicitly specified. If an attempt to use pkt_privacy fails (if using a non-domestic version of DCE) another attempt is made using the protection level pkt_integ.

    APAR IX89933 (Defect 23184)

    Sometimes on fast machines, when starting a new Encina cell manager for the first time by using enccp or Enconsole, the start operation became suspended. The process became suspended after the second restart of the ecm process. This problem occurred because of a race condition in the ecm initialization, caused by an invalid timeout argument. Passing the correct timeout value solved this problem.

    APAR IX89932 (Defect 23922)

    If the operating system could not lock an Encina server's volume, the server terminated with a FATAL error, but not report what sort of system error occurred. The system error code is now included the FATAL error string.

    APAR IX89931 (Defect 24056)

    A race condition can lead to a deadlock in an SFS server when a lock conflict occurs. The two deadlocked threads' stack traces will look similar to the following:

    [1] _switch
    [2] _mutex_suspend_lock
    [3] pthread_mutex_lock
    [4] pthread_mutex_lock
    [5] ofdt_Lookup
    [6] admin_IsRangeLockSpace
    [7] ConflictCallback
    [8] ExecuteConflictCallbacks
    

    and

    [1] _switch
    [2] _mutex_suspend_lock
    [3] pthread_mutex_lock
    [4] pthread_mutex_lock
    [5] _lockTran_Lookup
    [6] lockTran_Lookup
    [7] Release
    [8] lock_ReleaseAll
    [9] svr_ReleaseOfd
    [10] svr_RegisterConflictCallback
    [11] WatchDog
    

    In order to prevent deadlocking over internal lock service data structures, the conflict callback should not complete any operations that they could block. Therefore, the logic requiring that the open file descriptor (OFD) be locked was moved from the conflict callback into a routine that is executed from a separate thread.

    APAR IX87541 (Defect 23693)

    A MAS server with a scheduling policy of MON_EXCLUSIVE failed to release the interprocess mutex used to protect a reservation state. This rare race condition occurred when a Monitor client that used explicit reservations (i.e. mon_AcquireReservations) connected to a MAS server, but was terminated while the server granted the reservation. As a result, the MAS server stopped servicing requests for any Monitor client that used explicit reservations.

    The interprocess mutex is now released in this situation, whether the explicit reservation is successful or not.

    APAR IX87035 (Defect 23617)

    If an error was encountered while log archives were being flushed, it was possible for potential waiters to be blocked indefinitely. This was possible when the extent_FlushPrimary function failed and the extent_FlushToArchives function returned a LOG_VOL_ERROR message without clearing the bufferInProgress function and signaling the waiters.

    This problem has been corrected.

    APAR IX86623 (Defect 22542)

    If a node manager's handle to the cell manager became invalid for any reason other than a failure of the cell manager, or if the node manager was not notified when the cell manager had restarted, the node manager was unable to send pings. As a result, the cell manager sometimes erroneously reported that a node manager was not operational, due to the way the liveness monitoring package (lmp) dealt with invalid handles.

    The lmp now resets the binding when the ping RPC fails.

    APAR IX86622 (Defect 21092)

    A workaround for a DCE defect resulted in an extra timeout when Encina tried to determine if a server was running.

    The DCE defect has been corrected, and Encina now more quickly determines if a server is running.

    APAR IX86621 (Defect 20642)

    The OTS aborted transactions if an exception was thrown on a request to a transactional object, even if it was a user exception.

    A new environment variable, ENCINA_OTS_NO_ABORT_ON_USER_EXCEPTION, can now be set to allow user exceptions. The default value is FALSE.

    APAR IX86620 (Defect 22901)

    If Tran-C calls were made without first properly initializing Tran-C, the following fatal error message was displayed:

    08353426 F Encina Internal Error - - Call your Support Representative:
    pdg/2.5/source/src/client/bde/dce/bde_thread.c: 1753: System call failure:
     pthread_getspecific, errno 22 (Invalid argument) [0x0]
    

    A more appropriate and helpful error message is now displayed:

    2c340816 F Transactional-C has not been properly initialized
    

    APAR IX86618 (Defect 22620)

    When importing one Data Definition Language (DDL) file from another DDL file, the generated include function was missing the .H extension. For example it was written as #include foo rather than #include foo.H.

    The proper .H extension is now generated by DDL.

    APAR IX86617 (Defect 22701)

    The sfs_DeleteRange function acquired a lock on each record that it processed. Even if the record was then determined to be out of range, the lock was not released. This sometimes resulted in a deadlock in special situations within CICS.

    When it is detected that the current key is out of range and the OFD is using the TranCursorStability descriptor, the extra key lock is now dropped.

    APAR IX86616 (Defect 21170)

    The cell manager limited the number of concurrent tasks to three. (A task is queued for execution for each transactional update, such as start or stop requests and repository updates.) Having a fixed limit of three tasks sometimes caused a problem when long-running tasks, such as start requests, were executed. For example, a start request could be executed continuously because the server was exiting during initialization (because of an unavailable resource) and the number of restart attempts was intentionally set very high. Once three such starts were in progress, no other tasks could be executed by the cell manager.

    The cell manager now uses a new environment variable, ENCINA_MON_TASK_TPOOL_SIZE, to determine the preferred size of the pool of threads used to execute tasks. Additionally, the thread pool is allowed to grow to four times the preferred size. Therefore, even though the default value is still 3, a maximum of 12 tasks can be executed concurrently. If additional capacity is desired, you can set the environment variable to the preferred number of threads.

    APAR IX86615 (Defect 23388)

    Users desired more control over the values used for refreshing the handle cache maintained by the PPC scheduling code. This includes control over:

    You can now adjust these values by using the following environment variables:

    APAR IX86614 (Defect 23586)

    An OTS (non-DCE) server sometimes terminated with the following error:

    Could not calculate XIDs of prepared transactions during recovery.
    

    This failure occurred because during recovery, TM-XA constructs exchange identifiers (XIDs) for all possible nesting models and some possibly exceeded the size limit imposed on XIDs.

    This situation no longer results in a fatal error. An XID constructed for an inappropriate nesting model is ignored. The correct XID is generated and matched during recovery.

    APAR IX86613 (Defect 23547)

    A PPC Gateway server experienced a transient error while trying to establish a TCP connection, retrying the connection up to four times at two-second intervals. However, some users wanted to customize the retry settings.

    Two new environment variables have been added:

    APAR IX86612 (Defect 23385)

    If a client used the implicit transaction mode to call a server the first time, and the transaction was aborted by the OtsAdmin::Tran::Rollback function while the transaction mode call was in progress, the client was able to successfully commit a transaction that should have been aborted.

    The problem has been corrected by adding and improving error checking after the various TRAN communications service calls.

    APAR IX86611 (Defect 23709)

    A segmentation violation sometimes occurred when a PPC Gateway server received a remote SNA request with a userid of exactly eight bytes.

    The problem has been eliminated by null-terminating the string used for userid conversions.

    APAR IX86610 (Defect 21927)

    If the login context expired while Enconsole was dormant, the pop-up menu telling the user to log in often became visible after the user had already begun to log in.

    If Enconsole is dormant when the login context expires, the title bar is now updated to indicate login expired; no pop-up menu appears.

    APAR IX86609 (Defect 23267)

    As originally implemented, when a TRPC server-side transaction aborted, the RPC was always terminated via the exception TRPC_SERVER_SIDE_ABORT. However, applications sometimes needed to be able to return out parameters on the RPC, even though the transaction was aborted, just as the TX transaction-demarcation specification allows.

    This enhancement introduces a new TRPC server-side support function, trpc_ServerSideIgnoreAbort, which can be called from within the scope of a manager function to request that the TRPC stub code does not terminate the transaction, assuming that the TRPC otherwise terminates normally. Instead, the RPC completes normally, so that out parameters must be returned to the client. (Any abort reason is still stored at the server and retrieved by the client, so the trpc_serverSideAbortReason command can still be called to obtain the reason for a server-side abort.)

    A new TRPC status code, TRPC_MGR_ABORTED_RPC_OK, is either returned or raised, depending upon whether the application includes a parameter of type trpc_status_t for the TRPC, so that the client application can determine if the out parameters are valid and handle them appropriately.

    APAR IX86608 (Defect 23582)

    If an unexpected program type attempted to connect to a TCP port, the PPC Gateway server sometimes terminated with the following FATAL error:

     6c0c4416 F  PPC/TCP: corrupted data received
    

    This could happen accidentally, for example, due to a configuration error in a program using a fixed TCP address, or in a denial-of-service attack on the gateway.

    The original logic for detecting an invalid connection has been changed to ignore such a connection and to generate a WARNING message with diagnostic information to help identify the errant program.

    APAR IX86607 (Defect 20395)

    Encina incorrectly denied access to services due to an invalid ACL check when the principal included only the primary group ACL (such as when the inprojlist no option was specified) in the DCE Privilege Attribute Certificate (PAC). Encina incorrectly tested for a non-nil group universal unique identifier (UUID) when it should have been testing for a nil group UUID.

    Encina now correctly tests for a nil group UUID and properly evaluates any non-nil primary group ACL.

    APAR IX86606 (Defect 22933)

    The monReserve_GetPaReservationStatus function showed the value LONG_TERM_RESERVED for short-term reservations and RESERVED when long-term reservations were used.

    The monReserve_GetPaReservationStatus command now shows the appropriate values for each type of reservation.

    APAR IX86605 (Defect 22734)

    The field names in the TransIdentity structure were erroneously listed as coordinator and terminator, terms that were not permitted in the CORBA Interface Definition Language (IDL). (The CORBA IDL does not permit coordinator or Coordinator.)

    The field names in the TransIdentity structure are now listed as coord and term, respectively.

    APAR IX86604 (Defect 20915)

    When well-known endpoints (WKE) were used with an Encina binding file and the ENCINA_REGISTER_WKES environment variable was used to force registration with the DCE endpoint mapper, multiple Encina servers running on a single machine overwrote one another's entries in the endpoint map.

    Multiple Encina servers running on a single machine no longer overwrite one another's entries in the DCE endpoint map.

    APAR IX86603 (Defect 23705)

    Several RQS private_warnings callbacks, issued under ordinary circumstances while reestablishing client callbacks after an unexpected termination of the application, were confusing and sometimes incorrect.

    The inappropriate warning messages have been changed to events and several of the fatal messages have been changed to uncond_events messages. Also, the entries in the status arrays have been initialized to eliminate those types of warnings.

    APAR IX86602 (Defect 23507)

    After a successful dequeue, an RQS client sometimes noticed that the returned elementType was blank. This occurred when the client was accessing a type that had been destroyed and re-created by another RQS client. The RQS client cached name/ID mappings and the first client was not properly notified when the second client destroyed and re-created the type.

    The RQS_OBSOLETE_ELEMENT_TYPE is now returned to the client and uses the rqs_ElementTypeRetrieve function to refresh cached information. The client-cached type ID does not become out of sync with the server.

    APAR IX86601 (Defect 21841)

    You were unable to use the ENCINA_BINDING_FILE environment variable if you chose to use Encina++ without using the DCE CDS.

    The following instructions give the steps necessary to use ENCINA_BINDING_FILE environment variable with Encina++, if you choose not to use CDS:

    In an Encina++ Toolkit environment using CDS, the following environment variables must be set for both the client and the server:

    %  setenv ENCINA_CDS_ROOT /.:/cdsRoot
    %  setenv ENCINA_OTS_TK_MODE 1
    

    (The ENCINA_TK_MODE environment variable can also be used, but it will be made obsolete by the above variable.)

    Additionally, the following variable must be set for the Encina++ Toolkit server:

    If the server is not recoverable:

    %   setenv ENCINA_OTS_TK_SERVER_ARGS serverName=serverName
    

    If the server is recoverable:

    %  setenv ENCINA_OTS_TK_SERVER_ARGS "servername=serverName \
    restartString=restartFile1:restartFile2 logDevice=/dev/rdsk/c0t1d0s3"
    

    In an Encina++ Toolkit environment without CDS, the following environment variables must be set (in addition to the ones above) for both the client and the server:

    %  setenv ENCINA_BINDING_FILE bindingFilePath
    

    The Encina++ binding model supports four ways of binding to a server-side object:

    Binding by object reference does not require a lookup because you already possess the required binding. For the other binding modes, the binding file must contain an appropriate entry.

    When binding by interface, the entry $ ENCINA_CDS_ROOT/interface/interfaceName must exist in the binding file, listing the binding string for the server that exports this interface. When binding by server name, there must be an entry for $ENCINA_CDS_ROOT/server/serverName. When binding by object, there must be an entry for $ENCINA_CDS_ROOT/object/objectName.

    Consider the following example:

    Two servers, S1 and S2, are running on machines named siam and kramer, respectively. Server S1 exports interface I1 and named objects 011 and 012. Server S2 exports interface I2 and the named object 021. The binding files should contain entries similar to the following:

    /.:/cdsRoot/server/S1           ncadg_ip_udp : siam [2021]
    /.:/cdsRoot/interface/I1        ncadg_ip_udp : siam [2021]
    /.:/cdsRoot/object/011          ncadg_ip_udp : siam [2021]
    /.:/cdsRoot/object/012          ncadg_ip_udp : siam [2021]
    /.:/cdsRoot/server/S2           ncadg_ip_udp : kramer [2042]
    /.:/cdsRoot/interface/I2        ncadg_ip_udp : kramer [2042]
    /.:/cdsRoot/object/021          ncadg_ip_udp : kramer [2042]
    

    APAR IX86600 (Defect 15244)

    The state none returned by the tran_GetLocalState function was sometimes misleading. For example, the state none was returned in the following situations:

    When a transaction has never been active, the tran_GetLocalState function now returns the subtree commitment if it is available; only when it is unavailable does the tran_GetLocalState function return the state none.

    APAR IX86599 (Defect 23704)

    A server using TMXA_SERIALIZE_ALL_XA_OPERATIONS with TM-XA sometimes became locked if an ancestor transaction was aborted while the descendent was still associated with the resource manager.

    This occurred because one thread attempting to perform the abort required the RM lock held by the descendant transaction. When the descendant transaction completed, the tran_End function was blocked because the other thread added a tran_DelayAbort function.

    The TM-XA abort-callback now takes the GLOBAL lock, then tries to take the RM lock. If it gets the RM lock, the callback thread proceeds with the XA abort work. If the callback cannot get the RM lock, it records this as a deferred or pending abort, and calls the tran_DelayAbort function to prevent the TRAN from further resolving the transaction. When the RM lock is released, a test is made to see if there are any pending aborts. If there are pending aborts, the thread that owns the RM lock completes the XA abort work for the transactions to be aborted.

    APAR IX86598 (Defect 22218)

    During restart processing, TRAN did not drop family locks properly and unlock-time finalizations were deferred, causing problems for the OTS.

    TRAN now drops family locks as each new transaction is processed during restart.

    APAR IX86597 (Defect 21282)

    A colon (:) could not be used for the path separator in the restart string for recoverable Encina servers on Windows NT, so a semicolon (;) was used instead.

    You can now use the semicolon as a separator on other platforms as well.
    Note:If you use a semicolon on UNIX systems, you possibly need to use quotation marks or escape characters with this character since the semicolon is a meta-character in many UNIX shells.

    APAR IX86596 (Defect 22452)

    Although use of the TMXA_SERIALIZE_ALL_XA_OPERATIONS environment variable should allow a suspended association to be resumed in any Encina thread in a given process, the program checked to ensure that the same thread that suspended the association was used to resume it.

    Now when the TMXA_SERIALIZE_ALL_XA_OPERATIONS environment variable is used, the whole process is considered to be the thread of control, and a suspended transaction can be resumed from any thread.

    APAR IX86595 (Defect 22811)

    The OTS function register_subtran_aware was not throwing the switch NotSubTransaction for top-level transactions.

    The problem has been corrected; NotSubTransaction is now thrown for top-level transactions.

    APAR IX86594 (Defect 23305)

    When an RQS client request failed due to a communications error with the server, a warning was issued that contained the following misleading status:

    RPC failed. Can't talk to server : serverName. 
    Reason : ENC-trp-0029 RPC failed for unknown 
    reasons (most likely that DCE cannot pass right status)
    

    The warning now includes an appropriate DCE status that corresponds to the exception raised by the RPC runtime.

    APAR IX86593 (Defect 22810)

    The OTS set the branch qualifier length, bqual_length, of the otid_t structure to one less than it should have been.

    The branch qualifier length is now set correctly and the nesting model code is now included in the branch qualifier.

    APAR IX86592 (Defect 23340)

    If an OTS subordinate server terminated at commit time, during a call to tran_ProvideOutcome that was triggered by a call to ProxyTran_i::commit from a superior coordinator, the restarted server was unable to repeat the call to ProxyTran_i::commit because tran_ProvideOutcome failed.

    The process no longer depends on tran_ProvideOutcome succeeding after the failure. It now relies on TRAN to commit the local transaction, or the superior server to repeat the Resource::commit call.

    APAR IX86591 (Defect 19834)

    A change was introduced in Encina 2.5 and retrofitted as a patch to Encina 2.0 and 1.1 to add support for disk partitions larger than 4 GB.

    However, this fix had a negative effect on I/O performance for the SFS and the RQS servers. If, after a successful file open operation, the file descriptors (FD) limit was encountered while trying to perform 64-bit I/O to the file in a new thread, improper locking sometimes occurred. This locking led to a process suspension in which several threads were blocked.

    This problem no longer occurs because the locking has been corrected.

    APAR IX86590 (Defect 18385)

    Enconsole and enccp failed to cold start an RQS server if it was defined with authentication and authorization disabled. The failure generated the following error message:

    initializing rqs server with data volume dataVol ... done
    adding initial acl, group:encina_admin_group:caxtq ... FAILED 
    Command failed with the following status:  
    DCE-rpc-0044: Unknown interface (dce / rpc) 
    Call to function alibUtils_SetGroupAcl failed with the following status:
    DCE-rpc-0044: Unknown interface (dce / rpc)...
    

    Enconsole and enccp now cold start an RQS server even if the server was defined with authentication and authorization disabled. The ACL interface (rdacl) is now enabled when the RQS server is running with authorization disabled.

    APAR IX86589 (Defect 23496)

    In certain instances, the OTS idle server callback was not being executed. This caused the OTS server to become suspended after about five minutes (as soon as the OTS garbage collection executed) if the application's own garbage collection had released any objects. This happened because the waitingThreadCount function was not properly maintained.

    The waitingThreadCount function is now properly maintained so that the idle server callback function is executed appropriately.

    APAR IX86588 (Defect 23494)

    Sending more than five concurrent MAS start requests to a node sometimes caused a deadlock in the node manager. Each start request blocked until PA 0 sent an RPC to the node manager during its initialization, but the RPC could not be serviced if the entire default thread pool was consumed with MAS start requests.

    There is now a separate internal thread pool for the monNmAppl interface. The default size is 1, and you can resize it by using the ENCINA_MON_INTERNAL_TPOOL_SIZE environment variable.

    APAR IX86587 (Defect 23737)

    On Encina for HP-UX, the showProcInfo function did not work with the HP-UX 4.02 version of the dde debugger due to changes in this version of the debugger.

    The showProcInfo function now works with any recent version of HP-UX dde.

    APAR IX86586 (Defect 22927)

    On Encina for Windows NT, in the client-generated tidl stub code (*TC.C), C++ exception handling was used and resulted in the following compiler warning:

    warning C4530: C++ exception handler used, but unwind
    semantics are not enabled. Specify -GX
    

    The warning has been disabled because it was irrelevant in this situation.

    APAR IX86585 (Defect 22962)

    The OTS prematurely terminated the wait for heuristic damage reports when executing an after-resolution callback.

    The after-finished callback is now used for reporting heuristic information, instead of the after-resolution callback.

    APAR IX86583 (Defect 23375)

    During a warm startup, the enccp and emadmin commands sometimes reported duplicate entries for the RQS with the following error:

    ENC-eai-0091 ENCONSOLE_MULTIPLE_REFERENCES_TO_VOLUME
    

    Duplicate entries for the RQS no longer occur.

    APAR IX86582 (Defect 22565)

    When a recoverable application became unavailable, processing of transactions by other applications slowed down as TRPC threads became blocked trying to generate a new handle for the failed application.

    When this situation occurs, the TRPC now dedicates one thread to generate a new handle to the failed application. If other threads encounter messages for the application, they move the messages to a queue. If the application restarts successfully, the queued messages are delivered; if the application does not restart, the queued messages are discarded.

    APAR IX86581 (Defect 20827)

    Although DCE allows a configurable number of RPCs to be queued at a server, sometimes it is preferable to queue requests at the client to avoid flooding the RPC runtime and, potentially causing transient RPC failures in a highly-loaded system.

    You can now use the new environment variable ENCINA_BINDING_MAX_CONCURRENT_RPCS_PER_PA to limit the number of concurrent RPCs sent by a single client to a single PA.

    APAR IX86580 (Defect 18901)

    HP-UX patch PHSS_14920 introduced an incompatible National Language Support (NLS) message change that caused a segmentation violation in enccp when an invalid command was entered. The relevant part of the stack trace was:

    'main(29) : Called from:  sprintf (hpux_export stub) +0018  (C012F258)
    'main(28) : Called from:  \\Tcl_Eval  (000BE56C)
    'main(27) : Called from:  \\Tcl_CatchCmd  (000C06FC)
    'main(26) : Called from:  \\CatchCmd  (00028E88)
    'main(25) : Called from:  CatchCmd  (hpux_export stub)    (00028E38)
    'main(24) : Called from:  \\Tcl_Eval (000BE2B8)
    'main(23) : Called from:  \\InterpProc  (000F4A1C)
    

    A different string (presumably the same one previously used by the DCE libtcl) is now used to compile enccp, and the segmentation violation no longer occurs.

    APAR IX86578 (Defect 21915)

    There was no way to safely remove a logical volume from an SFS server, even if the volume was completely empty.

    A new command, sfsadmin remove lvol, is now included in the sfsadmin command suite to enable you to remove a logical volume from an SFS server. It removes (disassociates) a logical volume from an SFS server. The syntax is as follows:

    sfsadmin remove lvol [-server server_name] volume_name
    
    Note:This command is available only temporarily. It will not be available in the next release because it is superseded by the acquire/release vol support command.

    Arguments:

    -server server_name-Specifies the name of the SFS server.

    volume_name-Specifies the name of the logical volume to be removed.

    Currently, an SFS server retains information about logical volumes that have been deleted by using the tkadmin delete lvol command. This behavior causes problems during server restarts and file creation. Query operations on the deleted volume also fail. The sfsadmin remove lvol command removes volume-related information from an SFS server so that after a logical volume is deleted by subsequent tkadmin commands, the server can continue to operate correctly.

    Caution:
    Before using the sfsadmin remove lvol command, you must make sure that there are no pending transactions in the server. Removing a logical volume while there are existing transactions can cause the server to terminate abnormally and can cause problems during later restarts. Even if existing transactions are accessing other SFS volumes (not targeted for removal), it is safer to allow those transactions to complete as well.

    Procedure:

    To remove an SFS logical volume, perform the following steps:

    1. Make sure that the volume to be removed is empty. The volume must not contain files or secondary indices. To verify that the volume is empty, do the following:

    2. Make sure that the SFS server is idle and that all transactions have completed. To check for unresolved transactions, do the following:

      Refer to the Encina Administration Guide Volume 1: Basic Administration for details on managing server transactions.

    3. Flush the logical volume by using the tkadmin flush lvol command. Use the -lvolname option to specify the name of the volume to be flushed.

    4. Issue the sfsadmin remove lvol command. The following errors are returned if the volume to be removed is not empty or does not exist:

      Caution:
      After the sfsadmin remove lvol command completes, it is strongly recommended that you stop the server and restart it before resuming normal server operations. Doing any recovery work immediately following an sfsadmin remove lvol command (without first stopping and restarting the server) can cause the server to access the nonexistent volume. (In-memory data structures are not updated until a shutdown and subsequent warm start. Therefore, incorrect volume information can be logged. This can cause problems in future server restarts.)

    5. Shut down the server and then warm start it in administrative mode. (This will ensure that all in-memory data structures are properly updated and synchronized with the updated restart information on disk.) If you are using Enconsole, use Recovery Service Admin Mode.

    6. Use tkadmin commands to delete the SFS logical volume and the physical volume or volumes that back it.
      Note:The names of logical volumes persist at the server, even after you use the tkadmin delete lvol command to delete them. It is recommended that you rename the deleted logical volume to clearly identify it as the removed volume. Use the following sequence of commands:

      On Non-AIX UNIX and Windows NT:

      tkadmin disable lvol logical_volume_name

      tkadmin delete lvol logical_volume_name

      tkadmin rename lvol old_logical_volume_name new_logical_volume_name

      tkadmin delete pvol physical_volume_name

      tkadmin delete disk disk_name

      (All of the above commands also require that a server name be specified by using the -server server_name option or by setting a server environment variable. The -server option is omitted here.)

      Example:

      In the following example, the SFS logical volume named sfsVol1 is deleted from an SFS server and renamed deletedSfsVol1. The physical volume and disk backing sfsVol1 are also deleted.

      % tkadmin disable lvol sfsVol1

      % tkadmin delete sfsVol1

      % tkadmin rename lvol sfsVol1 deletedSfsVol1

      % tkadmin delete pvol sfsVol1_pvol

      % tkadmin delete disk /dev/rsd0f (UNIX)

      % tkadmin delete disk //./D: (Windows NT)

      On AIX:

      tkadmin disable lvol logical_volume_name

      tkadmin unmap lvol logical_volume_name

      tkadmin rename lvol old_logical_volume_name new_logical_volume_name

      (All of the above commands also require that a server name be specified by using the -server server_name option or by setting a server environment variable. The -server option is omitted here.)

      Example:

      In the following example, the SFS logical volume sfsVol1 is unmapped from its associated AIX logical volume and then renamed. On AIX, the physical volume and disk backing sfsVol1 must be deleted by using the AIX logical volume manager.

      % tkadmin disable lvol sfsVol1

      % tkadmin unmap lvol sfsVol1

      % tkadmin rename lvol sfsVol1 deletedSfsVol1

    7. Shut down the server and then warm start it in normal mode.

    8. Resume normal server operation.

    Notes:

    Permissions:

    Encina SFS administer (A) permission on the SFS server

    APAR IX86577 (Defect 23454)

    When a client was making a large number of concurrent requests using the same RQS handle, and a communications error caused the Fast Local Transport (FLT) handle to be invalidated, a segmentation violation sometimes occurred. In a similar situation, a segmentation violation sometimes occurred with the FLT disabled.

    Both of these problems have been corrected.

    APAR IX86575 (Defect 22805)

    If a "bind by object reference" OTS RPC failed, subsequent calls to the trpc_GetManagerInfo function from outside a manager function returned the message TRPC_SUCCESS rather than the expected status TRPC_NOT_IN_MGR (ENC-trp-0039).

    The correct status is now returned. If you have been using the following workaround, it is now safe to delete it.

    The tidl compiler has been modified to generate the code shown in the following workaround:

    In the client generated tidl stub code (*TC.C), replace the following code for each RPC:

           Bind(callHandle_.tranInfoP, callHandle_.ifSpecP) ;
     with: 
           try {
                  Bind(callHandle_.tranInfoP,  callHandle_.ifSpecP) ;
    } 
            catch ( . . . )  {  
                    trpcStub_LeaveClientStub(&callHandle) ; 
                    throw ; 
            }        
    

    On Windows NT, exception handling cannot coexist with DCE exception handling (which is structured) in the same function, so the code above should be moved into a static function such as:

    static void LocalBind(OtsBinding *otsBn, trpcStub_call_t  &callHandle_)
     { 
            try  {  
                      otsBn->Bind(callHandle_.tranInfoP, callHandle_.ifSpecP) ; 
                    }  
                  catch ( . . . )  {
                      trpcStub_LeaveClientStub(&callHandle_) ;
                      throw;
                   }
     }   
    

    and the function called as follows:

     LocalBind(this, callHandle_);   
    

    APAR IX86574 (Defect 23173)

    This enhancement solves several problems involving the ENCINA_TPM_HANDLE_REFRESH_INTERVAL environment variable.

    This change addresses these issues by allowing more latitude in setting the environment variable ENCINA_TPM_HANDLE_REFRESH_INTERVAL.

    Now, if the environment variable ENCINA_TPM_HANDLE_REFRESH_INTERVAL is set, the mon_InitClient function does not attempt the RPC to the cell manager; instead, the specified value is used for the refresh interval.

    However, if the previous behavior is desired, you can preserve it by using the existing Monitor API. If the cell manager is unavailable during initialization, the mon_InitClient function returns the status code MON_CELL_UNAVAILABLE. The application can then call the mon_SetHandleCacheRefreshInterval function to set the binding cache refresh interval to the desired value.
    Note:While the values for the cell attribute and the ENCINA_TPM_HANDLE_REFRESH_INTERVAL environment variable are specified in seconds, the value specified by the mon_SetHandleCacheRefreshInterval function is specified in minutes.

    APAR IX86572 (Defect 22642)

    If an RQS server deleted a FLT handle and subsequently received an FLT call from a client, the call was delayed for 60 seconds (the default FLT timeout value) before being completed by a TRPC.

    If an RQS server receives a call to an FLT handle that it does not recognize, it now notifies the calling client immediately, resulting in an immediate TRPC to complete the call, as well as the generation of a new FLT handle.

    APAR IX86571 (Defect 22281)

    An unexpected exception raised by the replay_completion function resulted in the following fatal error:

     d41fb886 F Unexpected exception when replaying completion
    

    All exceptions other than INV_OBJREF are now retried.

    APAR IX86569 (Defect 22560)

    The OTS did not allow concurrent threads to work on behalf of the same transaction in interoperability mode.

    The ResumeProxyTran and EndWorkOnForeignTran classes now use BeginWorkingOn and EndWorkingOn methods, instead of suspend and resume methods.

    APAR IX86568 (Defect 23252)

    The OTS call to the replay_completion function was not nonblocking.

    The OTS call to the replay_completion function is now nonblocking. The replay_completion work is now done in a background thread. This adjustment also helps to avoid recovery problems when the restarting server tries to access OTS resources.

    APAR IX86565 (Defect 22007)

    On Encina for Windows NT, although enccp checked the system registry for local cell directory locations, enccp did not provide a means for setting them. Instead, it depended on the user first using Enconsole to set them, which updated the registry.

    When a cell or node manager is created by using enccp commands, default values for drives containing the encinalocal and encinamirror directories are set as follows:

    Two Windows NT-only enccp commands were added:

    APAR IX86564 (Defect 21710)

    On Encina for Windows NT, the Encina Restart Service did not detect when a command file (.cmd) to restart a node already existed.

    The Encina Restart Service now checks for the presence of .cmd files.

    APAR IX86562 (Defect 14898)

    External Encina tracing did not support the special formatting character %k for translating error codes.

    External Encina tracing now supports the special formatting character %k, thus making it easier for customers to generate meaningful trace messages.

    APAR IX86561 (Defect 23689)

    During restart, a recoverable server (probably the cell manager) encountered the following fatal error:

    18744c26  F    Recovered Fragment lsn does not correspond to its position in 
    backup stream.
    

    This occurred because the possibility existed for two log extents to have the same log sequence number (LSN). Two extents could have the same LSN if the extents consisted entirely of meta-records (which do not have LSNs assigned) and if the LSNs of the extents were based on the order in which they were read, instead of the order in which they were written.

    Each extent's LSN is now incremented to at least one greater than the first LSN of the previous extent.

    APAR IX86560 (Defect 22996)

    In OTS, the Current::commit (TRUE) function for subtransactions executed wait for heuristic information logic, which was inappropriate for subtransactions. This happened because the Tran::operator = function did not copy the isNested data member.

    The heuristic information logic is now executed correctly.

    APAR IX86559 (Defect 16839)

    An uninitialized TRPC handle in the TRPC stub code sometimes caused a fatal error if an exception was raised before the handle was initialized.

    Initialization is now performed correctly, and a fatal error no longer occurs.

    APAR IX86557 (Defect 22995)

    An unexpected abort sometimes occurred during a server-side transaction (SST) when the client made an SST to a recoverable server, which then transmitted the transaction to another server. This caused the transaction to abort with the following message:

    ENC-trp-0035:  The server-side transaction was aborted or
    took an exception (TRCP_SERVER_SIDE_ABORT)
    

    This abort was performed erroneously because the tranGetLocalState function was returning an unexpected state (TRAN_LOCAL_STATE_PREPARING) for the transaction.

    The tranGetLocalState function now checks for the resolved outcomes before checking isLoggingPrepare, because it is legitimate to be logging for the benefit of others, and yet be resolved locally.

    APAR IX86556 (Defect 23569)

    Performing an ACL check on an RQS server, when authenticated as the Encina administrator (encina_admin), using the dcecp or enccp commands, sometimes failed with the following message:

    Error: operation on acl not authorized
    

    This error occurred because the call to obtain the ACL did not include the caller's handle, so the RQS AclLookup function returned the message sec_acl_not_authorized and a null ACL.

    Local calls (null sec_acl_mgr handle) are now permitted to use the AclLookup function. The implementation of the rdacl function uses this lookup for the rdacl_get_access function and other calls.

    APAR IX86555 (Defect 22839)

    When cold starting a previously defined MAS that was not shut down cleanly, the server terminated with a fatal error that included the status code DCE-rpc-0164 (rpc_s_entry_already_exists).

    The server now ignores the status code DCE-rpc-0164 (rpc_s_entry_already_exists) when calling the rpc_ns_group_mbr_add function to add a processing agent PA to the server group.

    APAR IX86554 (Defect 21984)

    There were minor spelling errors in the following messages: rec_status.msg, ros_status.msg, trace_private.msg, and trace_tmp.msg.

    The misspellings have been corrected and the message numbers have remained the same. There is no impact on the translations, and the English version is correct.

    APAR IX86553 (Defect 22919)

    On Encina for AIX, the volume-locking logic used to ensure exclusive access to volumes did not properly support 64-bit addresses.

    The volume-locking logic used to ensure exclusive access to volumes now supports 64-bit addresses.

    APAR IX86552 (Defect 22955)

    The OTS sometimes failed with fatal errors if calls to the commit_subtransaction or rollback_subtransaction methods of the SubtransactionAwareResource function threw exceptions that were not caught by the application.

    When unexpected exceptions are caught, a warning instead of a fatal error is now generated .

    APAR IX86551 (Defect 22918)

    The DDL program sometimes terminated unexpectedly because of a memory violation.

    The delete operation function in the DDL cleanup path, which caused an invalid memory access, has been removed.

    APAR IX86550 (Defect 23527)

    On Encina for AIX, PPC allocate calls failed when an ENETDOWN signal was returned. This occurred when taking a node out of the switch network, causing the switch to send an ENETDOWN signal to all TCP connections on all nodes, even those that were not in contact with the node being removed.

    The PPC now treats the ENETDOWN signal as a transient error, and retries up to five times every two seconds.

    APAR IX86549 (Defect 21068)

    When server-side transactions were used with the TM-XA transaction-duration locking support, the process failed with the following fatal error:

    5c0ca036 F   Encina Internal  Error -- Call your Support Representative :
                            Unable to obtain ancestor for tid 10000
    00000006 F  . . ./2.0/source/src/server/tmxa/data.c 4041
    

    The TM-XA threadTid callback has been modified to ignore the TRPC wrapped transaction identifier (TID) used in server-side transactions.

    APAR IX86548 (Defect 21509)

    The enccp interface needed the same enhancements as those made to the emadmin interface in earlier patches. These enhancements allow you to issue a resync operation for restoring the cell repository after recovering from a failure.

    The new attribute action is now supported in enccp.

    APAR IX86547 (Defect 23641)

    During initialization, if a PA failed while holding the interprocess mutex that is used to protect the reservation information, attempts to restart the PA sometimes failed in the InitSharedPaInfo function because the new mutex could not be obtained.

    The initialization process now waits only 60 seconds to obtain the interprocess mutex. If it cannot be obtained, the process continues under the assumption that a previous PA instance failed while holding it, and that it is safe to continue with initialization and unlock the mutex.

    APAR IX86546 (Defect 23407)

    To provide more control over tuning the cleanup of TRPC handles used for the delivery of out-of-band messages, an enhancement was needed to control the maximum idle count and frequency of cleanup execution.

    You can now control the frequency of cleanup execution by using the ENCINA_TRPC_CLEANUP_INTERVAL environment variable. Setting this environment variable determines how frequently TRPC cache cleanup is executed. Handles that have been idle too long or that have been marked invalid are removed from the cache by this cleanup processing. The default value is 30 seconds; changes must be written in microseconds (for example, 40000000 microseconds for a 40-second idle time).

    You can also control the maximum idle count by using the ENCINA_TRPC_CLEANUP_MAX_IDLE_COUNT environment variable. Setting this environment variable determines when a handle used for TRPC out-of-band messages has been idle too long and should be removed from the cache. When a handle has been idle for the specified number of cache cleanup passes, it is removed from the cache. The default value is 20 seconds; changes must be written in microseconds (for example, 40000000 microseconds for a 40-second idle time).

    APAR IX86545 (Defect 22435)

    Tran-C implemented a fixed two-minute wait for another thread to abort a transaction. This produced the following fatal error if the timeout was exceeded:

      2c301416 F tc_serial_AbortNamedTran:  looped N times waiting for 
      transfer of control for tid tid...          
    

    However, since RPC communications timeouts were possibly involved, no reasonable fixed timeout was applicable to all situations.

    The fatal error has been changed to a warning, issued every five minutes, until the abort is complete.

    APAR IX86544 (Defect 23082)

    A race condition between an administration call executed from Enconsole and the return of another TRPC sometimes caused a server to fail with a segmentation violation. The stack trace from the core file read as follows:

    [1] admin_trpc_mgr_CallsInProgress( )
    [2] op0_ssr( ) 
    [3] rpc_cn_call_executor( )
    

    TRPCs that are in the process of leaving the server are now ignored by an administration call if relevant information has already been freed.

    APAR IX86543 (Defect 22036)

    A conflict in an SFS server sometimes caused the external file handler (EXTFH) to destroy an OFD. This resulted in a fatal error message similar to the following:

    88047016 F  Encina Internal Error --
         Call your Support Representative: extfh: sfs_RestoreContext FAILED with
         status ENC-sfs-0059: Invalid OFD.
    00000006 F  .../pdg/2.0_ports/source/src/sfs/extfh/cobol_common.c 1330
    

    The error message did not contain the name of the file in question, making it difficult to determine the cause of the error.

    The fatal error message now contains the name of the file that caused the error.

    APAR IX86542 (Defect 23124)

    The OTS incorrectly depended on the function _narrow to throw an exception to determine if a resource was registered with the sub_tran_aware method.

    The OTS now uses the is_nil function to determine if a resource is sub_tran_aware.

    APAR IX86541 (Defect 21026)

    If you attempted to restore a failed Encina cell manager from a backup of its repository, the attempt failed because hidden attributes in the repository did not enable the restored cell manager to resynchronize with nodes in the cell.

    After you restore a cell manager's data volume, you must resynchronize the values of some special repository attributes maintained by the running node managers and the cell manager. Because a backup of a cell manager's repository captures the state of that cell at a single point in time, the repository information does not necessarily reflect the actual state of the nodes and servers in the cell at the time you perform the restore. To bring the repository up to date, the cell manager must retrieve current attribute values from the node managers. To do this, use the action attribute of cell and node objects to force a resynchronization of these internal attributes between the cell manager and the running node managers.

    Backing up and restoring a cell manager's repository

    The following procedure describes how to back up and restore a cell manager's repository.
    Note:Encina volumes can be backed up by using any one of the following methods: tkadmin, an enccp script such as saveRepository (for the cell manager repository only), or an operating system command such as the UNIX dd command.

    This procedure uses the saveRepository script to back up and then restore a cell manager's repository. The other methods mentioned can be used to back up and restore the entire cell manager data volume. Regardless of the method used, Step 4 (resynchronizing repository attributes) must follow the restore procedure so that a running cell can function normally.

    Backing up a cell manager's repository

    The saveRepository script queries the attributes of all objects in the repository (taking a snapshot of the repository) and then creates a script that can be used to restore those attributes. The script generates output in the form of a standalone enccp script. The generated script can be used to recreate all objects and their attribute values following a complete loss of the repository. The restore procedure consists of running the generated script and then resynchronizing the repository so that it reflects the current state of running nodes. After the resynchronization is complete, the cell can function normally. The saveRepository script assumes that the raw disks originally backing the cell manager's volumes still exist, and it restores the same volume objects.

    Note:

    • The saveRepository script does not save default objects (the values of default object attributes are restored to their original values). If you have modified the attributes of default objects, you must reset the attributes to the desired values.

    • The saveRepository script preserves interface ACLs but not administrative ACLs. If you want to preserve administrative ACLs, you can modify the script to back up and restore those ACLs.
    To back up a cell manager's repository, do the following:

    1. Log into DCE as the encina_admin principal (or any other principal that has permission to query the cell).
       % dce_login encina_admin
      

    2. Set the environment variable ENCINA_TPM_CELL to the name of your Monitor cell.
      % setenv ENCINA_TPM_CELL cell_name
      

    3. Run the saveRepository script to back up the contents of the cell's repository. You do not need to stop nodes or servers in the cell before running the script. The following example command generates an enccp script that can be used to recreate a cell's repository:
      % saveRepository > restoreCell.ecp
      

    4. Change permissions for the script so that it can be executed.
      % chmod +x restoreCell.ecp
      

    Restoring a cell manager's repository

    After a failure involving loss of a cell manager's data volume, do the following:

    1. Edit the generated restore script (restoreCell.ecp in this example) to set the passwords for the encina_admin, encina_operator, and cell_admin principals. (To do this, set the variables ENCINA_ADMIN_PASSWORD, ENCINA_OPERATOR_PASSWORD, and DCE_ADMIN_PASSWORD, respectively.)

    2. Remove restart files if they still exist so that enccp does not attempt to warm start the cell manager.

    3. Run the restore script.
      % restoreCell.ecp
      

    4. To resynchronize the attributes in the cell repository, change the value of the action attribute of the cell object to resync. The valid values for the action attribute are none (the default) and resync.
      enccp> ecm modify -action resync
      

    The cell manager issues audit messages when the resynchronization begins and when it is completed. Concurrent resynchronization requests are not permitted. You can resynchronize the entire cell or synchronize nodes one at a time as follows:

    Cellwide resynchronization

    To resynchronize all nodes in a cell, change the value of the cell object's action attribute to resync. The cell manager attempts to contact all defined nodes and initiates resynchronization with the nodes it is able to contact. (Setting the action attribute for the cell object is the same as setting the action attribute of each node object in the cell.) The cell manager issues a warning for those nodes that cannot be resynchronized--for example, for nodes that are stopped. If servers are running on a node but the node is not running, change the value of the node object's action attribute after restarting the node.
    Note:Resynchronizing the entire cell will block access to the repository until the resynchronization is complete--that is, attempts to start new Enconsole processes or perform operations in existing Enconsole processes must wait until the cell can be contacted. If you want to maintain access to the cell during resynchronization, it is recommended that you use per-node synchronization.

    Per-Node synchronization

    You can resynchronize nodes in a particular order (based on importance, activity, or number of servers, for example). First determine which nodes are running and then resynchronize just the running nodes. To resynchronize a node, change the value of the node object's action attribute to resync. This starts resynchronization of the desired node.

    APAR IX86540 (Defect 22310)

    The OTS attempted to execute the replay_completion function indefinitely, or attempted to execute both the commit and rollback upcalls if the replay_completion function was retried after the coordinator had finished a transaction.

    The program does not execute the replay_completion function if the transaction has already been resolved.

    APAR IX86539 (Defect 22785)

    TRAN generated unnecessary commit-with-respect-to (CWRT) message traffic that Orbix could not gracefully handle.

    TRAN no longer sends CWRT requests to other applications when a descendant is still active. CWRT answers are only to sites that send messages containing the wantsOutcome message set. Since the transaction beginner does not require CWRT information from others, wantsOutcome is not set.

    APAR IX86538 (Defect 23558)

    In high load situations, an RQS server sometimes failed with a segmentation violation. The stack trace from the core file shows the failing thread as follows:

    t@48  (1@120 stopped in qsmQset_GetAcl at 0xc0fd4
    0x000c0fd4:  qsmQset_GetAcl+0x0104:     ld     [%13 + 0x4],   %14
    current thread:     t@48
    => [1]  qsmQset_GetAcl ( )
       [2]  qsm_GetQsetAcl ( )
       [3]  verifyQsetAuth ( )
       [4]  qsm_Dequeue ( )
       [5]  rqsServer_QSDequeque ( )
       [6]  rqsSrv_TQSDequeque ( )
       [7]  rqsSrv_TQSDequeque_msr ( )
       [8]  op11_ssr ( )
    

    This failure was due to a data page being referenced outside any operation and was therefore unprotected from being reused.

    The relevant information from the data page is now extracted from within the operation.

    APAR IX86537 (Defect 23638)

    The trdce routine sec_ModifyAcl was altering the IN ACL and not creating an OUT ACL in cases where the aclEntry was present in the IN ACL. This resulted in a segmentation violation and sometimes unexpected changes to the default ACLs for an RQS because the IN ACL (which could be a default ACL) possibly was modified unintentionally.

    The trdce routine now creates the OUT ACL, adding or replacing the requested entry as appropriate.

    APAR IX86536 (Defect 22909)

    At times, an OTS client did not perform proper initialization and then invoked a request on an object reference for a transactional object in an OTS server. This behavior caused the server to terminate with the following fatal error:

    d41fc856 F   Encina Internal Error -- Call your Support Representative:
         Unknown request received
    00000006 F  src/ots/runtime/common/corba/TranCommData.C 459
    

    OTS clients now initialize properly.

    APAR IX86535 (Defect 22387)

    When using an XA-compliant resource manager that does not support migration (such as MQSeries), subtransactions sometimes aborted with the following error:

    ENC-tmx-0002 (TMXA_DID_NOT_MIGRATE)
    

    The TM-XA threadTid callback now correctly sets the RM flags for transaction suspension.

    APAR IX86534 (Defect 22468)

    Transaction_i objects need to be marked uniquely by using a global TID. Otherwise, a quick termination and restart of a transaction-factory might cause a client to complete work on transactions that it did not intend.

    A global TID is now used with the Transaction_i object.

    APAR IX86533 (Defect 23277)

    On Encina for Windows NT, attempting to start a server with expired credentials sometimes resulted in the following DCE error:

    DCE-rpd-0168 No permission for name service operation
    

    This error, which was observed on Windows NT only, did not occur if the CDS entry for the server already existed.

    In addition, when a server was started with expired credentials, the trace redirection RPC used to direct all serious messages to the cell manager for distribution to Serious Message clients like Enconsole, sometimes failed. As a result, any Serious Messages generated by the server were only output locally instead of also being recorded by the cell manager.

    The DCE error has been eliminated by isolating and removing the DCE call that caused the error. The trace redirection problem has been corrected by checking for expired credentials and ensuring that the RPC handle is not stamped with them.

    APAR IX86532 (Defect 21495)

    Due to a database problem involving repeated checkpoint requests, the node manager became saturated with XA logging requests. This caused a shortage of log space and a dramatic increase in the size of the node manager process.

    Checkpoint requests are no longer taken in response to high use of log space. A warning is now issued when the amount of available log space becomes low.

    APAR IX86531 (Defect 22781)

    The recoverable storage allocator (RSA) used by RQS had a single daemon thread used for servicing a variety of requests, such as merging elements reclaimed from the orphan queue. Under high load conditions, this thread was sometimes starved by forward processing, resulting in higher than expected volume utilization for the RQS data volume.

    Each request is now run in a separate thread. Also, a rare condition that possibly led to the mergeRequested boolean remaining set, which prevented subsequent merges, has been corrected.

    APAR IX86530 (Defect 23194)

    An internal data structure was not being initialized properly when a startup or shutdown task was modified for server dependencies. Starting a server set that included several dependencies among servers within the set resulted in the cell manager encountering the following fatal error:

    60e85416 F Encina Internal Error -- Call your Support Representative: 
    TaskFinished called for unknown tid: 555683020
    00000006 F  . . . /field/pdg/2.5/source/src/tpm/cm/cmTasks.c 609
    

    The internal data structure is now properly initialized when a startup or shutdown task is modified for server dependencies.

    APAR IX86529 (Defect 23715)

    A client running on a Solaris 2.6 machine sometimes failed to establish a connection with a PPC Gateway server due to an unexpected error status (EACCESS) from the bind system call.

    The logic has been changed to recognize the new error status as a transient error.

    APAR IX86528 (Defect 22661)

    The OTS sometimes leaked Synchronization objects due to incorrect reference counting.

    The reference counting now works correctly.

    APAR IX86527 (Defect 23551)

    Enconsole terminated with a fatal error if a user submitted duplicate delete requests for the last message on the Serious Messages screen.

    Enconsole now simply makes a beep sound to indicate that the duplicate requests cannot be processed, instead of terminating with a fatal error.

    APAR IX86526 (Defect 21963)

    On Encina for Windows NT, the abort reason strings for an Encina++/DCE application were not passed from the server to the client application. If the server called abortTran with a string describing the reason for the abort, the client did not retrieve the string.

    On the server, the abort reason was overwritten when it was converted from a C++ to a DCE exception. On the client, the abort reason was not passed in an appropriate Tran object, and the transaction was not stopped before the abort reason was retrieved.

    The Encina++/DCE application abort reason strings are now passed from the server to the client application.

    APAR IX86510 (Defect 20024)

    The Encina++ binding-by-name logic incorrectly ignored the interface's major version number, resulting in clients binding to incompatible servers.

    The client-side binding logic has been changed to ensure that it binds only to servers exporting a compatible interface version.


    [ (C) and (TM) ]
    © IBM Corporation 1998. All Rights Reserved
    © Transarc Corporation 1998. All Rights Reserved