IBM Support

IT46528: Warnings and excessive output observed during IBM MQ 9.4 Linux RPM package updated.

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • When upgrading from IBM MQ 9.4.0.0 to 9.4.0.5 using the command:
    
        rpm  -U <package name(s)>
    
    the terminal outputs a lot of data.  For example:
    
    $ sudo rpm -U MQSeriesRuntime-9.4.0-5.x86_64.rpm \
                  MQSeriesServer-9.4.0-5.x86_64.rpm \
                  MQSeriesJava-9.4.0-5.x86_64.rpm \
                  MQSeriesJRE-9.4.0-5.x86_64.rpm \
                  MQSeriesWeb-9.4.0-5.x86_64.rpm \
                  MQSeriesGSKit-9.4.0-5.x86_64.rpm \
    
    MQSeriesRuntime-9.4.0-0.x86_64
    MQSeriesRuntime-9.4.0-5.x86_64
    MQSeriesJava-9.4.0-5.x86_64
    MQSeriesJRE-9.4.0-5.x86_64
    MQSeriesGSKit-9.4.0-5.x86_64
    MQSeriesServer-9.4.0-5.x86_64
    MQSeriesWeb-9.4.0-5.x86_64
    /opt/mqm
    /opt/mqm/READMES
    /opt/mqm/READMES/readme_cs_CZ
    /opt/mqm/READMES/readme_de_DE
    /opt/mqm/READMES/readme_en_US
    /opt/mqm/READMES/readme_es_ES
    /opt/mqm/READMES/readme_fr_FR
    /opt/mqm/READMES/readme_hu_HU
    /opt/mqm/READMES/readme_it_IT
    /opt/mqm/READMES/readme_ja_JP
    ... ... ...
    

Local fix

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    Users of IBM MQ 9.4 who are upgrading the installation version:
    
      IBM MQ 9.4.0.0
    
    to a newer version, such as IBM MQ 9.4.0.5, using the 'rpm -U'
    command to perform the upgrade.
    
    
    Platforms affected:
    Linux on x86-64, Linux on Power, Linux on zSeries
    
    ****************************************************************
    PROBLEM DESCRIPTION:
    Several Linux install related issues are being resolved in the
    code changes associated with this APAR, which were discovered
    during the testing of upgrading IBM MQ 9.4.0.0 to 9.4.0.5.
    These include:
    
    
    1: Excessive output is seen on the 'stderr' stream when
    upgrading IBM packages from the version:
    
      IBM MQ 9.4.0.0
    
    to a later version using the 'rpm -U' command (as opposed to
    uninstalling 9.4.0.0 using 'rpm -e'  and installing the new
    packages using the 'rpm -i' commands), the install scripts
    associated with the 9.4.0.0 'MQSeriesRuntime' package displays
    data to the 'stderr' stream.
    
    This data includes:
    
    (a) The set of RPM packages which include the installation path
    directory (eg. '/opt/mqm') in their manifest.
    
    (b) The manifest content of the MQSeriesRuntime package.
    
    For example, the following output is seen when upgrading between
    the versions 9.4.0.0 and 9.4.0.5:
    
    $ sudo rpm -U MQSeriesRuntime-9.4.0-5.x86_64.rpm \
                  MQSeriesServer-9.4.0-5.x86_64.rpm \
                  MQSeriesJava-9.4.0-5.x86_64.rpm \
                  MQSeriesJRE-9.4.0-5.x86_64.rpm \
                  MQSeriesWeb-9.4.0-5.x86_64.rpm \
                  MQSeriesGSKit-9.4.0-5.x86_64.rpm \
    
    MQSeriesRuntime-9.4.0-0.x86_64
    MQSeriesRuntime-9.4.0-5.x86_64
    MQSeriesJava-9.4.0-5.x86_64
    MQSeriesJRE-9.4.0-5.x86_64
    MQSeriesGSKit-9.4.0-5.x86_64
    MQSeriesServer-9.4.0-5.x86_64
    MQSeriesWeb-9.4.0-5.x86_64
    /opt/mqm
    /opt/mqm/READMES
    /opt/mqm/READMES/readme_cs_CZ
    /opt/mqm/READMES/readme_de_DE
    /opt/mqm/READMES/readme_en_US
    /opt/mqm/READMES/readme_es_ES
    /opt/mqm/READMES/readme_fr_FR
    /opt/mqm/READMES/readme_hu_HU
    /opt/mqm/READMES/readme_it_IT
    /opt/mqm/READMES/readme_ja_JP
    ... ... ...
    <in excess of 4000 directory and filenames>
    
    This output is caused by an typographical error in the '%postun'
    post uninstall script of the MQSeriesRuntime component which
    directed the output from a command to the stderr stream in
    error.
    
    
    
    2: A warning message is observed when uninstalling IBM MQ
    9.4.0.5 after an upgrade has taken place from IBM MQ 9.4.0.0, if
    the optional 'MQSeriesSDK' package has not been installed.
    
    For example:
    
    Step 1:  Install IBM MQ 9.4.0.0
    Step 2: Upgrade to IBM MQ 9.4.0.5 using the 'rpm -U' command.
    Step 3: Uninstall IBM MQ 9.4.0.5  (eg. 'rpm -e').
    
    When step 3 is run, then the following warning is seen from the
    'rpm -e' command:
    
    warning: file /opt/mqm/inc: remove failed: No such file or
    directory
    
    
    This warning is caused by the post-uninstall script for the MQ
    9.4.0.0 packages removing the directory:
      /opt/mqm/inc
    
    which had not been populated with files if the 'MQSeriesSDK'
    package was not installed.  Subsequently when the MQSeriesServer
    package was uninstalled, the RPM file database warned that an
    associated directory was not present, and so could not be
    removed.
    
    
    
    3: When upgrading the version of IBM MQ using the "rpm -U"
    method, there were no checks to determine if the queue manager
    or IBM MQ Web Console/REST API were running prior to starting
    the upgrade.
    
    Because the package uninstall scripts do check for a running
    queue manager, this results in the uninstall of the old packages
    failing during the upgrade, leaving both the new and old
    packages being listed as being installed with the RPM database
    at the same time.
    
    
    
    4: When repackaging the MQ 9.4 packages using the script
    'crtmqpkg', it was possible to install the repackaged RPM
    filesets to the same location as a same-version installation.
    
    For example:
    
    # Install the standard packages to the default location:
    $ sudo rpm -i MQSeriesRuntime-9.4.0-0.x86_64.rpm
    MQSeriesServer-9.4.0-0.x86_64.rpm
    MQSeriesGSKit-9.4.0-0.x86_64.rpm
    
    # Repackage the RPM filesets to generate a new name:
    $ sudo ./crtmqpkg MQ9400
    Repackaging IBM MQ for "x86_64" using suffix "MQ9400" and
    Installation path "/opt/mqm"
      INFO:  Return code "0" from rpmbuild command for package
    "MQSeriesAMQP_MQ9400"
      INFO:  Return code "0" from rpmbuild command for package
    "MQSeriesAMS_MQ9400"
      ... ... ...
    
    # Install these repackaged RPM filesets to the same location as
    used previously, ie. the default location of '/opt/mqm':
    $ cd /var/tmp/mq_rpms/MQ9400/x86_64/
    $ sudo rpm -i MQSeriesRuntime_MQ9400-9.4.0-0.x86_64.rpm
    MQSeriesServer_MQ9400-9.4.0-0.x86_64.rpm
    MQSeriesGSKit_MQ9400-9.4.0-0.x86_64.rpm
    
    # List the MQ packages which are installed:
    $ rpm -qa | grep MQSeries
    MQSeriesServer-9.4.0-0.x86_64
    MQSeriesGSKit-9.4.0-0.x86_64
    MQSeriesServer_MQ9400-9.4.0-0.x86_64
    MQSeriesRuntime-9.4.0-0.x86_64
    MQSeriesGSKit_MQ9400-9.4.0-0.x86_64
    MQSeriesRuntime_MQ9400-9.4.0-0.x86_64
    
    In this example, there are now 2 identical MQSeries packages
    installed for each component, to the same location.  This was
    not the intended design of the MQ RPM installation mechanism,
    and has been corrected.
    
    
    
    5. Package verification fails for the MQSeriesRuntime component,
    when the license is accepted before installing the
    MQSeriesRuntime component.
    
    If the license is accepted prior to installing the
    MQSeriesRuntime component, such as in the following example,
    then a verification check of the MQSeriesRuntime component will
    show multiple changes:
    $ sudo ./mqlicense.sh
    $ sudo rpm -i MQSeriesRuntime-9.4.0-0.x86_64.rpm
    $ rpm --verify MQSeriesRuntime
    .......T.    /opt/mqm/licenses/Chinese.txt
    .......T.    /opt/mqm/licenses/Chinese_TW.txt
    .......T.    /opt/mqm/licenses/Czech.txt
    .......T.    /opt/mqm/licenses/English.txt
    .......T.    /opt/mqm/licenses/French.txt
    .......T.    /opt/mqm/licenses/German.txt
    .......T.    /opt/mqm/licenses/Greek.txt
    .......T.    /opt/mqm/licenses/Indonesian.txt
    .......T.    /opt/mqm/licenses/Italian.txt
    .......T.    /opt/mqm/licenses/Japanese.txt
    .......T.    /opt/mqm/licenses/Korean.txt
    .......T.    /opt/mqm/licenses/Lithuanian.txt
    .......T.    /opt/mqm/licenses/Polish.txt
    .......T.    /opt/mqm/licenses/Portuguese.txt
    .......T.    /opt/mqm/licenses/Russian.txt
    .......T.    /opt/mqm/licenses/Slovenian.txt
    .......T.    /opt/mqm/licenses/Spanish.txt
    .......T.    /opt/mqm/licenses/Turkish.txt
    .......T.    /opt/mqm/licenses/non_ibm_license.txt
    S.5....T.    /opt/mqm/licenses/notices.txt
    
    The codes for these differences correspond to:
        T --> Modification time of the file.
        5 -->  MD5 checksum of the file.
        S --> The file's size.
    
    This has been corrected by the code change associated with APAR,
    for all files excluding the file:
      /opt/mqm/licenses/notices.txt
    
    which will continue to show a difference, as follows:
    $ sudo rpm -i MQSeriesRuntime-9.4.0-5.x86_64.rpm
    $ rpm --verify MQSeriesRuntime
    S.5......    /opt/mqm/licenses/notices.txt
    
    
    
    6.  When repackaging the MQSeriesRDQM component using 'crtmqpkg
    <suffix> <install_path> an error message is observed in the
    output.
    For example, when issuing the command:
    
      crtmqpkg MQ9400 /opt/mqm9400
    
    the following error message would be observed on the console
    when the MQSeriesRDQM package was repackaged:
    
    grep: /etc/opt/mqm9400/mqinst.ini: No such file or directory
      12:MQSeriesRDQM_MQ9400-9.4.0-0
    ################################# [ 38%]
    
    
    
    7.  When upgrading from MQ 9.4.0.0 to 9.4.0.5 on Linux (s390x)
    and asking the RPM database to verify the MQSeriesServer
    component, RPM reports that a directory is missing.
    For example:
    $ rpm --verify MQSeriesServer-9.4.0-5
    missing     /opt/mqm/lib/compat
    
    This problem is only seen on the s390x variant of the IBM MQ on
    Linux platforms.
    

