APAR status
Closed as program error.
Error description
The java.properties file used by the IBM MQ Telemetry service is configured with the entry below to enable remote monitoring via JMX: -Dcom.sun.management.jmxremote.port=5553 When the runmqsc command: STOP SERVICE(SYSTEM.MQXR.SERVICE) is run to stop the IBM MQ Telemetry service, the IBM MQ Telemetry service does not stop and an exception similar to the one below is written to the IBM MQ Telemetry log file <WMQ data directory>\qmgrs\<qmgr_name>\mqxr.stderr: Error: Exception thrown by the agent : java.rmi.server.ExportException: Port already in use: 5553; nested exception is: java.net.BindException: Address already in use (Bind failed)
Local fix
Problem summary
**************************************************************** USERS AFFECTED: This issue affects users of the MQ Telemetry service who have added Java system properties to the MQ Telemetry service JVM configuration file (java.properties). Platforms affected: Linux on x86-64, Linux on zSeries, Linux on Power, AIX, Windows **************************************************************** PROBLEM DESCRIPTION: The MQ Telemetry service JVM configuration file is used to set Java system properties on the Java Virtual Machine (JVM) that runs the MQ Telemetry service. This configuration file is called java.properties. The directory where the file resides depends on the platform where the IBM MQ Telemetry service is running: - On Windows, the file can be found in the directory <MQ_DATA_PATH>\qmgrs\<queue manager name>\mqxr. - On Linux and AIX, the file is in the directory /var/mqm/qmgrs/<queue manager name>/mqxr. More information on the MQ Telemetry service JVM configuration file can be found in the "Location of telemetry logs, error logs, and configuration files" topic in the IBM MQ V9.0.x and V9.1.x sections of IBM Knowledge Center. The URI for this topic in the IBM MQ V9.1.x section of IBM Knowledge Center is shown below: https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_9.1.0/com. ibm.mq.tro.doc/q039380_.htm When the MQ Telemetry service is started using: - Either the runmqsc command START SERVICE(SYSTEM.MQXR.SERVICE). - Or via the IBM MQ Explorer. the JVM properties file is read and any properties that have been defined are passed into the JVM that runs the MQ Telemetry service. When a request is made to MQ Telemetry service, using: - Either the runmqsc command STOP SERVICE(SYSTEM.MQXR.SERVICE) - Or the IBM MQ Explorer. then a new Java application is started. This application connects to the queue manager where the MQ Telemetry service is running, and sends a PCF message containing the command MQCMD_STOP_SERVICE to it, requesting that the SYSTEM.MQXR.SERVICE stops. Now, when a request was made to stop the MQ Telemetry service, the IBM MQ Telemetry service JVM configuration file was read and any Java system properties specified in it were passed into the new Java application that performed the stop operation. This meant that any Java system properties specified in the configuration file were passed to: - The JVM that ran the MQ Telemetry service. - And the JVM that ran the Java application which stopped the MQ Telemetry service. If the MQ Telemetry service JVM configuration file contained the entry: -Dcom.sun.management.jmxremote.port=5553 to enable remote JMX monitoring of the MQ Telemetry service, then the following sequence of events would occur: - When the MQ Telemetry service started up, the JVM it was running in enabled port 5553 to allow remote monitoring tools (such as JConsole) to connect to it via JMX. - When a request was made to stop the MQ Telemetry service, the JVM that was launched to run the Java application which performed the stop operation also tried to open port 5553 to allow remote monitoring. However, as port 5553 was already being used by the JVM running the MQ Telemetry service, the new JVM was unable to start and reported the following error: Error: Exception thrown by the agent : java.rmi.server.ExportException: Port already in use: 5553; nested exception is: java.net.BindException: Address already in use (Bind failed) As a result, the MQ Telemetry service could not be stopped.
Problem conclusion
To resolve this issue, the MQ Telemetry service has been updated so that the MQ Telemetry JVM configuration file is not read when stopping the service. This means that any properties specified in the configuration file are only set on the JVM running the MQ Telemetry service, and not on the JVM used to run the application that performs the stop operation. --------------------------------------------------------------- The fix is targeted for delivery in the following PTFs: Version Maintenance Level v9.0 LTS 9.0.0.9 v9.1 CD 9.1.4 v9.1 LTS 9.1.0.5 The latest available maintenance can be obtained from 'WebSphere MQ Recommended Fixes' http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg27006037 If the maintenance level is not yet available information on its planned availability can be found in 'WebSphere MQ Planned Maintenance Release Dates' http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg27006309 ---------------------------------------------------------------
Temporary fix
Comments
APAR Information
APAR number
IT30482
Reported component name
IBM MQ BASE M/P
Reported component ID
5724H7261
Reported release
900
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2019-10-02
Closed date
2019-10-17
Last modified date
2019-10-17
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
IBM MQ BASE M/P
Fixed component ID
5724H7261
Applicable component levels
[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"9.0","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]
Document Information
Modified date:
17 October 2019