WebSphere MQ for AIX V5.3 Fix Pack History ========================================== CSD01 - PTF U484023 (superseded) CSD02 - No PTF available CSD03 - PTF U485561 (superseded) CSD04 - PTF U486531 (latest available PTF) CSD05 - PTF U487850 (not yet available) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ To download this fix pack, please go to the following URL: https://www6.software.ibm.com/dl/wsmqcsd/wsmqcsd-p To satisfy US Export Regulations you will be required to register before downloading the fix pack. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Fix Pack Details ================ A) PTFs U486531, U486581, U486590, U486712, U486853, U486854, U486856, U486857, U486858, U486859, U486860, U486861, U486862, U486863, U486864, U486865, U486866, U486867, U486868, U486869, U486870, U486871, U486872, U486873, and U486874 ---------------------------------------------------------- This is the third fix pack for IBM WebSphere MQ for AIX Version 5.3 from IBM. It is delivered via PTFs U486531, U486581, U486590, U486712, U486853, U486854, U486856, U486857, U486858, U486859, U486860, U486861, U486862, U486863, U486864, U486865, U486866, U486867, U486868, U486869, U486870, U486871, U486872, U486873, and U486874 for APAR IY38742. This fix pack is distributed for all National Language versions using the same CD-ROM as the fix pack for the English version. Number of APARs in fix pack = 37. It contains fixes for all the problems listed below: IC35383 - Cumulative maintenance #03 (fix pack CSD04) for WebSphere MQ for Windows V5.3 IY38742 - Cumulative maintenance #03 (fix pack CSD04) for WebSphere MQ for AIX V5.3 IY38743 - Cumulative maintenance #03 (fix pack CSD04) for WebSphere MQ for HP-UX V5.3 IY38747 - Cumulative maintenance #02 (fix pack CSD04) for WebSphere MQ for Linux on Intel V5.3 IY38762 - Cumulative maintenance #02 (fix pack CSD04) for WebSphere MQ for Linux on zSeries V5.3 IY38744 - Cumulative maintenance #03 (fix pack CSD04) for WebSphere MQ for Solaris V5.3 IC35483 - When importing a self-signed certificate created using selfcert.exe (part of Microsoft Office), on Microsoft Windows XP, using either the GUI or amqmcert, WebSphere MQ V5.3 trapped. IC35648 - Using WebSphere MQ for Windows V5.3 MMC Services Gui in DCOM (remote) mode resulted in a trap. IC35684 - API post-get exit returned an incorrect data length. IC35711 - A damaged queue object occurred following a "clear ql" for an unloaded queue. If on restart the queue file was not recovered from the logs, then when it was loaded an FDC with probe id AQ123002 from component aqqLoadMsgHdr, followed by an FDC with probe id AQ060020 from component aqhLoadMsgChain, occurred. The reason code is arcE_OBJECT_DAMAGED. IC35786 - An FDC with probe id AS023000 occurred in component adiDeleteFile when using rcrmqobj with a damaged object. IY38042 - When processing a DUOW, the first thread waited up to 120 seconds for the second thread to end, and then if it did not end in that amount of time, it terminated the second thread. This has now been increased to a 300 second delay before terminating the second thread. IY38428 - The MQSeries queue manager removes stale IPC resources on startup. Each MQSeries IPC resource has an associated file in the /var/mqm/qmgrs/QMGR/ area, and the queue manager searches that area for old files, and removes them and any associated IPC resource. But that algorithm overlooked the fact that the resource may have been removed and reused by another queue manager due to an IPC key clash. So it may have removed current IPC resources now owned by another queue manager, not stale ones. IY38476 - A COBOL client application compiled for use with WebSphere MQ V5.3 failed with SIGSEGV. IY38893 - An FDC with probe id CO000002 occurred after a TCP/IP transmission problem which caused more bytes to be transmitted than expected for a given message. IY39949 - The trigger monitor was getting an application failure with return code MQFB_APP_CANNOT_BE_STARTED after it had completed processing the messages. The trigger monitor seemed to return this after all messages had been processed sucessfully by the application. IY40050 - An MQSeries channel event message was not generated after error message AMQ9545 (disconnect interval expired). IY40432 - Under certain circumstances, WebSphere MQ could write an FDC showing probe id AQ066030 from component aqhAllocateSpace. The major errorcode was STOP_ALL, so this error would terminate the queue manager. The function stack showed that this error happened while loading a queue into memory as part of MQOPEN processing. IY40722 - When channels were started by runmqsc, the channel processes became defunct when the channel stopped. IY41184 - When importing a certificate into a Queue Manager store, error message AMQ9630 ("an expired SSL certificate was loaded") occurred when using either the Explorer GUI or amqmcert. IY42021 - The runmqchl process became defunct when a channel stopped if that channel had been started by the command server. IY42894 - WebSphere MQ V5.3 was changed to handle SIGABRT differently from the way that MQSeries V5.2 handled SIGABRT, when abort() used to dump a core file and abort the process. But in WebSphere MQ V5.3, this was changed to create an FDC and end the process. After reviewing this with Development, the following changes will be made to the current behavior in WebSphere MQ V5.3: 1. Do not handle SIGABRT received through an user application. As a result of this change, abort() called through an application results in a core dump and no longer it generates an FDC. 2. Do not handle SIGABRT when MQS_ACTION_ON_EXCEPTION is set to ABORT or ABORT_ALL. IY43097 - Occasionally a failure with return code 2102 (MQRC_RESOURCE_PROBLEM) occurred when trying to connect aplications to WebSphere MQ V5.3. When a large number of applications attempted to perform a get operation with large buffer sizes, the shared memory set was extended, but with incorrect permissions. This meant that applications run under a user id which did not have mqm as its primary group could not connect to this extent, getting EACCESS from shmat. This was returned as a resource problem. IY43106 - An FDC with probe id XY242001 was produced from component xcsGetpwnam. This FDC was introduced by APAR IY36461. The intention of the APAR was to create the FDC if the routine failed because the system had run out of file descriptors. The result has been rather different; any failure to find a userID also caused the FDC to be created. Such a failure, that a userID does not exist, is not an WebSphere MQ error so it would not be correct to write such a message to the WebSphere MQ error logs, so this FDC has been removed. IY43215 - On Turbolinux 8, setmqcap, dspmqcap, crtmqm, strmqtrc and endmqtrc all hung. They appeared to function correctly but ps -ef showed two threads that did not end. Trace showed that the asynchronous signal monitor thread never returned from a sigwait. SIGWINCH was correctly raised against it and diagnostics showed that it was correctly blocked on that thread. The problem was due to the default sigaction on Turbolinux being different from other flavours of Linux. The correct sigaction had to be set prior to the sigwait in the asynchronous signal monitor. IY43610 - A number of libraries, including the C++ bindings and SNA libraries, were not shipped with fix pack CSD03. The symptoms which may have been seen prior to application of this interim fix included: -> Segmentation violation in WebSphere MQ -> Abnormal termination of WebSphere MQ applications using the C++ interface -> Diagnostics (e.g. FDCs) not being produced -> Abnormal trace content IY43940 - An object corruption problem occurred following the reloading of a queue which was unloaded due to inactivity. FDCs occurring as a result of this problem included AQ060020 from component aqhLoadMsgChain and AQ066000 from component aqqReadMsg. IY43961 - A triggered Java application hung when instantiating a new queue manager object. IY44601 - Using runmqsc to display information about channels resulted in an FDC showing probe id PC031012 from component pcmInquireChannel. Trace history in the FDC showed return code xecS_E_MEM_SET_NOT_FOUND repeated several times over and error message AMQ9224 ('unexpected token detected') also appeared in the error logs reporting an unexpected token in the qm.ini file. IY44618 - WebSphere MQ V5.3 hung after executing endmqm -i whilst the queue manager was quiescing. IY44803 - Two problems were found during the final stages of WebSphere Application Server V5.0.1 Enterprise Edition testing: a) Whilst running a Process Choreographer application, an except was written to the SystemOut logfile. b) Whilst running a stress test of the compensation function, core and thread dump file were generated. No messages were logged into SystemOut logfile but messages were written to the SystemErr logfile. IY45013 - WebSphere MQ V5.3 JMS hung due to build issues with libmqjbnd05.so and libmqjbndF02.so. IY45091 - If, in an HACMP cluster, a queue manager was failed over to another machine which also hosted another queue manager, then when the failed over queue manager was started, it was not possible to start channels to that instance of the queue manager. The channels failed with error messages AMQ9502 and AMQ9547. SA95740 - The queue manager terminated abnormally when a checkpoint process encountered a ghost queue that it could not find. SA96031 - If a full repositories entry in a partial repositories cache had the awaitsRepos flag on, then it would not be selected as a possible full repository to which to publish its cluster specific messages. AwaitsRepos can get set if there has incorrectly been a manual cluster sender defined from the full repository to the partial repository. The change ensures that we correctly publish messages to the full repository regardless of the AwaitsRepos flag. SA96071 - Following the fix for APAR IY27208, the calculation of the oldest LSN is incorrect. In some cases the oldest LSN calculation will include ghost queues that are no longer required. In the vast majority of cases the likely damage will be limited to reporting an unnecessarily low media recovery LSN at restart. However occasionally it is possible that this could cause us to report too high a media recovery LSN which could cause data integrity problems following a restart. SE09741 - Damage occurred to a queue file when a clear queue was issued against a queue which had not yet been loaded. When the queue file did finally get loaded (not recovered from the logs), FDCs with probe ids AQ123002 from component aqqLoadMsgHdr and AQ060020 from component aqhLoadMsgChain occurred. 71806 - Fixed IVTRun -ccsid option. 73240 - When attempting to use get with convert from legacy applications, problems occurred on the messages produced, such that nulls were left where there should have been blank characters. 73772 - When reading messages in codepage 1051 some applications could have failed with index array out of bounds. B) PTFs U485561, U486242, U486243, U486244, U486293, U486294, U486295, U486296, U486297, U486298, U486299, U486300, U486301, U486302, U486303, U486304, U486305, U486306, U486307, U486308, U486309, U486310, U486311, U486312, U486313, and U486314 ---------------------------------------------------------- This is the second fix pack for IBM WebSphere MQ for AIX Version 5.3 from IBM. It is delivered via PTFs U485561, U486242, U486243, U486244, U486293, U486294, U486295, U486296, U486297, U486298, U486299, U486300, U486301, U486302, U486303, U486304, U486305, U486306, U486307, U486308, U486309, U486310, U486311, U486312, U486313, and U486314 for APAR IY36147. This fix pack is distributed for all National Language versions using the same CD-ROM as the fix pack for the English version. Number of APARs in fix pack = 44. It contains fixes for all the problems listed below: IC34802 - Cumulative maintenance #02 (fix pack CSD03) for WebSphere MQ for Windows V5.3 IY36147 - Cumulative maintenance #02 (fix pack CSD03) for WebSphere MQ for AIX V5.3 IY36151 - Cumulative maintenance #02 (fix pack CSD03) for WebSphere MQ for HP-UX V5.3 IY36157 - Cumulative maintenance #01 (fix pack CSD03) for WebSphere MQ for Linux on Intel V5.3 IY36620 - Cumulative maintenance #01 (fix pack CSD03) for WebSphere MQ for Linux on zSeries V5.3 IY36149 - Cumulative maintenance #02 (fix pack CSD03) for WebSphere MQ for Solaris V5.3 IC34272 - Under some circumstances, the QName field in the MQWXP (cluster workload exit parameter) structure was not set. This field should be set so that cluster workload exits can route messages properly. IC34714 - After doing a browse MQGET, if the MsgId or CorrelId is set, or the MatchOptions MQMO_MATCH_CORREL_ID or MQMO_MATCH_MSG_ID are set, the next MQGET with MQGMO_BROWSE_MSG_UNDER_CURSOR or MQGMO_MSG_UNDER_CURSOR (ie. non-destructive or destructive get) does not retrieve the browsed message. IC34717 - Multiple problems occurred with large concentration of channels into a single Queue Manager running on the Windows 2000 platform. IC34739 - Problems occurred with amqmcert on Windows NT and problems occurred when viewing certificates in the GUI on Windows NT. IC34774 - Following an exception in MQDISC processing subsequent WebSphere MQ functions (eg. MQDISC or MQCONN) hang. IC34854 - A trap occurred when browsing a queue in the MMC Explorer snapin. IC34874 - An FDC was generated with probe id XY315147 on the WebSphere MQ server during system shutdown because a remote application was continuing to PUT messages to a queue manager residing on the server machine. The FDC was seen after a restart of the server machine. IC34883 - An error occurred while opening the SUBSCRIBER queue while performing a subscriber close. IC34910 - An FDC with probe id XY051024 occurred from component InitPrivateServices. This FDC is intended to demonstrate that there are 2 copies of AMQXCS2.DLL in the system, but in this case the 2 copies of the dll reported had the same path - the difference in the 2 paths was that one was uppercase and the other was lowercase. IC34948 - Cluster sender channel did not start automatically. IC34985 - If after defining a queue manager, a listener was defined, deleted and recreated then at this point nothing was written to the registry so a reboot lost that listener. This also applied to any child service (eg. channel initiators or trigger monitors). IC35037 - Problem in the bindings code that prevented the MQPMR from being updated once the messages had been sent using a application java program that put a message to a distribution list. When the program ran in bindings mode, the message ids that were returned were null. If the program was changed to run in client mode, the message ids were returned correctly. In both scenarios, the message ids were valid on the queues. IC35040 - A JMS publish/subscribe subscriber application failed with with error message: javax.jms.JMSException: MQJMS2002: failed to get message from MQ queue with the linked exception com.ibm.mq.MQException: Completion Code 2, Reason 2003 (MQRC_BACKED_OUT) IC35047 - The command dmpmqaut showed authorities that were valid for a queue manager (ObjectType = qmgr) when displayed for a queue (ObjectType = queue). IC35050 - When using an RFH2 Header with MQMD.MsgFlags set to MQMF_SEGMENTATION_ALLOWED with a message length that was greater than the maximum message length, then an error occurred with Reason Code 2195 (unexpected error). IC35116 - An MQCONN failed with return code 2059 and an FDC with probe id XY441008 occurred in the Shared Memory server. IC35136 - The error MQRC_BUFFER_ERROR was reported incorrectly for an MQAI COM application (ie. a VB application using the classes in the amqzaix COM library) that used the 'item' method to query the value of a string. IC35272 - If a message larger than MAXMSGL was put to a cluster queue with MD.MsgFlags set to MQMF_SEGMENTATION_ALLOWED the message was not segmented on the SYSTEM.CLUSTER.TRANSMIT.QUEUE. The result was that the message was not gettable from the cluster xmitq and the channel continually failed with MQRC_TRUNCATED_MSG_FAILED returned from MQGET. IC35369 - Error message AMQ8343 or any error message with a higher error number gave the wrong text in German, Brazilian-Portuguese and Traditional Chinese. IC35395 - When reading the Service stanza, it was assumed that SecurityPolicy was the last entry. This was not the case if there was also a NameService stanza, in which case the SecurityPolicy was set correctly when the line was found, and reset to default when the line was not found under the NameService stanza. IY31882 - MQSeries queue open information could have been corrupted by processes that opened the same queue at the same time. IY32730 - The component xcsExecProgram did not trace the path to the failed executable to help determine the cause of an 'access denied' message being generated. IY34135 - Improve trace information reported for the rcdmqimg command to help determine which objects are preventing media log advancement. IY34300 - Queue manager failed to start and error message AMQ5525 was produced. The error message was accompanied by FDCs with probe ids ZI095207 and ZF095010. IY35557 - An application connected to WebSphere MQ, then at some point all its threads disconnected. This caused WebSphere MQ to uninitialise tracing for that process. Later, multiple threads from that application connected at the same time. WebSphere MQ needed to re-initialise tracing for the process, but there was a small timing window which allowed multiple threads into the initialisation code, and that tripped the WebSphere MQ consistency check and the resulting FDC with probe id XY078004. IY35756 - An error with reason code 2195 (unexpected error) occurred from an xa_prepare in component tmiPerformPrepare. IY35870 - The CPI-C call cmrcv() failed with a SIGSEGV on HP-UX V11. IY36085 - If an MQI application running over an SVRCONN channel stacked in MQGET with MQWI_UNLIMITED, endmqm -i hung up and never stopped. IY36461 - When the number of File Descriptors was running short for a user, generating both informational FDCs and error logs was not possible. If the errors were to be logged in error logs, it would be necessary to open the message catalog file and the error log file for which there are insufficient File Descriptors. To avoid this problem error logs will no longer will written in this situation. IY36853 - An FDC with probe ID ZF047010 occurred and an xcsGetGrent call ended with 9 during a crtmqm command. This resulted in the crtmqm command aborting but leaving a partially running Queue Manager with no default objects created. IY37338 - An FDC with probe id AT048005 occurred in component amqzlaa0 from routine atxCommit. The return code was arcE_XAER_PROTO. IY37545 - When WebSphere MQ encountered an error loading a module or resolving a symbol name within a loaded module, it queried the operating system for error text to help resolve the problem. In some cases, this text may have been lost or overlayed with new and possibly unrelated error information. IY37611 - An LDAP userid was truncated when used to bind to the server for CRL processing. IY37765 - The WebSphere MQ Using Java manual (SC34-6066-00) refers to a Makefile for use with JTA/JDBC coordination via WebSphere MQ base Java (see chapter 7). The Makefile was omitted from WebSphere MQ for AIX V5.3 and WebSphere for Sun Solaris V5.3. IY38407 - Error messages AMQ6188 and AMQ7622 occurred when trying to start the Queue Manager. IY39991 - After a JMS application received a message from a queue, it attempted to send that message to two other queues. On the second put, the start of the message data was found to be missing. IY40211 - The listener process terminated abnormally, accompanied by an FDC with a probe id of CO052000 and error message AMQ9207. SA95932 - A queue lock was not released before releasing a data mutex and this resulted in a deadlock condition that caused MQSeries to hang. 60225 - Provide support for the WebSphere MQ Extended Transactional Clients. 66682 - MQS_ACTION_ON_EXCEPTION was ineffective for XA exceptions. 67200 - An FDC with probe id XY078004 occurred from component xtrReleaseTraceLock. 67470m - Unicode Topic names are now supported in WebSphere MQ JMS. 70015 - SSL channels did not work on Windows NT. 70180 - Windows XP (SP0) system supplied certificate resulted in a channel failure as a result of a user error. 70294 - QREMOTE with RNAME=QREMOTE name got stuck on the XMITQ. 70527 - REFRESH CLUSTER command did not accept "*" as a parameter. 70594 - Client connection failed after the SSL channel failed to start because the assigned certificate had no private key. 70595 - Client did not check the date validity of an SSL certificate. 70684 - Logfilepages could not be set to more than 9999. 70703 - If an application was terminated while it was allocating or freeing a memory block in the shared memory heap, then the queue manager could have been halted. 70804 - Platform differences between the SSL state attribute caused certificate search failures. 70872 - An FDC with probe id ZF154006 occurred in component wasSecServiceInit from program amqzlaa0. 71189 - After a queue with size in excess of 2GB was filled with persistent messages, the queue manager was stopped and restarted. When the application that was putting messages to this queue was restarted, at the MQOPEN the queue was truncated to 2GB in size and the MQOPEN failed with reason code 2101 (MQRC_OBJECT_DAMAGED). 71218 - Failed to find mqm as secondary group. 71230 - Problems occurred with the cluster creation GUI. 71510 - Memory leaks occurred in the MSCS resource monitor process. 71569 - If certain criteria occurred, inquire queue status did not always return a correct queue depth. 72076.1 - FDCs and exceptions from zcpDetachPipe following Agent Dead FDCs. 72217 - Resolves issues where Channel Terminated messages were being issued when a heavily stressed system has thousands of channels starting and stopping simultaneously. 72223 - 100% CPU loop in amqrrmfa in a rare timing condition when the registration chain is updated by two processes simultaneously. 72307 - Problem where amqrmppa channel pooling processes were not tracked correctly, resulting in a significant number being launched unnecessarily over time on a system where thousands of channels start and stop frequently. 72500 - Resolves problems with wrapping trace including hang during wrapping point and incorrect filenames on the Windows platform only. 72562 - An FDC with probe id RM220005 occurred in component rrmRepository from program amqrrmfa. 61153 - JMSAdmin - Test for InitialContextFactory on classpath. A common problem has been the inability of Java to find the InitialContextFactory class, as specified in the INITIAL_CONTEXT_FACTORY property, in the classpath. The effect of the fix for this defect is to report "Class specified by INITIAL_CONTEXT_FACTORY not found in CLASSPATH". 64266 - Improve JMSAdmin error reporting JMSAdmin -v : specifying the -v option for JMSAdmin will enable verbose output on commands including exception reporting. 67166 - NoClassDefFoundException without jta.jar. MQ base Java required jta.jar on the CLASSPATH at runtime, for example running the MQIVP without jta.jar available fails with a NoClassDefFoundException on XAException. 68116 - Unable to change TopicConnectionFactory TRANSPORT property DIRECT to BIND value. Switching a Topic Connection Factory or Queue Connection Factories TRANSPORT value in JMSAdmin can cause the PORT value to change : From To PORT value BIND CLIENT Set to 1414 (the default value) BIND DIRECT Set to 1506 (the default value) CLIENT DIRECT Unchanged (remains at the default value for CLIENT transport 1414, or whatever the user has set) CLIENT BIND The Port Property will be removed as not valid with transport BIND DIRECT CLIENT Unchanged (remains at the default value for DIRECT transport 1506, or whatever the user has set) DIRECT BIND The Port Property will be removed as not valid with transport BIND 68275 - Minor performance improvement to getMessage. Reduces the amount of browsing needed for message selection over the MQI. 68382 - Inconsistent identified producer behaviour. An identified producer (i.e. one tied to a specific destination at creation time) in a Point-to-Point model is unable to send to a specified queue, using QueueSender.send(queue, message). In this situation, a JMSException is thrown, stating that such an attempt is an invalid operation for an identified producer. However when using the Publish/Subscribe model, using a publisher which has been tied to a topic at creation time, succeeds. This is has been corrected with reference to the JMS 1.0.2b Javadoc for QueueSender and TopicPublisher, where in both cases it should actually throw java.lang.UnsupportedOperationException. 68422 - Improve SessionAsyncHelper error handling. 68741 - Transactions not working with selectors. Messages are being got outside syncpoint for transacted and XA sessions when the QueueReceiver is using a message selector. As a result, rolling back the transaction does not backout the message. 68762 - iSeries Storage leak on MQGET - NO_MSG_AVAILABLE. MQGET does not ReleaseByteArrayElements when Base MQ returns MQRC_NO_MSG_AVAILABLE. This causes the heap space to be consumed and threads to drop when 4MB is used. 68775 - Linux native library not statically link with /lib/libgcc_s.so.1. Linux native library was built with a dependency on /lib/libgcc_s.so.1 rather than statically linked. This may cause problems on systems where this library is not available. 68780 - Rationalize syncpoint usage on ConnectionConsumer receive. When using ConnectionConsumer, non-persistent messages are now received out of syncpoint if the Session is non-transacted and AUTO_ACKNOWLEDGE or DUPS_OK_ACKNOWLEDGE. This brings ConnectionConsumer into line with the behaviour of asynchronous delivery. This behaviour can be altered through the SyncpointAllGets property of the ConnectionFactory (from JMSAdmin, this is the SPAG property). If this property is set to true (ie. SPAG(YES)) all receives are performed in syncpoint. Additionally, ConnectionConsumer no longer performs an unnecessary backout at the end of receipt of a batch messages, if the gets were committed. 68905 - get() fails with maxmsgsize of zero. In the 'base' MQ classes for Java API, it was not possible to call MQQueue.get() specifying a zero-length buffer. This is now fixed; the call will complete successfully if the message received has no body or with an appropriate MQRC_TRUNCATED_MSG response if the message has any body data. 68938 - Fail if Quiesce values for ConnectionFactory and Destination properties cause unexpected returns. The exact behaviour of the Fail If Quiesce property when a queue manager is quiescing was significantly dependent upon the timing of the calls (for example sending/publishing, and creating a receiver/subscriber) in relation to the closing of the queue manager. Under certain conditions with the ConnectionFactory property set to YES and Destination property set to NO, a JMSException would be thrown when the operation would be expected to succeed. This JMSException contained a linked MQException with error codes of 2161 (MQRC_Q_MGR_QUIESCING) or 2033 (MQRC_NO_MSG_AVAILABLE). This behaviour has now been corrected in all feasible scenarios, however a 2033 may still occur if the pub/sub broker has been stopped before it processed the publish operation. 69623 - Incorrect message lookup in BrokerSubEng. Broker response is set to MQPS_COMP_CODE rather than MQPS_REASON_TEXT. 70052 - NullPointerException from durable subscribe and unsubscribe. If the queue manager is quiescing while subscribing to durable subscription now fails with NoBrokerResponseException, and the durable unsubscribe fails with another NoBrokerResponseException, with linked MQRC 2033. 70365 - JMS postcard "nickname" can be truncated. Users may previously have entered a nickname of any length in the graphical user interface, which was silently truncated to 18 characters. It is now impossible to enter a nickname longer than the allowed length of 18 characters. 70378 - Unable to parse RFH2 containing <../> empty element form. When reading a message containing a folder element of the form , the parse failed. Such messages were not generated by JMS, but could be created by other applications (eg. MQ Integrator, third-party apps). This is now fixed. 70409 - Bad exception if no CertStore class available. An SSL client application which checks against CRLs on a non-1.4 JVM without the CertStore class, then the JVM will throw a ClassDefNotFound exception rather than an MQException. 70413 - get-wait poorly handled in Subscriber. The wait timeout is not reduced in MQTopicSubscriber.getMessage when processing non-matching msgs. This can result in a lock-in where getMessage will never return because a stream of non-matching msgs are arriving. 70463 - Exception while closing the sub with SUBSTORE(MIGRATE). NullPointerException while closing a durable subscription using SUBSTORE(MIGRATE), when the subscription has previously been created using SUBSTORE(QUEUE); i.e. when the subscription had been migrated during createDurableSubscription(). Later uses of the durable subscription were unaffected. 70694 - JMS WebSphere Sample 3 improved compatibility. The JMS WebSphere Sample3 (jmsSample3.jar) is now compatible with the WAS 4.0 and WAS 5.0 ejbdeploy and assembly tools. 70862 - Messages not cleared when updating surable subscription. Old messages not cleared when updating surable subscription while using BrokerSubscriptionEngine. 70969: BrokerSubscriptionEngine cannot open durableSubscription on non-shared queue 71007 - Open handles left against durable subscriber queue. Queue handles could be left open against the subscriber queue following a create and close of a durable subscription using SUBSTORE(QUEUE). 71036 - Timestamp based selector fails. When using MessageSelection=BROKER, selectors which use JMSDeliveryMode, JMSPriority, JMSTimestamp or JMSXGroupSeq, will result in no message being delivered even when the selector should evaluate to true. 71038 - Null pointer exception when using setString(null) on MapMessage with trace enabled 71069 - PSIVT fails with EBCDIC broker (MQSSR problem). The PSIVT fails when using an EBCDIC pub/sub broker with BVER(V1). IVT fails reporting a bad message received with "JMS_IBM_Format:MQSSR" instead of "MQSTR". 71084 - Get matching by correlid does not work for Linux bindings. Attempting to get a message, by specifying a correlation ID fails when using the Linux bindings. The symptom of the failure is that the get operation succeeds but does not peform the matching and instead returns the first message found. 71102 - StringIndexOutOfBoundsException and mangled NLS messages. Under heavy load, MQException objects could contain mangled messages; occasionally this would result in StringIndexOutOfBoundsExceptions. 71131 - MQTopic incomplete equals and hashcode methods. Not all of the parameters on MQTopic were included in the hashcode and equals methods. 71137 - ConnectionConsumer Performance enhancements. 71145 - SUBSTORE(QUEUE) cleanup, BVER(V2), ignores wildcards subscribers. SUBSTORE(QUEUE)-style cleanup ignores BVER(V2) subscribers which use wildcards in the topic name. 71159 - Ignore MsgSelection for IP Transport. When using Transport=DIRECT the setting of the MsgSelection parameter on the TopicConnectionFactory should be ignored as message selection is always done by the Broker in this case. Previously, attempting to set MessageSelection=BROKER when Transport=DIRECT caused an exception to be thrown erroneously 71166: Add new error message for UserName too long UserNames longer than 12 characters are not supported when using Transport=CLIENT or BIND. 71167 - Pacing of publish() requests to Broker. Erroneous 'No Broker Response" exceptions reported when publishing using multiple Publishers on one Session with a heavily loaded Broker. 71233 - Performance: improve MQMessage.read* methods. When reading many small data elements from an MQMessage, the majority of the overhead is in calls to setMode() and trace statements that are not dependent on a conditional test 'if (Trace.isOn)'. A tidyup of the trace and changing the calls to setMode() to execute conditionally solves the problem. 71318 - Thread leak with broken connections. The thread created for a bindings connection is normally removed during the disconnect call. If the disconnect fails the thread is not removed, and for customers writing their own fail-over/reconnect logic this causes a build up of unwanted threads. 71405 - Durable sub fails with multiple Queue approach. Recreating durable subscription after JVM Crash throws javax.jms.JMSException: MQJMS3022 when multiple Queue Approach is used. 71433 - Cannot restart queue manager, ConnectionConsumer holding connections. The JMS code did not properly disconnect non-XA Sessions created from an XAConnection object. This caused problems from ConnectionConsumer, which may have given rise to just this problem. The problems related to restarting the queue manager after a failure; without being properly disconnected the queue manager could not restart until the WebSphere Application Server process was stopped. 71439 - Cannot send deserialized messages. If a message object gets serialized and later deserialized, attempting to send the deserialized version gives an 'internal error' JMS Exception. 71568 - Missing file /java/lib/jdbc/Makefile.jdbc. Used for building switch file jdbcxxx had been omitted from the AIX and Solaris installation packages. This is now fixed. 71696 - TemporaryTopic error conditions should throw InvalidDestination. A JMSException is thrown in the following circumstances: 1. TemporaryTopic used in createSubscriber against the wrong Connection 2. Deleted TemporaryTopic used in createSubscriber 3. TemporaryTopic used with createDurableSubscription Behaviour changed to throw InvalidDestinationException as required by the JMS specification. C) PTFs U484023, U484132, U484140, U484196, U484299, U484301, U484476, U484477, U484478, U484479, U484488, U484489, U484490, U484491, U484492, U484493, U484494, U484495, U484496, U484497, U484498, U484499, U484500, U484603, U484605, and U484971 ---------------------------------------------------------- This is the first fix pack for IBM WebSphere MQ for AIX Version 5.3 from IBM. It is delivered via PTFs U484023, U484132, U484140, U484196, U484299, U484301, U484476, U484477, U484478, U484479, U484488, U484489, U484490, U484491, U484492, U484493, U484494, U484495, U484496, U484497, U484498, U484499, U484500, U484603, U484605, and U484971 for APAR IY32727. This fix pack is distributed for all National Language versions using the same CD-ROM as the fix pack for the English version. Number of APARs in fix pack = 52. It contains fixes for all the problems listed below: IY32621 - Cumulative maintenance #01 (fix pack CSD01) for WebSphere MQ for Windows V5.3 IY32727 - Cumulative maintenance #01 (fix pack CSD01) for WebSphere MQ for AIX V5.3 IY32728 - Cumulative maintenance #01 (fix pack CSD01) for WebSphere MQ for HP-UX V5.3 IY32729 - Cumulative maintenance #01 (fix pack CSD01) for WebSphere MQ for Solaris V5.3 IC33707 - Service startup may not have waited for all queue managers to start. The process is estimated to start in 45 seconds but when there are many queue managers, this time may be considerably longer. But the 45 second estimate was not changed and this resulted in some of the queue managers being stopped and error message AMQ7880 was written to the log. IC33838 - When using the just in time activation of objects within COM+, the application program worked for a while but then hung because an MQGet was being executed before the commit of the previous transaction had been issued. The point at which it hung was the getcontext within the MQGet. IC34042 - When a CLUSSDR channel to a full repository went inactive due to a DISCINT expiring and was then stopped by using the Stop Channel command) then if a cluster queue was defined on the queue manager, the channel to the full repository (which was in STOPPED state) went into RUNNING state automatically. IC34123 - The queue manager restarted automatically when it was stopped manually through the services panel. IC34193 - An access violation occurred in the amqzlaa0 process when different security was setup on the receiver channel. An FDC with probeid XC130031 from component xehExceptionHandler. IC34208 - The AlternateUserId was not being used to open a queue manager object when calling Connect from an ActiveX/COM application. IC34235 - When using remote administration from machine A, signed on with a local id on that machine, to another machine B on which the same userid existed but had limited authority (not in mqm group), then an attempt to view the queue manager properties resulted in a trap in the command server, which when running as a service appeared to be hung. IC34362 - Using a revoked certificate when CRL settings were defined so that verification via an LDAP server should occur, the channel started successfully whereas it should have failed because the certificate was revoked. IC34382 - Multiple copies of listener and trigger monitor occurred following a reboot of the machine, where the queue manager start up process included the trigger monitor, listener and channel initiator. IC34383 - Error message AMQ4082 "Unexpected Websphere MQ error (3015)" occurred when the "apply on channels" option was chosen on a V5.3 MMC Explorer connected to a V5.2 queue manager. IC34402 - Using SSLPEER to check one or more attributes (RDNs) in a DN obtained from a certificate failed when an exact match was required on what turned out to be the last RDN in the DN, but it worked if wildcard was specified at the end of the full RDN. IC34442 - When using the *name for a Queue manager name, ActiveX did not return the actual queue manager name to which the user was connected. IC34551 - If the JMS client retrieved a message greater in size than 2K then the message data was retrieved incorrecty if the message data was not accessed prior to another MQGET occurring. IC34583 - MQPMR fields were not filled in during an MQPUT1 call on MQSeries V5.2 or an MQPUT call on WebSphere MQ V5.3. IC34586 - A handle leak occurred on each MQCONN/MQDISC when they were done in a separate thread. IC34855 - The length of a channel name insert was incorrect in some error messages. IC35242 - Error message AMQ5615 occurred when trying to issue CRTMQM commands after installing fix pack CSD05 on MQSeries for Windows NT and Windows 2000 V5.2.1. IY31724 - When an application calls MQBACK at the end of a two-phase unit of work, MQSeries must invoke the xa_end and xa_rollback methods of all associated resource managers. If a resource manager returned one of the XA_RB* (ie. rollback) return codes to xa_end, it was allowed to return XAER_NOTA to xa_rollback. Because this option was not reflected in the XA state tables, WebSphere MQ would return error MQRC_UNEXPECTED_ERROR (return code 2195) from MQBACK and write an FDC with probe id TM05000 from component tmiRollbackTransaction with major error code trcE_UNEXPECTED_RM_ERROR. IY31891 - Additional trace points have been added for WebSphere MQ for AIX V5.3 so that any errno value set by a call to system() can be displayed in the trace. IY32787 - On a newly created V5.3 queue manager, a PCF Inquire Channel command to inquire the status of all Svrconn channels returned incorrect values for the SSLCipherSpec key (MQCACH_SSL_CIPHER_SPEC). IY32885 - The Solaris catgets problem (problem id 417950) resulted in WebSphere MQ failing to print an error message from the message catalogue in the normal fashion when the print string in the catalogue is badly formatted. Instead of the required message, error message AMQ8101 was received when running RUNMQSC. IY32890 - After migrating from MQSeries V5.2 to WebSphere MQ V5.3, the V5.2 queue manager would not restart successfully. An FDC with probe id AQ066030 from component aqhAllocateSpace was produced. IY32925 - When WebSphere MQ ran out of file descriptors, an FDC was created with probe id XY017001 from component xufOpenIniRead. However, it did not report the error number properly. It was likely to be reported as 0. IY33049 - The listener in WebSphere MQ V5.3 did not use the SO_REUSEADDR socket option. IY33171 - After applying the fix for APAR IY32890 and migrating from MQSeries V5.2 to WebSphere MQ V5.3, the V5.2 queue manager would restart successfully but a warning FDC with probe id AQ065010 from component aqhLocateSpace was produced. IY33246 - An FDC with probe id XC287002 from component xstAllocateMemBlock with minor error code SEM_OWNER_DIED occurred when an application died while holding a lock to the queue manager. IY33346 - A problem occurred in component zlaMain where the application dead count was not reset properly when a connection was reused. This caused frequent FDCs to be generated with probe id ZL000028 out of component zlaMain. IY33612 - Uninitialised shared memory data caused a WebSphere MQ agent thread to believe that it has been told that the queue manager was stopping. This caused the thread to terminate the connection with the application. In order for the uninitialised data to cause this, it had to have exactly the right 32-bit value. IY33836 - After migrating from MQSeries V5.1 to WebSphere MQ V5.3, the V5.1 queue manager failed to start, producing FDCs with probe id ZD007030 from component zdmMQCONN and a Major Error code MQRC_ENVIRONMENT_ERROR. This also produced error message AMQ6090 (WebSphere MQ was unable to display an error message 7DC). IY33837 - After migrating from MQSeries V5.1 to WebSphere MQ V5.3, the V5.1 queue manager would not restart. Error message AMQ6118 occurred and an FDC with probe id HL081015 (AIX) or HL081916 (other platforms) from component mqlpgolf in program amqzxma0 was produced. IY33871 - While WebSphere MQ was waiting for work to complete, an endmqm -i was issued. The endmqm process in turn invoked the shutdown function zxcForceStopLQM which then tried to shutdown the OAM but failed with error code MQRC_CONNECTION_BROKEN (return code 000007D9) because the OAM had already been stopped. Unfortunately, the function zxcForceStopLQM treated this as a bad return code and skipped the shutdown procedure. IY34165 - Messages were being got outside syncpoint for transacted and XA sessions when the QueueReceiver was using a message selector. As a result, rolling back the transaction did not backout the message. IY34432 - The expiry time on some messages was reduced by the time that has elapsed since the messages were first put. This occurred when rcdmqimg was executed or the queue manager was stopped and restarted. This resulted in some messages being deleted unexpectedly. IY34454 - The commands setmqaut and dspmqaut incorrectly failed with error message AMQ7085 (Type Q not found). IY34652 - The listener failed after the number of file descriptors had exceeded the limit of 252. IY34717 - Ping for non-existent channel caused the command server to SEGV. IY34818 - If the asynchronous signal monitor was attempting to initialize common services in order to create an FDC while main thread was in the process of bringing common services down, then this resulted in a cascade of locks being backed up which then resulted in a hang condition. IY34825 - An FDC with probe id XC130003 occurred in component xehExceptionHandler from program runmqchl_nd. IY34865 - When a JMS application issued QUEUEBROWSER.CLOSE(), the queue handle was not being released. IY36465 - AMQRMPPA processes were left running after endmqm had finished processing. IY36487 - When an exception handler was set for SIGABRT, the saved signal handler for SIGSEGV was overwritten. If the handlers were not identical then SIGSEGV was not percolated correctly. IY37431 - If there was only one cluster queue and it was set to be put disabled, then the expected return code 2268 (MQRC_PUT_INHIBITED) was not returned when putting from a remote queue manager with bind-not-fixed specified. However the message was "put" successfully and ended up on the local SYSTEM.CLUSTER.TRANSMISSION.QUEUE. PQ65576 - The repository manager on a Solaris or HP-UX queue manager running in a cluster containing WebSphere MQ V5.3 queue managers failed. When the queue manager was restarted, it failed again. The repository manager failed due to a badly formatted message on the SYSTEM.CLUSTER.COMMAND.QUEUE. On queue manager restart the repository manager tried to process this message again, hence the repeated failure. PQ65725 - On migration from an older release of MQSeries where clustering was used, on channel initiator startup the repository manager terminated abnormally due to an unusually formatted message segment on the SYSTEM.CLUSTER.REPOSITORY.QUEUE. The abend would also be seen on channel initiator restart as the message would be re-processed. PQ66006 - Partial repository queue managers no longer acknowledged all instances of a cluster queue some time after a REFRESH (or ALTER QMGR to change the clusters to which queue manager was the full repository) was carried out on a full repository queue manager. SA95280 - Following an MQPUT, with the put message option MQPMO_NEW_MSG_ID specified, that used distribution lists, then the Msgid field of the MQPMR structure was expected to be populated with a unique message identifier but it was not. SA95694 - When putting a message to a distribution list and a unique message identifier was specified, the specified unique message identifier was ignored and a queue manager generated message identifier was given to the message. SA95741 - While ENDMQM processing was being performed, all MQCONN attempts, other than the first MQCONN processed, resulted in FDCs with probe id XC307070 with major return code xecL_W_LONG_LOCK_WAIT. This was a significant problem if the ENDMQM processing for an installation took a long to complete. 67364 - Provide full command-line support in the IBM Global Security product (GSKit). 68457 - AES CipherSpecs are now supported on HP-UX.