Problem conclusion

  • The Linux RPM package install scripts have been updated to not
    output unnecessary data to the 'stderr' stream when an upgrade
    is taking place, and address the various other problems
    identified above.
    
    Note that this APAR cannot change the install scripts which were
    included in the 9.4.0.0 bundle, as these are already publicly
    available and may be what you have already installed on your
    system.  Instead the code change associated with this APAR will
    rectify this issue when upgrading from IBM MQ 9.4.0.5 onwards to
    future releases.
    
    ---------------------------------------------------------------
    The fix is targeted for delivery in the following PTFs:
    
    Version    Maintenance Level
    v9.4 LTS   9.4.0.5
    v9.x CD    9.4.1
    
    The latest available maintenance can be obtained from
    'IBM MQ Recommended Fixes'
    https://www.ibm.com/support/pages/recommended-fixes-ibm-mq
    
    If the maintenance level is not yet available information on
    its planned availability can be found in 'IBM MQ
    Planned Maintenance Release Dates'
    https://ibm.biz/mqplannedmaintenance
    
    ---------------------------------------------------------------
    

Temporary fix

Comments

APAR Information

  • APAR number

    IT46528

  • Reported component name

    MQ BASE 9.4

  • Reported component ID

    5724H72A1

  • Reported release

    940

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2024-07-15

  • Closed date

    2024-09-05

  • Last modified date

    2024-09-05

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

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

Fix information

  • Fixed component name

    MQ BASE 9.4

  • Fixed component ID

    5724H72A1

Applicable component levels

[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"940","Line of Business":{"code":"LOB67","label":"IT Automation \u0026 App Modernization"}}]

Document Information

Modified date:
11 September 2024