MPROUTE SMSG LOOP CAUSES OUT OF STORAGE CONDITION


 
 APAR Identifier ...... PK24639      Last Changed ........ 06/11/29
 MPROUTE SMSG LOOP CAUSES OUT OF STORAGE CONDITION
 
 Symptom ...... IN INCORROUT         Status ........... CLOSED  PER
 Severity ................... 2      Date Closed ......... 06/06/08
 Component .......... 5735FAL00      Duplicate of ........
 Reported Release ......... 520      Fixed Release ............ 999
 Component Name TCP/IP V2 FOR V      Special Notice       ATTENTION
 Current Target Date ..              Flags
 SCP ...................
 Platform ............               PERVASIVE
 
 Status Detail: SHIPMENT - Packaged solution is available for
                           shipment.
 
 PE PTF List:
 
 PTF List:
 Release 520   : UK15334 available 06/06/13 (0602 )
 
 Parent APAR:
 Child APAR list:
 
 ERROR DESCRIPTION:
 User is running an exec to test SMSG MPROUTE to ensure that
 MPROUTE is replying back to all commands when an out of storage
 condition occurred. Tracing the problem showed that MPROUTE was
 not releasing all storage after the SMSG command processing was
 complete.
 
 LOCAL FIX:
 
 PROBLEM SUMMARY:
 ****************************************************************
 * USERS AFFECTED: ALL USERS OF MPROUTE                         *
 ****************************************************************
 * PROBLEM DESCRIPTION:                                         *
 ****************************************************************
 * RECOMMENDATION: APPLY PTF                                    *
 ****************************************************************
 When SMSG MPROUTE is executed repeatedly, an out of storage
 condition occurs.
 This can be recreated by running an exec that loops forever
 issuing SMSG MPROUTE commands.
 
 PROBLEM CONCLUSION:
 For every SMSG issued by MPRoute, a call to BeginTcpip and
 EndTcpip is made.  The storage allocated during InitNoteQueue
 is not released in EndTcpip.  If enough SMSGs are issued,
 storage is exhausted.
 A new routine DisposeNoteQueue was added to CMERUPT and called
 by EndTcpip. DisposeNoteQueue disposes of the memory obtained
 for NoteFreePool, NotePullQueue, and NotePushQueue.
 
 TEMPORARY FIX:
 
 COMMENTS:
 
 MODULES/MACROS:   CMERUPT  COMMTXT  MPROUTE
 
 SRLS:      NONE
 
 RTN CODES:
 
 CIRCUMVENTION:
 
 MESSAGE TO SUBMITTER: