######################################################################## # # # COMPONENT_NAME: MQSeries # # # # FILE: README.TXT # # # # Program Number 5639-B43 # # (C) COPYRIGHT International Business Machines Corp. 1995, 2003 # # All Rights Reserved # # Licensed Material - Property of IBM # # # # US Government Users Restricted Rights - Use, duplication or # # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # # ######################################################################## MQSeries for Windows NT and Windows 2000 V5.2.1 Fix Pack History ================================================================ CSD01 - Gold code (superseded) CSD02 - No PTF available CSD03 - PTF U200151 (superseded) CSD04 - PTF U200153 (superseded) CSD05 - PTF U200170 (superseded) CSD06 - PTF U200175 (superseded) CSD07 - PTF U200182 (superseded) CSD08 - PTF U200192 (latest available PTF) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Fix Pack Details ================ A) Fix Pack CSD08 (PTF U200192) ---------------------------- This is the sixth fix pack for IBM MQSeries for Windows NT Version 5.2.1 from IBM. It is delivered via PTF U200192 for APAR IC35389. 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 = 39. It contains fixes for all the problems listed below: IC35389 - Cumulative maintenance #06 (fix pack CSD08) for MQSeries fo r Windows NT V5.2.1 IY38748 - Cumulative maintenance #08 (fix pack CSD08) for MQSeries for AIX V5.2 IY38749 - Cumulative maintenance #08 (fix pack CSD08) for MQSeries for HP-UX V5.2 (HP-UX Version 10) IY38750 - Cumulative maintenance #08 (fix pack CSD08) for MQSeries for HP-UX V5.2 (HP-UX Version 11) IY38761 - Cumulative maintenance #08 (fix pack CSD08) for MQSeries for Linux V5.2 IY38760 - Cumulative maintenance #08 (fix pack CSD08) for MQSeries for Sun Solaris V5.2 IC35648 - The problem is using the GUI in DCOM mode results in a trap whose callstack is ole32!CoRevokeClassObject. Local use of the MQ Services GUI will cause a problem. IC35749 - If a remote queue is set up so that the remote queue manager name is a queue manager alias shared in the cluster, the queue manager name is not filled in on the cluster xmitq, causing the message to be put to the DLQ on the queue manager which hosts the alias. This only applies where the queue is set to BIND_NOT_FIXED. IC35985 - Queue managers which use pipelined channels (that is, having a pipeline length of 2) may encounter channel failure when sending messages greater than 32K in size. The sender channel may corrupt the message contents, resulting in messages AMQ9504 ( A protocol error was detected for channel ) and AMQ9523 ( Remote host detected a protocol error ) as well as an FDC with Probe Id AQ011001 from aqmPutMessage showing a major errorcode of arcE_BAD_PARAMETER. IC36128 - Customer receives MQI501026E when sending message from MQ/VSE to MQ/PC. MQI501026E normally happens due to a network problem or if the other side is not responding/did not respond. IC36158 - Unable to access MQAI MQBag COM class from the script languages. IC36185 - Messages appear to vanish when put to a cluster queue following shutdown of a queue manager in a cluster. IC36285 - In HongKong SAR commands received an FDC XC076001 xecX_E_CONV_NOT_SUP. The content of the AMQERR01.LOG is in simplified Chinese. MQ is running is simplified chinese while the rest of the system is using traditional Chinese. IC36300 - The Windows Performance Monitor (perfmon) can show dynamic queues and other queues which have been deleted in MQ well after they were removed. These obsolete queues do not cause a problem but their presence can be confusing. IC36374 - DEFBIND attribute of cluster queue changes from notfixed to open when altering it s namelist. The attributes of a cluster queue alter when it s namelist is changed to make the queue a member of a different list of clusters. IC36417 - A queue manager deadlocks when tring to write to write to an error log. IC36623 - A Visual Basic application running with COM+ or MTS hangs when 2 instances are started at the same time on a multi-processor machine. When the application issues GET command it receives error: RUNTIME ERROR -2147417848(80010108) AUTOMATION ERROR: THE OBJECT INVOKED HAS DISCONNECTED FROM ITS CLIENT. IC36641 - Memory leak in ActiveX ReadString and ReadUTF methods. IC36673 - The Visual Basic samples provided with MQ could be misleading since they do not set the codepage for MQPUT and MQGET or convert on MQGET. IY36592 - FDC file created with component xtrReleaseTraceLock and Probe Id XY078004. IY40577 - Customer issued SUSPEND QMGR CLUSTER(CLSL). The SUSPEND status becomes inconsistency between REPOS queue managers and partial managers. DIS CLUSQMGR() SUSPEND doesn't show the queue manager as suspended from the cluster if the cluster is in a namelist. It works fine if the displaying queue manager only belongs to the one cluster. IY40722 - When channels were started by runmqsc, the channel processes became defunct when the channel stopped. IY40823 - In some circumstances, MQSeries may generate one or more FDCs during endmqm which show Probe Id XC130003 from Component xehExceptionHandler with an Arith1 field of 10 a , meaning a SIGBUS signal was caught. If the MQS_ACTION_ON_EXCEPTION environment variable is set to HANG or HANG_ALL, endmqm will not complete. The function stack in the FDC shows: xcsTerminate TermPrivateServices xehTerminateAsySignalHandling xehStopAsySignalMonitor xcsFFST IY41070 - Loading very large queue takes a very long time. IY42021 - The runmqchl process became defunct when a channel stopped if that channel had been started by the command server. IY42382 - SEGV if NULL queue manager name passed in client MQCONN. IY42888 - The customer has a script to end the queue manager via endmqm then end their listener via endmqlsr. When they end the listener a FDC is generated with probe id XY341019. The endmqlsr process is trying to connect to a subpool but is getting rc = 20806206 xce_X_E_INVALID_SEG error. IY43261 - Protocol FDC files with probe RM033006 from function rriReceiveData in the amqrmppa process are created as a result of the channel pair being in disagreement over the sequence number. IY44283 - The process amqrrmfa terminates unexpectedly. This prevents amqrrmfa from processing command messages needed to make clusters work. IY44316 - RQSTR channel fails to start. IY44361 - Failure on restart with an FDC file containing Probe Id AO106010 from component aocRecreateQueue. IY44493 - An FDC file containing Probe Id zc002040 from component zcpAttachpipe is created. 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. IY44885 - Memory leak when a process deletes a temp queue while another process has it opened for browse. IY45419 - Listener ends when it receives ECONNABORTED. Error message shows and Errno of 130. IY46433 - Attempting to delete a RQSTR channel is rejected because the channel is indoubt. IY46567 - Failure of a database (under transaction control by MQ in global units of work) when ThreadOfControl is set to PROCESS can result in MQCMIT calls rolling back the whole trasaction and giving a reason code of MQRC_BACKED_OUT. Transaction integrity is not compromised. IY46627 - An FDC file containing Probe ID XY019001 from component xufOpenIniEdit is created with return code of 545261579 (LRCE_Q_MGR_NOT_AVAILABLE) when a process, amqpcsea for example, is started specifying a non-existent queue manager. IY46777 - An FDC file containing Probe ID XC332070 is created. 73632 - SIGSEGV in MQCONN on a client if the QMgrName field is NULL. 75204 - If a queue manager has a names name which is a subset of another queue manager name, and if both of these have the same database as an resource manager, then the first queue manager can attempt to resolve indoubt transactions belonging to other queue manager. B) Fix Pack CSD07 (PTF U200182) ---------------------------- This is the fifth fix pack for IBM MQSeries for Windows NT Version 5.2.1 from IBM. It is delivered via PTF U200182 for APAR IC34254. 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 = 46. It contains fixes for all the problems listed below: IC34254 - Cumulative maintenance #05 (fix pack CSD07) for MQSeries fo r Windows NT V5.2.1 IY33344 - Cumulative maintenance #07 (fix pack CSD07) for MQSeries for AIX V5.2 IY33345 - Cumulative maintenance #07 (fix pack CSD07) for MQSeries for HP-UX V5.2 (HP-UX Version 10) IY33351 - Cumulative maintenance #07 (fix pack CSD07) for MQSeries for HP-UX V5.2 (HP-UX Version 11) IY33349 - Cumulative maintenance #07 (fix pack CSD07) for MQSeries for Linux V5.2 IY33347 - Cumulative maintenance #07 (fix pack CSD07) for MQSeries for Sun Solaris V5.2 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. IC34717 - Multiple problems occurred with large concentration of channels into a single Queue Manager running on the Windows 2000 platform. 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. 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). 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). 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. IC35234 - Changes to a CLUSRCVR to remove it from one of two clusters in a namelist were not propagated correctly. IC35242 - Error message AMQ5615 occurred when trying to issue CRTMQM commands after installing fix pack CSD05. 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. IC35400 - MQAX200 MQMessage method writeUTF could not write messages whose length was greater than 256 bytes. IC35424 - When a queue was shared in a cluster, but also had a remote queue definition to it, an application was able to put messages on it via the remote queue definition. Messages put to the same queue via clustering still failed with MQRC_CLUSTER_PUT_INHIBITED. IC35527 - MQGET of last group message returned MQRC_INCONSISTENT_UOW if the previous get was backed out. IY31590 - The queue manager control programs crtmqm, dltmqm and strmqm could hang if a particular semaphore they used happened to conflict with an existing set on the system. 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. IY34432 - The expiry time on some messages were reduced by the time that had elapsed since the messages were first put. This occurred when rcdmqimg was executed or the queue manager was stopped and restarted. As a result some messages would be deleted unexpectedly. IY34436 - After fix pack CSD04 was installed, an attempt to create a new queue manager failed as the creator showed up as 'sys' instead of 'mqm' and 'sys' was not a member of group 'mqm'. IY35297 - MQSeries did not return an error when an MQCOMMIT was not successful in a clustering environment. IY35429 - An application was unable to PUT to another clustered queue. The reported error code was 2189 (MQRC_CLUSTER_RESOLUTION_ERROR). 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. 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. IY37338 - An FDC with probe id AT048005 occurred in component amqzlaa0 from routine atxCommit. The return code was arcE_XAER_PROTO. IY37632 - The sample makefile (xaswit.mak) for sybswit did not work for Sybase V12. IY37681 - An FDC with probe id XC130003 from component xehExceptionHandler occurred for a SIGSEGV exception in component zstXAClose. 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. IY38485 - An FDC with probe id XC174006 occurred in routine xllSemSetVal. The return code was xecF_E_UNEXPECTED_SYSTEM_RC. 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. IY40050 - An MQSeries channel event message was not generated after error message AMQ9545 (Disconnect interval expired). IY40211 - The listener process terminated abnormally, accompanied by an FDC with a probe id of CO052000 and error message AMQ9207. IY41671 - Double posting of a semaphore caused MQSeries to hang. 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. SA95419 - When starting the Sender channel, it went into RETRY status when the receiver channel was in INDOUBT status. 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. SA96012 - While reading the object catalog for a named object to obtain its handle, an unexpected error was received instead a damaged object error when the object's length was found to be shorter than expected. SA96031 - If a full repositories entry in a partial repositories cache has the AwaitsRepos flag on, then it will not be selected as a possible full repository to which to publish its cluster specific messages. 55485 - A header in a message can follow a header with a length which is not a multiple of 4 bytes (eg. an MQRFH or MQRFH2, which are variable length). If data conversion was required at MQGET, this caused an exception (SIGBUS) in the queue manager when the length of the new header was read. 57658 - Clients did not cause Event messages when MQCONN failed with return code 2035. 59593 - Cluster channels should not check for other channels indoubt against the same transmission queue. 66682 - MQS_ACTION_ON_EXCEPTION was ineffective for XA exceptions. 66793 - amqrfdm was displaying some of the subscription flags incorrectly. 67121 - Return code MQRC_NOT_CONVERTED was returned incorrectly when an MQGET was not using the MQGMO_CONVERT option. 68734 - After a shutdown and re-boot, AMQSVC.EXE failed with an application error (referenced memory not read). 69009 - An FDC with probe id XY231001 in component xcsQueryProcAddr from routine runmqchl_nd occurred when an LU6.2 channel was started. 70010 - The process runmqlsr terminated abnormally when trying to connect with user name of 64 characters in length. 70231 - While the MQSeries agent was handling requests from a channel program, it marked a transaction as rollback only, but when a subsequent commit was attempted a SEGV occurred in cpmponent atxLockTranQHandles when the duplicate rollback was attempted. 70294 - A message was stuck on the SYSTEM.CLUSTER.TRANSMIT.QUEUE in a situation where QREMOTE name was defined with the same name as RNAME. 71218 - It was not possible to find mqm as a secondary group when checking channel command authorisation. 71332 - If the SYSTEM.CLUSTER.REPOSITORY.QUEUE of a full repository was cleared and the Queue Manangr restarted while the other full repository was unavailable the sequence number of each SYSTEM.TEMP... object representing a CLUSSDR was unset. 73314 - The connected process list shared memory leak was reintroduced in fix pack CSD06. 73527 - 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 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. C) Fix Pack CSD06 (PTF U200175) ---------------------------- This is the fourth fix pack for IBM MQSeries for Windows NT Version 5.2.1 from IBM. It is delivered via PTF U200175 for APAR IC33411. 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 = 49. It contains fixes for all the problems listed below: IC33411 - Cumulative maintenance #04 (fix pack CSD06) for MQSeries for Windows NT V5.2.1 IY30386 - Cumulative maintenance #06 (fix pack CSD06) for MQSeries for AIX V5.2 IY30387 - Cumulative maintenance #06 (fix pack CSD06) for MQSeries for HP-UX V5.2 (HP-UX Version 10) IY30406 - Cumulative maintenance #06 (fix pack CSD06) for MQSeries for HP-UX V5.2 (HP-UX Version 11) IY30408 - Cumulative maintenance #06 (fix pack CSD06) for MQSeries for Linux V5.2 IY30407 - Cumulative maintenance #06 (fix pack CSD06) for MQSeries for Sun Solaris V5.2 IC33435 - Unwanted MUSR_MQADMINxx userids were being created during an upgrade of MQSeries at which time the MUSR_MQADMINxx userid is deleted and recreated. If, for some reason, this ID could not be deleted, then a new userid was created with the number suffix incremented by 1. IC33451 - When using MTS applications, connection delays occurred or the applications got disconnected. Traps occurred during shutdown and FDC stacks were corrupt. IC33522 - An application trapped in zstXAcommit. IC33584 - It was not possible to tell how a client channel definition was picked up when using a trace to investigate a client connection failure. 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. 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. IC34183 - Stopping channels with STOP MODE FORCE (or selecting the force option when stopping channels in MMC Explorer) timed out after 40 seconds. 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. 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. IC34382 - Multiple copies of listener and trigger monitor occurred following a reboot of the machine. IY17510 - Enhance MCA behaviour when the remote end is not available such that no attempt should be made to deliver messages to a remote channel if it is not running. IY27056 - After upgrading from MQSeries V5.1 to MQSeries V5.2, an FDC with probe id XC330005 from component xlsLockEvent occurred and the queue manager shut down. IY29028 - After restarting the queue manage SDR channels went into INITIALIZING state if CLUSSDR channels were also present. IY29809 - When installing a fix pack for MQSeries for Sun Solaris, error messages may have appeared concerning "removef" command processing, even though the fix pack was installed successfully. These messages were incorrectly generated. IY30271 - The MQSeries channel initiator process (runmqchi) can start channel processes (runmqchl) for each channel to be started. When runmqchi starts a new runmqchl process on UNIX, it set up a signal handler for the SIGCHLD signal, in case the child process terminates unexpectedly. However, runmqchi failed to deregister the SIGCHLD handler properly. The result was a small memory leak for every runmqchl process started. If runmqchi ran long enough, it could have exhausted its heap storage leading to errors like xecP_E_PROC_LIMIT in xtmStartTimerThread (FDC probe id XY348010). IY31498 - An FDC with probe id XC130004 from component xehExceptionHandler occurred for a SIGSEGV exception in process amqrrmfa. IY31710 - CTRL-C or KILL against a connected MQSeries process caused the queue manager to lock up, if the connected application was in a critical section. 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. IY31882 - MQSeries queue open information could have been corrupted by processes that opened the same queue at the same time. 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. IY32055 - An FDC with probe id XC130004 occurred in component xehExceptionHandler from routine rrxStopAllChannels when endmqm -i is executed. IY32302 - If user application was executed under a non-mqm group user, it could fail with permission denied when it tried to create a new event semaphore. Error message AMQ6119 and an FDC with probe id XC173001 would be produced. IY32605 - The sample makefile in /usr/mqm/samp/dlq/Makefile.mq did not work. IY32608 - When running a Java application using two threads to connect to two different queue managers, the second thread seemed to hold a connection to the first queue manager. This caused a return code 2085 as a queue did not exist on that queue manager. 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. IY33243 - FDCs AO125001 from component aotAddEntry and FDC XY168002 from component xstFreeBlockFromShareMemSet were generated repeatedly from program amqzllp0 when a permdyn queue created under MQSeries V5.1 was closed on MQSeries V5.2. 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. IY33574 - When a request message was sent to the MQSeries Internet Gateway, a return code of 2059 with a completion code of 2 and error message "target queue manager is not available" was received. The MQCONN was ended. 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. 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. IY34652 - The listener failed after the number of file descriptors had exceeded the limit of 252. 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. SA94576 - STRMQM failed because SYSTEM.DEAD.LETTER.QUEUE was damaged. An FDC with probe id AD004001 from component adhOpen occurred, The FDC major errorcode was arcE_OBJECT_MISSING. SA94809 - An FDC with probe id XC308010 occurred in component xlsRequestMutex from program amqcrsta, accompanied by error message AMQ6151. SA95419 - When starting the Sender channel, it went into RETRY status when the receiver channel was in INDOUBT status. SA95488 - MQSeries locked up when the agent, AMQZLAA0, failed with error message AMQ6125. This generated an FDC with probe id AO173001 for component aouLockObjectCatalogue resulting from an attempt to open a model queue for which the user was not authorized. SA95691 - An FDC with probe id ZS087117 occurred in component zsllpiDeleteQM from program amqzlaa0, accompanied by error message AMQ6091. SA95741 - MQCONN hung when ENDMQM took a long time to process. 63722 - The runmqsc process generated "Unexpected error" when trying to display attributes for a non-existent queue manager object on MQSeries for Sun Solaris V5.2, when it should have given the error message AMQ8147 (MQSeries object xxxx not found). 64701 - The help text for the amqoamd command incorrectly showed that you could use both the "f" option and the "s" option but these options are mutually exclusive. 64914 - Improve the performance of grouped messages. 65029 - Occasionally a cluster sender channel was in running state while the CLUSQMGR showed it as being in Starting state. 65651 - It was difficult with a large queue manager to determine the success of RCDMQIMG especially if some objects were damaged. The message AMQ8190 will show the number of objects that succeeded and the number of objects that failed. 65909 - The MQMD passed to the pre-dataconv exit was a copy rather than the real MQMD from the retrieved message so that any changes made in the pre-dataconv exit to the MQMD were ignored. 67731 - An FDC with probe id AO174001 from component aouLockObjectCatalogue occurred in program amqzlaa0 accompanied by error message AMQ6125. 67996 - An FDC with probe id XY168002 from component xstFreeBlockFromSharedMemSet occurred in program amqzllp0. 68393 - Provide a method for limiting the rate at which a listener issues accept for new inbound channels, similar to the MQ_START_INTERVAL mechanism for outbound channel starts. A new environmental variable MQ_ACCEPT_INTERVAL is now available to control the rate at which inbound messages are accepted. 68579 - Receiver channel threads are set to run at NORMAL priority so that they can compete with other processes running at NORMAL priority. 68763 - An FDC with probe id XY352001 from component xcsRecoverSubpoolsLockForThread occurred. 69281 - An FDC with probe id XC307068 from component xlsRequestMutex occurred from program amqzlaa0 accompanied error message AMQ6150. 69394 - An FDC with probe id AO127010 from component aotLocateEntryByQid occurred. 70494 - The sample source code amqscnxc.c was not available on the unix products, even though the sample executable file amqscnxc.exe was provided. D) Fix Pack CSD05 (PTF U200170) ---------------------------- This is the third fix pack for IBM MQSeries for Windows NT Version 5.2.1 from IBM. It is delivered via PTF U200170 for APAR IC32616. 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 = 46. It contains fixes for all the problems listed below: IC32616 - Cumulative maintenance #03 (fix pack CSD05) for MQSeries for Windows NT V5.2.1 IC29721 - Typing a path into any path field in the MMC Snap-in (eg. the application id of a process definition) resulted in corrupted characters when viewed with runmqsc. IC32074 - An incorrect maximum message length was enforced from the MMC Snap-in when a queue was created on MQSeries for AS/400 V5.2. IC32609 - Messages AMQ7467 and AMQ7468 are output to the MQSeries error log whenever an action is taken which means that older log files are no longer required for Queue manager restart and Media recovery respectively. Using the record media image command (RCDMQIMG) to record the state of all objects on the queue manager would be expected to move the media recovery log forward, but this did not always occur when using MQSeries V5.2. IC32628 - During MQCONNX calls, Send and Receive exits were not called in a server-client environment if the SendExit (or ReceiveExit) and SendUserData (or ReceiveUserData) parameters of the MQCD structure were used. IC32629 - When an MQCONNX call was passed with the SendExit and ReceiveExit (of MQCD structure) without a space at the end of it then the system threw an access violation error. IC32759 - Slower response times could have occurred when migrating from the MQSeries Client for Windows NT V5.1 to use the MQSeries Client for Windows NT and Windows 2000 V5.2 or the MQSeries Client for Windows NT and Windows 2000 V5.2.1 because non-blocking TCP/IP was used by default. IC32968 - A client application occasionally caused error messages to be written to amqerr01.log. When this log file filled up, it got copied to amqerr02.log. When the log filled up again, an FDC with probe id XC022012 occurred when an attempt was made to copy the log to the amqerr03.log file. IC33047 - Access violation occurred in the install shield program _INS5176_MP.exe when trying to install the MQSeries Client for Windows NT V5.2 (SupportPac MACK). The problem occurred when -noprereqsp was specified on the client install. The trap occurred once the missing prereqs panel popped up in German. IC33078 - While MQSeries link LotusScript Extension was being used, a trap appeared when running under load on an SMP machine. IC33164 - After a catastrophic failure (killing the power on the machine) some permanent dynamic queues no longer existed when the queue manager was restarted, even though the dynamic queues were never closed using MQCO_DELETE or MQCO_DELETE_PURGE. The same problem could be shown to exist when all of the queue manager processes were killed. If the queue manager was first ended using endmqm then the problem did not exist. IC33206 - An MQPUT call using sample amqsptl0 and looking at the returned msgid correctly showed that a new msgid was created and returned. However, after changing the sample to use an MQPUT1, a new msgid was not returned as it should have been. IC33219 - An FDC was generated with probe id XY315147 on the MQSeries server during system shutdown because a remote application was continuing to PUT messages to a queue manager residing on the server machine. The FDC could be seen after a restart of the server machine. IC33436 - When a message (using MQMD version 2 fields) with MDE was put on to the transmit queue (XMITQ) and convert=yes was specified for the channel, the message was sent to the dead letter queue (DLQ) with return code 2110 (MQRC_FORMAT_ERROR) and error message AMQ6174 (failure to load module MQHMDE) was written to the error log. IC33662 - Over time there was a very, very slow gradual memory leak in the executable amqmsrvn.exe. IC33695 - The queue manager restarted automatically when it was stopped manually from the services panel. This problem only occurred if the Queue Manager properties Recovery tab Execution Failure was set to restart the service. IY16092 - Avoid MQSeries IPC key conflicts with other products. IY17319 - After applying fix pack CSD06 on MQSeries for Sun Solaris V5.1, strmqm could hang after producing an error message AMQ6109. This was caused by the fix for APAR IY10067 which made a change to avoid unloading the Oracle client shared library after an XAClose. This was done to fix a problem concerning an incompatibility between Oracle XA signal handling and MQSeries for AIX. This change was incorrectly applied to all platforms. The functionality of fix pack CSD05 has now been restored for the Sun Solaris and HP-UX platforms to explicitly unload the Oracle client shared library following an XAClose. IY17471 - PCF and runmqsc commands did not return an error upon an attempt to define an exit which was not available on a particular channel type. IY17737 - A new message (AMQ9491) should be written when it is discovered that an attempt has been made to start a dual-unit-of-work channel with a transmit queue which has the NOSHARE attribute. The transmit queue must have the SHARE attribute in this situation. IY18500 - When MQSeries reached the Unix file descriptor soft limit, it could fail to open an error log or FDC file to report the problem. This resulted in a serious and silent failure by MQSeries. IY18567 - The MQSeries runmqlsr process may have ended abruptly when it reached the system imposed limit on file descriptors (ulimit -n) on UNIX systems. This situation could occur when a single listener must support a large number of socket connections, since each socket is essentially a file descriptor. Because it was not possible to open the error log, FDC file, or trace file, the effect was that the listener simply terminated abruptly and silently. MQSeries has been modified to ensure that an FFST and syslog entry gets written in the event that MQSeries runs out of socket file descriptors. IY24181 - MQSeries did not disconnect applications if they terminated abnormally. IY24857 - MQSeries may have generated warning FDCs showing a probe id of CO006000 from the component ccxFreeConv with a major errorcode of rrcE_BAD_PARAMETER when a channel was shutting down. However no data loss occurred when this FDC was generated. IY27191 - After LDAP was added to a system, crtmqm failed with error messages AMQ6109 and AMQ6184 (MQSeries internal error) as well as an AMQ5522 error message (An MQSeries installable service component could not be initialized). In addition, MQSeries generated an FDC showing a segmentation fault SIGSEGV in component zfu_as_findgroup with FDC probe id XC130004. IY27208 - Messages AMQ7467 and AMQ7468 are output to the MQSeries error log whenever an action is taken which means that older log files are no longer required for Queue manager restart and Media recovery respectively. Using the record media image command (RCDMQIMG) to record the state of all objects on the queue manager would be expected to move the media recovery log forward, but this did not always occur when using MQSeries V5.2. IY27710 - A queue manager's shared memory segment could have been deleted by another queue manager because a duplicate segment key was generated by AIX FTOK(). The queue manager would fail with FDC XC212018 from component xstConnectSegmentViaID. IY28292 - The text of error message AMQ6188 was incorrect when an attempt was made to look in the exit library for a symbol named MQStart. The missing symbol was displayed as MQPlugInit. IY28504 - The Solaris DIRECTIO function can return an undocumented ENOTSUP error code, that results in an FDC with probe id HL142100 which can be regarded advisory and has no impact on the correct running of MQSeries. The ENOTSUP error code is now ignored. IY28906 - There was a potential error in the way that MQSeries handled interrupted connect() TCP/IP calls on a socket. The MQSeries connect logic mishandled certain errors following an EINTR error. MQSeries translated the error EISCONN ("Cannot connect to a socket that is already connected"), which means that connect() succeeded asynchronously, and EALREADY ("A socket operating is already in progress."), which means that connect() is still working asynchronously, into the error rrcE_HOST_NOT_AVAILABLE. This resulted in a client application failing with return code 2059 from an MQCONN call. IY28921 - MQSeries did not allow multiple simultaneous API calls on a single queue manager connection. There are some circumstances in which applications may attempt to drive XA calls on a thread while another MQSeries API call (like MQGET) is in progress. This can happen when a CICS region is terminated while a transaction has an active XA connection to MQSeries. This APAR will cause MQSeries to return XAER_PROTO to such XA calls. IY28931 - An MQPUT failed with error code 2148 (MQRC_IIH_ERROR) when writing a message with RFH and IIH headers. IY28959 - Processes failed with FDC probe ids XC076001 and XC207060 because of an MQSeries CCSID cache initialisation problem that occurred when two MQSeries applications started up simultaneously. IY28978 - If an application was doing MQCONN/MQDISC/MQCONN and the application ended without a proper MQDISC, and then the application reused the same PID, the second MQCONN could fail with return code 2059 because MQSeries did not completely clean up. IY29099 - The queue manager hung following an FDC with probe id AO173001 and error code arcE_UNEXPECTED_ERROR from component aouLockObjectCatalog, and runmqsc commands would not run. This occurred when the user authority was defined incorrectly. IY29202 - MQSeries may have issued an FDC with probe id XY323210 from the component xcsSetWorkingDirectory. The FDC comment would have stated that the file access permissions did not allow the specified action from "getcwd". Since this FDC did not prevent the queue manager from starting and running normally, this warning FDC will no longer be produced. IY29238 - A segmentation fault (SIGSEGV) occurred in component rriCommsError when /var/mqm/mqs.ini could not be opened for reading. IY29497 - Error message AMQ6004 occurred during MQSeries initialization when starting a queue manager instead of producing a message AMQ8041 message to complain about previously connected applications that were still running. IY29699 - After installing MQSeries V5.2, the modes of amqcc6a, amqcc62a_r amqcc62s, amqcctca, amqcctca_r,amqcltca and amqcltca_r were all 6554 instead of 0555. IY29933 - The program amqzxma0 consumed 100% CPU even though the fix for AIX APAR IY15570 was installed. IY30005 - An unexpected authorization error during normal MQSeries processing of namelist objects caused the failure of the command processor with FDC probe id XC130003 and error code LRCE_NOT_AUTHORIZED from component xehExceptionHandler. IY30152 - An intermittent FDC occurred on MQSeries for HP-UX V5.2 from program amqhasmx with probe id HL149037 from component mqlowrite. IY30380 - If a local qalias definition resolved to a queue in a cluster then the user needed +Put authority to both the Qalias and the SYSTEM.CLUSTER.TRANSMIT.QUEUE, but by analogy with non clustered queues +Put authority should only be needed for the QALIAS. It is no longer needed for the transmit queue. IY30457 - With fix pack CSD04 installed, if you put to a local queue manager alias which resolved to a queue manager in a cluster then the queue name was reset to blank. As a result messages started going to the dead letter queue instead of the destination queue on the final queue manager. The reason code in the DLH when this happens could have been either 2184 (MQRC_REMOTE_Q_NAME_ERROR) or 2085 (MQRC_UNKNOWN_OBJECT_NAME). IY30561 - Frequent FDCs occurred on MQSeries for Sun Solaris V5.2 from program amqzlaa0 with probe id XY180010 from component xcsReleaseThreadMutexSem and major error code xecL_E_NOT_OWNER. SA93638 - The program runmqchl logged error message AMQ6119 and an FDC with probe id XC022002 when trying to rename the error log file amqerr01.log while another process was using the file. 52551 - The MMC Explorer incorrectly displayed the "Last Message Time (GMT)" for messages passed across a channel when a daylight saving adjustment was applied. 56821 - The display channel command gave a syntax error when requesting modename. 58717 - The mqCreateBag API call could fail under MQSeries V5.2 on UNIX systems with a segmentation fault when called in the context of a multithreaded process. 60836 - It was not possible to display two queue managers in MMC Explorer when the queue managers had the same name and port number but different host names. 60880 - Sample amqsreq0 tried to delete the reply queue even if it was the optionally supplied one. 62340 - An FDC with probe id KN067000 occurred in component kqiOpenModel with reason code lrcE_UNKNOWN_ENTITY. 63863 - The API exit ApplName field was not being updated consistently in the API exit context structure. 65096 - The program dspmqfls sometimes showeds an invalid filepath. 65334 - The API exit UserId field was not being updated in the API exit context structure. E) Fix Pack CSD04 (PTF U200153) ---------------------------- This is the second fix pack for IBM MQSeries for Windows NT Version 5.2.1 from IBM. It is delivered via PTF U200153 for APAR IC30951. 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 = 33. It contains fixes for all the problems listed below: IC30951 - Cumulative maintenance #02 (fix pack CSD04) for MQSeries for Windows NT V5.2.1 IC31899 - Cluster messages hung on the transmit queue following error message AMQ9999 (abnormal termination). IC32055 - The MMC Services GUI showed the listener as stopped, but the tasklist showed it as running. IC32221 - An FDC with probe id XY338011 from component xllLongLockRelease occurred when using Encina with MQSeries V5.2. The return code in the FDC was xecL_E_NOT_OWNER. IC32260 - Net stop from the command line failed to wait for the NT service to terminate. IC32296 - Slow performance of infrequently used SNA connections, when compared to the performance of MQSeries V5.1. IC32581 - An FDC with probe id XC332070 occurred in component xlsWaitEvent. IC32582 - When using a COM+ object under MTS with MQSeries V5.2, an MQINQ call failed with return code MQRC_SELECTOR_ERROR, but did not fail if it was run outside of MTS. IC32651 - When a COM object, using MQSeries, was run under MTS on a client, MQSeries MTS support did not terminate connections with MQSeries servers when the object was deleted. This could have resulted in an exception during termination on the client or an abnormal end of the client connection channel on the MQSeries server. IC32656 - When running MQSeries V5.2 with Microsoft Transaction Server (MTS) it was noticed that the call stacks included in some FDC files were corrupted. Some of the probe id s where the problem was noticed were XC000007, XC003008 and XC003009. IC32674 - When running a MQSeries client under MTS, a second MQCONN with identical parameters on the same thread failed with a trap when the connect was done with client conn offset. IC32753 - An auto cluster receiver failed to reconnect after a DISCINT. IC32843 - The tail end of a channel definition which had empty exit fields such as send/receive is corrupted when running with fix pack CSD03 applied. IC32875 - The Euro conversion tables were shipped with the server only whereas they should be shipped with the client and the server. This could have led to return code 2119 (MQRC_NOT_CONVERTED) due to the fact that the conversion table was missing when translation had to be done on the client side. IC32938 - Corruption of the hardened repository cache could have caused traps in amqrdlla.dll when starting a Queue Manager. IY20727 - A CCSID conversion error occurred together with an FDC with probe id XC076001 if MQSeries for HP-UX V5.2 was used on HP-UX Version 11 with any CCSID other than 819. IY21794 - A queue manager could not be restarted following a prior abrupt termination. An error message AMQ7472 occurred. An FDC with probe id AQ126003 from component aqqValidateQHeader was produced. The log files of dynamic queues were corrupted in this situation. IY22429 - An FDC with probe ids XC010002 or XC009009 with minor error code XECL_NOT_OWNER occurred in components xcsDisconnectSharedMem and xcsConnectSharedMem. IY24515 - CRTMQM with the -g option returned a 2195 error code. IY24753 - A continuous loop of MQCONN followed by a MQDISC resulted in a memory leak. IY24795 - The RUNMQLSR process failed with a broken pipe (SIGPIPE) abend on MQSeries for HP-UX V5.2 (HP-UX V11) in a DCE environment when a user pulled out the network cable while an MQI client application was sending data by MQPUT. When the user put the cable back, the next MQI call from the client killed the runmqlsr process. IY25080 - The MQSeries internal function kqiCloseIt may have failed with a segmentation fault (SIGSEGV) if it received an authorisation failure when closing a queue. The resulting FDC would have had a probe id of XC130003 from xehExceptionHandler, but the function stack would show componnet kqiCloseIt at the top of the stack. IY25309 - The RUNMQSC command PING CHANNEL failed with error message AMQ9509 for CLUSSDR channels. IY25639 - The C++ sample programs could be compiled on MQSeries for HP-UX, but the compiled programs failed to execute properly. IY25648 - An FDC with probe id XY018001 occurred in component xufCloseIniRead with error code xecU_E_INI_FILE_ERROR. IY25746 - The trigger monitor failed to start with a queue name that had a length of 48 characters. IY25774 - MQSeries Integrator requires that an RFH can have a CCSID of 0 under certain circumstances. This apar allows this to occur by using an environment variable "AMQ_NO_CHECK_RFH_CCSID". IY25795 - Under certain circumstances MQSeries could hang in component rfxWaitCollection on or soon after startup due to a problem with the amqrrmfa repository manager process. This problem may have occurred on both partial and full cluster repositories. IY25800 - When PipeLineLength=2, the MQSeries channel initiator process (runmqchi) may have leaked file descriptors by failing to close the queue manager's AMQRSYNA.DAT file. If the leak continued unchecked, runmqchi may have failed to start channels properly, updated their status correctly, or even reported errors via FDCs or the MQSeries error logs. IY26494 - The process APPLICID attribute could not be processed correctly when it contains single or double quotes. IY27517 - There was a memory leak in runmqlsr for a SVRCONN channel connection on MQSeries for AIX V5.2. IY27550 - The event data generated for an 2085 reason code (MQRC_UNKNOWN_OBJECT_NAME) contained an ApplName field that was padded with unwanted data at the end of the name. The stringlength field for the MQCACF_APPL_NAME field was not set to the length of the actual string. IY28347 - After applying V5.2 fix pack CSD03, installations that used CICS, Encina or Tuxedo XA applications encountered problems where the transactions failed to start. IY28451 - An FDC with probe id PC057000 from component pcmInquireChannelExits showed corrupt channel exit lists. IY29305 - A sigsegv occurred in component rfxAddCLQMGR when starting a queue manager, accompanied by rrror message AMQ6109 and an FDC with probe id XC130004 in component xehExceptionHandler. 52854 - When using MQSeries for HP-UX V5.2, characters in the repository error messages (eg. AMQ9410) were corrupted in the error log when using the locale ja_JP.eucJP (Japanese EUC). 59462 - Poor performance may have occurred occasionally while processing queues with very large queue depths. 61217 - An FDC with probe id XC147100 occurred in component xstCreateSegment. 61235 - Poor performance occurred when processing a very large number of messages (eg. 100,000 messages) in a single message group. 61864 - An FDC with probe id XY164003 was seen after a client application abended, and the queue manager then went into a loop. 61915 - The command "endmqm -i" should end without waiting for connected applications to disconnect. 62030 - The bind attribute BIND_NOT_FIXED was ignored for the local definition of a remote queue. 62609 - MQI calls were not succeeding if they were made during the AFTER phase of API exit processing. F) Fix Pack CSD03 (PTF U200151) ---------------------------- This is the first fix pack for IBM MQSeries for Windows NT Version 5.2.1 from IBM. It is delivered via PTF U200151 for APAR IC30950. 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 = 89. It contains fixes for all the problems listed below: IC30950 - Cumulative maintenance #01 (fix pack CSD03) for MQSeries for Windows NT V5.2.1 IC26214 - A performance problem occurs when executing on a Windows NT V4.0 Server with the CICS Transaction Server. It takes noticeably longer to execute a command when compared with running the same command on a Windows NT V4.0 Workstation. IC27211 - When tracing was started from the command line, the amqmsrvn process leaked memory. This memory leak would continue until the trace was stopped. IC27655 - FDCs with probe id XC076001 from the routine xcsGetMessage were generated when running without a console on MQSeries for Windows NT. The FDCs were caused by getting a zero CCSID returned from the routine GetConsoleOutputCP. IC29358 - Error message AMQ9203 occurred when attempting to connect a Client to a Server via LU6.2 services on MQSeries for Windows NT and Windows 2000 V5.2. This worked when using a Client definition table, but it did not work when using the MQSERVER Environment Variable. IC29498 - At start-up following a failure, removed object records can exist on cache queue and object records that are to be deleted can exist on the clustering cache queue. During the start-up the cache is restored in the exception controller. If records of the two above types existed on the cache queue, it was possible to start processing on the assumption that the queue manager was working in full operation. This could have caused start-up to fail. Also, no error message was output in the execution controller if a cache restore error was encountered. This problem can be identified by return code MQRC_HCONN_ERROR and a trace may end at rfiHardenObject. On unix, probe id XC130004 has also been seen. IC29675 - When using MQSeries for Windows NT, FDCs with probe id KN102002 or KN130002 were produced from the routine lrcNoErrorsExpected after a call to xcsQueryTime gave a bad return code, xecU_E_TIME_ERROR. IC29687 - The component AMQRMQIA.DLL used to crash if it was passed a queue manager name which was not 48 characters in length. IC29774 - A memory leak used to occur on MQSeries for Windows NT and Windows 2000 V5.2 when a thread created an IMQQueueManager object. IC29805 - RUNMQDLQ failed with error message AMQ8721 when processing a version 2 MD. IC29815 - CHANNEL_STOPPED events (2283) wrongly occurred when multiple channel starts were issued together. IC29847 - MQSeries Client trace did not contain all entries that it should contain, making trace analysis difficult. IC29850 - Starting a new console, adding in MQSeries Services, and entering an IP address of a remote machine worked fine. But after saving the console, shutting MMC, reloading MMC and loading up the saved console, error message AMQ4127 occurred (Error 0x800706BA - The RPC server is unavailable). Error message AMQ4100 had also been seen to occur with this problem. IC29975 - There were a number of problems with using amqmdain from the command line: a) Using "amqmdain cstmig" from the command line would migrate the entries in a file into the custom services. It would first delete all existing custom services and then replace them with the ones in the file. However, once this had been run, the MC Services snapin never refreshed until the mqmsrvn process unloaded and restarted. b) The amqmdain command line did not support dependent services (ie. those which start before or after a particular queue manager is started). c) Using "amqmdain cstmig" from the command line used to set all custom services to manual IC29984 - When trying to install the MQSeries for Windows NT V5.1 Client from the client CD-ROM or the SupportPac MAC5, the mfc42u.dll got replaced by an earlier version. After the install the version changed to 4.21.7022.0. This is due to the fact that the installation program checked the latest modified date and time and replaced it with the latest one without giving warning or an option to keep the current version of the file. This will be fixed in any subsequent refresh of SupportPac MAC5 at service level U200140 or higher service levels. IC30002 - On an installation which did not use MQSERVER or the channel table, an MQCONNX call did not call the Send exit even though its connection options were configured to call the Send exit. Instead there was an application which configured the MQCNO structure to use the Send and Receive exit, but the only exit that was called was the receive exit. IC30062 - A client application occasionally caused error messages to be written to amqerr01.log. When this log file filled up, it got copied to amqerr02.log, and given mqm/administrator access only. When the log filled up again, since the user running the client application did not have mqm or administrator authority to delete the file, it could not replace it with the next amqerr01.log file. IC30106 - An FDC with probe id XC130031 from component xehExceptionHandler occurred when trying to put messages to 100 queues. The failing component was aduAllocFileCtl. IC30149 - When trying to run XA based transactions in MQSeries V5.2 using Encina as the transaction manager, XA_START was causing MQSeries to raise an exc_illaddr_e signal. XA_OPEN and XA_RECOVER were successfully returning XA_OK, but the first attempt to do an XA_START raised this exception. IC30213 - MQGET in MS COM+ environment would timeout due to lock which prevented DTC (Distributed Transaction Coordinator) commit processing. This could result in MQRC_CONNECTION_BROKEN since MQ could not continue until the commit had completed. IC30219 - The Registry did not reflect the 'AdoptNewMCACheck' options correctly. When 'ADDRESS' was selected for the AdoptNewMCACheck option, 'NAME' was written to the registry and vice-versa. IC30225 - When using the *name for a Queue manager name, the ActiveX component did not return the actual queue manager name to which it was connected. IC30228 - An FDC was generated with probe id XY315147 on the MQSeries server during system shutdown because a remote application was continuing to PUT messages to a queue manager residing on the server machine. The FDC could be seen after a restart of the server machine. IC30246 - MQAXLEV trapped when a file contained a character keyed string longer than 120 characters. It incorrectly skipped nulls from the string while searching for a date/time string in the subsequent data. IC30250 - MQSeries for Windows NT V5.2 failed to authenticate a Windows NT user through a firewall. IC30309 - Using a Visual Basic application with Com(ActiveX), mqax200.dll intermittently hung. IC30335 - When developing an mqseries application with C++ in binding mode and using the mqseries C++ binding in a multithreaded environment a heavy memory leak was caused. This is not the case when running the application in a single threaded mode. The memory leak was about 160 Bytes for every thread which launched and did C++ work and then terminated. The operating system would run out of resources after a while. IC30343 - MQSeries trigger failed when the filename specified in the APPLICID contained spaces in the name. IC30468 - Custom services showed incorrect information when used in remote mode (DCOM). IC30555 - If an MQOD contains a remote destination queue and queue manager name, MQSeries will route this message to the default xmitq if it cannot find a qremote or xmitq with the same name as the remote destination queue manager. However on MQSeries V5.1 it also generated an FDC with error code 2085 (object not found) which did not occur previously with MQSeries V5.0. IC30566 - When using the MQSeries Client and Microsoft Transaction Server (MTS), an immediate attempt to reconnect again following a disconnect from the queue manager failed with return code 2058. A delay occurred before the user could reconnect again. IC30569 - When using the API Exerciser, the MQPUT1 call did not fill in the msgid or correlid fields when the message was placed on the queue. The msgid returned was the default one, (AMQ<...>) and the correlid was set to nulls. IC30595 - The health check thread was setting a bad return code on an MQCONN(X). IC30697 - The status field in the MQSeries Services GUI was not correctly updated when a dependent custom service was launched. IC30844 - An FDC with probe ID XC130031 (stack overflow exception) occurred in the runmqlsr program. Another symptom of this problem was that a Sender channel remained in Binding Status. IC30897 - A trap occurred in MMC services gui when attempting to stop a queue manager through the services GUI. IC31323 - When CRTMQM gets executed, the wrong return code resulted if MQCONN was called. The return code has been changed from MQRC_CONNECTION_NOT_AUTHORIZED to MQRC_Q_MGR_NOT_AVAILABLE. IC31530 - When running under Windows NT V4.0, the messages came out in the wrong language for a queue manager. The messages were based on the locale of the signed on user when the queue manager was started, even if using the snapin (when the queue manager runs under musr_mqadmin). When running as a service, the messages csme out in the language of the last signed on user, until someone signed on and restarted the queue manager. IC31673 - Error message AMQ4128 occurred when attempting a manual launch of a custom service defined as type "command" (not "process"). IC31755 - Manual cluster sender channels disappeared following restart of queue manager. IC31808 - The command "amqmsrvn -user domain\userid" truncated one character off the end of the supplied string. IC31814 - A continuous loop of MQCONN followed by a MQDISC resulted in a memory leak. IC31833 - If either a C++ application spawned a thread, and that thread did a 'new ImqQueueManager', then terminated, or in a normal C application if the secondary thread issued an MQCONN followed by an MQDISC and then terminated, a handle and memory leak occurred with the MS compiler, and a memory leak occurred with the VisualAge compiler. IC31901 - The API exerciser put all messages to the first alphabetic queue available. IC31920 - Non-persistent messages held on a queue may have shown an invalid backout count when the queue was opened after a period of inactivity. The invalid backout count value could have been any number, but a high value (eg. 67812688) was indicative of the problem. This problem occurred when an idle queue was unloaded to disk and was specific to non-persistent messages. IC32223 - Attempting to install fix pack CSD02 failed with an error message stating that amqxcs2.dll was locked, even though listdlls shows it was not locked. IY09958 - The MQSeries CICS switch load file (amqzsc) shipped with MQSeries was built slightly incorrectly. Although it worked fine from a functional point of view, it did cause any cicsas process which was XA-connected to MQSeries to report an application server number of 0, and this was incorrect. IY11160 - An FDC with probe id XC285001 from component xppRunDestructors (accompanied by error AMQ6119) occurred when using draft 10 threads on HP-UX Version 11. The FDC contained the additional information "(' 2 ' from pthread_mutex_lock)". IY12110 - When MQSeries is coordinating a two-phase unit of work, it needs to issue an xa_end call to commit or back out the unit of work. MQSeries used to set TMSUCCESS in most cases, and then APAR IY07924 modified its behaviour to set TMFAIL on more xa_end calls. APAR IY07924 also introduced the AMQ_MOD_DB2XA environment variable which could override the setting. None of these options were completely correct, so the AMQ_MOD_DB2XA environment variable has been removed and the correct xa_end flag is now set for all cases. IY12689 - If local events were enabled on the queue manager "LOCALEV(ENABLED)", then record media image ("rcdmqimg -m qmgr -t queue *") wrote an error event message to "SYSTEM.ADMIN.QMGR.EVENT" reporting that MQOPEN("SYSTEM.DEFAULT.ALIAS.QUEUE") returned MQRC_UNKNOWN_ALIAS_BASE_Q. IY12776 - When an FDC with probe id ZF037010 was produced, it incorrectly showed the component as zfu_as_init instead of zfu_as_SetObjectAuthority. IY14518 - Performance events were using MQCA_Q_NAME instead of MQCA_BASE_Q_NAME. IY15655 - When running MQSeries for HP-UX V5.1 on HP-UX V10.20 with the environment variable mqremlog set to true so that /var/mqm could be an nfs mounted filesystem, the SYSTEM.CICS.INITIATION.QUEUE could not be deleted after creating a new queue manager and starting it. The attempt failed with an FDC with probe id AD034000 from component adiDeleteDir. IY15794 - When the logs for MQSeries for Sun Solaris V5.2 were located on non-UFS filesystems, MQSeries would generate an FDC with probe id HL142100 on startup. This error is informational only so the queue manager would run normally despite creating the FDC file. IY16190 - If many MQSeries processes attempted to write messages to any of the AMQERRxx.LOG files at once, they were serialised and had to wait for their turn to append to the log. This serialisation could delay MQSeries processing, and if a high number of errors continued to occur, could lead to a buildup of MQSeries processes. If the machine sustained a high, steady rate of error messages, it was possible for these processes to contribute to a systemwide slowdown which could in the most extreme cases necessitate a reboot of the machine. IY16357 - The MQSeries for Sun Solaris V5.2 endmqm process hung when run on Sun Solaris 7. This occurred when an application program, which was waiting in a cond_timedwait, received a TERM signal that was processed by the application's signal handler. IY16483 - If an MQSeries queue manager on a unix system occupied its own filesystems (eg. if "/var/mqm/qmgrs/QMGR" or "/var/mqm/log/QMGR" was a filesystem), the command dltmqm would not remove those filesystems. However, it would remove the "lost+found" entry from the root of those filesystems, which could inhibit relinking of orphaned inodes in the filesystem if it was reused. MQSeries should leave the "lost+found" entry alone. IY17118 - When the MQSeries for OS/390 CICS mover tried to send messages to MQSeries for AIX V5.2, a resync rejected error occurred after the channel timed out. IY17285 - Runmqsc returned error message AMQ8405 when trying to create channels with a trptype of UDP. Error message AMQ9214 was also output when the runmqlsr command was issued with a trptype of UDP. IY17846 - On HP-UX V10, the library libcma.sl provides draft 4 pthreads. Provided that the DCE enablement feature is installed, MQSeries makes use of draft 4 pthreads and supports draft 4 threaded applications. However the first call to pthread_create can replace application signal handlers in draft 4 threaded applications. APAR IY17699 documents this issue thoroughly. While customers need to take action to protect their own signal handlers, MQSeries has been modified to use the cma_init() workaround as described in APAR IY17699 to protect its handlers. IY17946 - The MQSeries listener failed following the termination of the Candle Monitor PQEDIT program through a client connection to MQSeries. IY18201 - When using the channel process runmqchl_nd with MQSeries for AIX V5.2 with transmission through the AIX SNA Communications Server V6.0, the runmqchl_nd process core dumped when it tried to end. IY18203 - It was not documented in previous versions of MQSeries that you should not use fork without exec in MQSeries applications. Although this did not work with threaded applications, unthreaded MQSeries V5.1 applications did appear to work following the use of fork without exec. The changes in MQSeries V5.2 required the use of fork with exec for both threaded and unthreaded applications. This change has been relaxed for unthreaded applications to provide compatibility between MQSeries V5.1 and MQSeries V5.2. Note that fork without exec is still not permitted for threaded applications. It is, however, recommended that you avoid the use of fork without exec in both threaded and unthreaded environments. It may not be possible to provide this compatibility in future releases. IY18779 - MQSeries for Sun Solaris V5.2 uses native robust mutexes for certain serialisation. When the attempt to lock such a mutex failed with error ELOCKUNMAPPED, MQSeries could have handled the error improperly and generated FDCs. Depending on the context of the failure, the error may have resulted in the shutdown of the calling process or even the entire queue manager. IY18932 - The mqCreateBag API call could have failed under MQSeries V5.2 on unix systems with a segmentation fault when called in the context of a multithreaded process. IY19317 - When MQSeries applications on UNIX issue MQCONN, they are attached to a piece of shared memory used for tracing. If they issued MQDISC and then MQCONN again repeatedly, under some circumstances the attach count to this shared memory set sometimes increased. Eventually, the process reached the limit on the number of shared memory sets it can attach, at which time it generated an FDC showing a probe id of XY079022 from component xtrAccessCtlMem with a comment of "too many open files from shmat". IY19401 - If there was no work to do after the call to component rfxQueryCLQMgr then an attempt was made to free memory that was pointed to by an uninitialized variable, IY20234 - MQSeries for HP-UX V5.2 when running on HP-UX Version 11 could generate an FDC showing Probe Id ZF047010 from the component zfu_as_findgroup with a major errorcode of 2. IY20510 - If you used "runmqlsr" for the TCP/IP listener instead of inetd, and the queue manager was shut down while the number of processes exceeded 1000, the "runmqlsr" stayed active and if you used "endmqlsr" to stop the listener, you received a message to the effect that it could not find any running listeners for the specified queue manager. IY20763 - An FDC with probe id XC006001 from component xcsFreeMem occurred for a private memory error in process amqrrmfa. IY20768 - When an MQPUT specifying MQPMO_SYNCPOINT is issued by an application, MQSeries must allocate some storage from the repository manager in order to record a queue manager registration. When this new registration was recorded, no check was made to see if the queue manager registration had already been made, so a new registration was allocated for every MQPUT under syncpoint, which caused the MQSeries cluster repository manager to fail with AMQ9211 ("Error allocating storage") and AMQ9500 ("No Repository storage") error messages. The MQPUT which encountered the failure may then have hung while MQSeries was clearing up. FDCs with probe id XC022001 from component xcsDisplayMessageForSubpool and probe id KN168047 from component kqiFastnetAddQmgr were produced when this happened. IY20931 - Under heavy stress or low memory conditions, MQSeries channel processes could terminate with an FDC with probe id XC130003 from component xehExceptionHandler showing an Arithmetic 1 value of 11, indicating a SIGSEGV. The last entry on the function stack showeds rrxOpenChannelDef. This problem was more likely to occur in threaded channel processes such as runmqchi and runmqlsr. IY21795 - When an amqcrsta process failed due to a bind error message AMQ9213 (Communications error for bind), several FDCs were produced with probe id RM070000 from component cccJobMonitor. IY21854 - When doing an MQPUT under syncpoint, if an MQDISC is performed without first explicitly calling MQCMIT, MQSeries automatically does a commit, but it did not start the Cluster channels at the same time. IY21985 - Attempting to delete a local queue with no input or output handles failed with a message stating that the object was in use. IY22456 - MQSeries pipelined channels failed with a protocol error message AMQ9504 and an FDC with probe id RM033000 from component rriReceivedata. IY22995 - In some circumstances, the "amqoamd" utility supplied with MQSeries V5.2 could display only the text "Nothing to print" for its output, despite the fact that the queue manager against which it was running contained authorisation information. IY23667 - Cluster channel failed to restart after the discint value had expired when using an external XA transaction manager. IY23736 - If the MQSeries cluster cache filled due to heavy usage or a leak, it was possible to encounter errors when closing an object or disconnecting from the queue manager. An application using distribution lists might even have seen very poor performance from MQCLOSE as MQSeries generated an FFST with probe id RM269000 from component rfxDeRegister and error message AMQ9422 for each queue. IY24181 - MQSeries did not disconnect applications after they terminated abnormally. IY24221 - When a large number of MQSeries channels were active, endmqm could take several minutes to complete. IY24677 - When MQSeries was defined as an XA resource to CICS, endmqm could take a long time to complete. While the queue manager was ending, MQSeries could generate many FDCs with probe id XC333025 from the componenet xlsPostEvent. In addition, CICS could abend an active MQSeries transaction with an A147 ABEND. IY24879 - A call to xa_close resulted in a SIGSEGV if the queue manager had been stopped using endmqm -i. IY25494 - If FastPath channels were being used, an FDC was produced with Probe ID ZI095217 when the queue manager was started. IY25652 - Tracing on the MQSeries for Windows NT and Windows 2000 V5.2 client did not work. IY26290 - A message could have been restored out of sequence under very rare circumstances at queue manager restart following a crash. SA91342 - On MQseries for AS/400, a dynamic cluster sender channel did not start automatically after going into inactive status. SA93663 - The handling of exit strings containing only blanks was not correct when processing "DEFINE CHANNEL" commands. SA94239 - Processing of group messages needed a performance enhancements. HY50081 - After damaging a queue, DSPMQAUT for the damaged queue failed with error message AMQ8147 for any user other than the queue owner after a subsequent restart of the queue manager. 49904 - Currently to put to a cluster queue on another queue manager in the cluster the user requires setall authority on the queue manager to which it is connected and on its local cluster transmit queue (SYSTEM.CLUSTER.TRANSMIT.QUEUE). Setall authority is no longer required to do this. 53100 - When using MQSeries for Windows NT and Windows 2000, an MQCONN will fail with return code 2059 when there is more than one version of the amqxcs2.dll on the path. Code has been incorporated such that it detects when there is more than one copy of amqxcs2.dll loaded, and issues an FDC pointing to both copies. 53224 - A segv in the agent thread occurred intermittently with a DCE Queue Manager under stress on HP-UX V11.0. The segv is accompanied by an FDC with probe id XC130004 from component xehExceptionHandler. 53515 - Update conversion tables 420, 425 and 864 to Unicode files. 54254 - If the SYSTEM.CLUSTER.TYRANSMIT.QUEUE was changed, the repository manager failed with error messages AMQ9511 and AMQ9448. 54284 - The MQSeries trigger monitor passed the MQTMC2 structure to the triggered application in double quotes (ie. " ") as opposed to single quotes (ie. ' '). This meant that certain shell constructs (for example, $$) may have been interpreted rather than being passed literally to the triggered application. 54344 - Trace improvement to provide information on the codeset and ccsid chosen during initialization. 54400 - Memory leak occurred in componet zsqDeletePCD. 55331 - If a channel was killed when messages were "in flight" along it, and the requester side of the channel was restarted, the server side was unable to recover without manual intervention. 55508 - When a channel, that was in-doubt, was resolved via the RESOLVE CHANNEL runmqsc command, the channel status became RUNNING instead of RETRYING. Note that the recommended way to deal with an in-doubt channel is to restart the channel, and the resolve will be done automatically as part of the startup procedure. Using the RESOLVE CHANNEL runmqsc command to do this should be avoided. 55534 - When running MQSeries for Linux V5.2 under stress, an FDC with probe id XC022010 from component xcsDisplayMessageForSubpool and return code MQRC_ENVIRONMENT_ERROR occurred intermittently. 55636 - The FDC with probe id XY030012 from component xllListenSelectAcceptAndClose did not display the error number if the accept() system call failed. 55966 - Microsoft Transaction Server (MTS) registered components caused error code MQRC_SELECTOR_ERROR when accessing backout threshold and requeue name properties of the queue object. 56095 - A log record could have been discarded or archived prematurely in obscure circumstances which could have resulted in a subsequent restart failure. 56212 - When using MQSeries for AIX V5.2, it was not possible to create a queue manager when running under AIX V5.1. 56550 - If a message consisting of a version 1 MQMD, an MQMDE and an MQDLH was got with conversion to native encoding, the value in GMO.ReturnedLength was incorrect. If no conversion was required then the value in GMO.ReturnedLength was correct. 56786 - This feature extends system function on MQSeries for Sun Solaris V5.2 by allowing vendor or customer provided exit code to be run automatically driven by the queue manager, at registered points, immediately before and/or immediately after MQSeries API verbs. 56805 - CCSID conversions between 943 and 1390 and between 943 and 1399 failed. 56837 - Improve linear logging performance on MQSeries for Sun Solaris V5.2 for use with persistent messaging when running with linear logging. 56854 - The Object Authority Manager (OAM) should not have to know whether to return MQRC_NOT_AUTHORIZED or MQRC_OBJECT_NOT_FOUND for objects that do not exist so that the correct reason code can be returned for an MQOPEN failure. 56989 - VisualBasic sample AMQSAICQ.VBP could not be compiled and executed because of a VisualBasic global constant MQHO_NONE constant being declared twice, once in the header file cmqb.bas and once in the header file cmqbb.bas. 57076 - Using the DSPMQMAUT command against the MQSeries object SYSTEM.AUTH.DATA.QUEUE failed with error message "not found" even though the queue object existed. 57115 - Deleting an IBM MQSeries Publish/Subscribe broker that was a child of another broker, when the channel from the parent broker's queue manager to the child broker's queue manager was down, resulted in orphan StreamSupport subscriptions on the parent broker. 57239 - When a checkpoint is made, active transactions are backed out, and when they try to do any more work (eg. another put or get), they fail and return code MQRC_BACKED_OUT is returned to the application. At this time, another unnecessary Start Transaction record was written to the log file even though the application was in a backed out state. When the checkpoint was taken because the log file was running low on space, the additional log file space used by these unnecessary Start Transaction records was occasionally sufficient to cause a restart failure after the checkpoint request failed because the user's application chose to ignore the backed out failure and continued to sit around without disconnecting or ending the transaction. 57249 - Unnecessary qdepth log records were written by the recovery process. 57326 - ScratchPad in use '4004' error occurred when deleting a channel. 57366 - If a dltmqbrk command is issued when there are unprocessed messages (that cannot be DLQ'd) on a stream queue at the time of trying to delete the broker, then the command should fail and error message AMQ5842 should be returned from dltmqbrk. When such messages existed, each time dltmqbrk was issued then one message would be removed incorrectly from the queue. 57892 - Conversion of EUC characters 0x80 - 0x9F was incorrect. 58060 - Incorrect control mappings occurred in the conversion tables between CCSID 1046 and CCSID 1089. 58828 - The endmqm process sometimes takes a long time to complete. 59084 - Update MQSeries XA makefile for use with Oracle 9i. 59193 - Groups of clustering objects were being registered then all but one of the items were being discarded. This resulted in a corruption of the clustering cache. 59217 - When a queue manager channel definition is republished, the new definition is compared to those in the cache to determine whether or not the inbound 'new' definition is in fact newer than the one stored in the cache. This check was incorrectly made against the update date/time (time of arrival on queue manager) instead of the alteration date/time (local time on the cluster receiver's last change). 59321 - The maintenence, restart and channel temination caused all channels of the same name that are marked to be deleted (TBD) to be deleted. This was irrespective of whether they were themselves marked TBD or were already deleted. 59439 - Update MQSeries for AIX XA makefile for use with Oracle 9. 59490 - A queue manager could not be restarted after a system crash while there were inflight transactions in progress. 59903 - Provide performance enhancements for use with the MQSeries Publish/Subscribe SupportPac (MA0C). 60251 - FDC with probe id AO173001 from component aouLockObjectCatalogue 60489 - Prevent unnecessary FDCs with probe id AL004003 during queue manager restart. 60526 - Core was dumped by the runmqtrm component.