[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference pamsrc::decmessageq

Title:NAS Message Queuing Bus
Notice:KITS/DOC, see 4.*; Entering QARs, see 9.1; Register in 10
Moderator:PAMSRC::MARCUSEN
Created:Wed Feb 27 1991
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:2898
Total number of notes:12363

2792.0. "Message Pending in Memory" by DEKVC::HOONKIM () Fri Feb 28 1997 05:00

Hi, 

 I support KSE(Korea Stock Exchange). Recently we upgrade DMQ V3.1 to V3.2B.
After upgrade, A serious problem is occured. We use eight MRQ and each MRQ
to be read two processes. A process put messages to MRQ and another processes
are read the messages well. But suddenly each MRQs are pending 1 message 
in memory. A put message process is waiting the confirm and read processes 
are waiting for message without recognition of pending message. So I send 
test message using DMQ$MENU utility, and then the test message is read and 
the pending message is still pending.

 What is problem? Followings are monitor output and DMQ$INIT.TXT file.
 
 I appreciate any hints and answer.

 Regards,
 - Hoon

-------------------------------------------------------------------------------
Bus:1    Group:1       DECmessageQ Manager Utility     Thu Feb 27 11:45:02 1997
                              Queue Detail

  Process Name:                      Process State:
           PID: 00000000
    Image file:

                                                     --- Pending ---  Rcv Byte
Que    Name                   Type    Sent   Rcv'd   Memory     MRS     Quota
 22 CHEGYUL_02                MRQ         0      247        1        0    34968
[End]
-------------------------------------------------------------------------------
    1.226            DECmessageQ Monitor - Bus 1          27-FEB-1997 11:47:08.63

 QUEUE                SENT  RCVD  PEND     QUEUE               SENT  RCVD  PEND
CHEGYUL_01       21      0   110     0
CHEGYUL_02       22      0   247     1
CHEGYUL_03       23      0   140     1
CHEGYUL_04       24      0   255     1
CHEGYUL_05       25      0   165     1
CHEGYUL_06       26      0    94     1
CHEGYUL_07       27      0    99     1
CHEGYUL_08       28      0   130     1
-------------------------------------------------------------------------------
    1.226            DECmessageQ Monitor - Bus 1          27-FEB-1997 11:47:53.44


 Queue specific info follows for 22


   Queue number:      22      PID: 00000000   CHEGYUL_02



 Messages  sent:       0      Rcvd:     247      Pend:       1



 Queue is not currently declared to COM Server
-------------------------------------------------------------------------------
  1.226            DECmessageQ Monitor - Bus 1          27-FEB-1997 11:48:18.55

 QUEUE QUOTAS          CURR    START     QUEUE QUOTAS          CURR    START
CHEGYUL_01       21   35000    35000
CHEGYUL_02       22   34968    35000
CHEGYUL_03       23   34968    35000
CHEGYUL_04       24   34968    35000
CHEGYUL_05       25   34968    35000
CHEGYUL_06       26   34968    35000
CHEGYUL_07       27   34968    35000
CHEGYUL_08       28   34968    35000
-------------------------------------------------------------------------------
  1.226            DECmessageQ Monitor - Bus 1          27-FEB-1997 11:48:34.92

                                Group Detail

Group Name           = ONE              Connect Initiation Data:
Bus Id               =        1          Platform Id      = OpenVMS VAX
Group Id             =        1          Function Masks   = 00000000:0000007D
Min Group Id         =        1          Protocol (LPH)   = 1.2 | 3.0 | 2.4
Max Group Id         =    32000          Group Id         = 1
First Temp Queue     =      200          Bus Id           = 1
Max User Queue       =      999          Window Size      = 250
Max Links            =       25          Max Message Size = 4096
Max Message Size     =     4096          Transport Type   = DECnet
Max Msg bytes        =        0          Node name        = HSE
Warn Msg Bytes       =        0          Node Number      = 0
Msg Bytes Used Max   =        0          Object name      =
Msg bytes used curr  =        0
Name Table Size      =      200
Congested            =       No
Disable Statistics   =       No
Disable Quota        =       No
-------------------------------------------------------------------------------
  1.226            DECmessageQ Monitor - Bus 1          27-FEB-1997 11:49:19.33

                           Link Detail (Inbound)

Bus Id       = 0
Group Id     = 0                              Messages            Bytes
Group Name   =                           Sent        0                0
Xgroup queue = 0                     Received        0                0

Inbound Link:                             Connection Initiation Data:
  PID          = 0                          Platform ID    = *Unknown*
  State        = Disconnected               Function Masks = 00000000:00000000
  Delay        = 0                          Protocol (LPH) = 0.0 | 0.0 | 0.0
  Created      = (never)                    Group Id       = 0
  Stats Reset  = (never)                    Bus Id         = 0
  Connected    = (never)                    Window Size    = 0
  Disconnected = (never)                    Max Msg Size   = 0
  Window size  = 0                          Transport Type = *Unknown*
  Window Max   = 0                          Host name      =
  Max Msg Size = 0                          HOST Address   = 0.0.0.0
  Connects Lost= 0                          Connect Address= 0
-------------------------------------------------------------------------------
*************************************************************************
*                                                                       *
*                 DECmessageQ Initialization File                       *
*                                                                       *
*************************************************************************
*
%VERSION 3.0
*
%PROFILE      ***** Profile Parameters *****
*
ACCEPT_KILL_CMD       NO   ! Control MONITOR terminate requests
ENABLE_XGROUP         NO   ! Enable DECmessageQ cross-group access
XGROUP_VERIFY         NO   ! Limit incoming cross-group connections
ENABLE_MRS           YES   ! Enable DECmessageQ Message Recovery Services
ENABLE_JRN            NO   ! Enable DECmessageQ Message Journaling Services
ENABLE_SBS            NO   ! Enable DECmessageQ Selective Broadcast Services
ENABLE_QXFER          NO   ! Enable DECmessageQ MRS Queue Transfer Services
FIRST_TEMP_QUEUE     200   ! Select start of temp queue pool    (200-950)
XGROUP_TABLE_SIZE     25   ! Select max number of group entries (25-32000)
NAME_TABLE_SIZE      200   ! Select max number of GNT entries   (100-32000)
RCV_MSG_QUOTA_METHOD MAX   ! Select type of rcv msg quota deductions (MIN | MAX)
ATTACH_TMO           600   ! Select PAMS_ATTACH_Q timeout       (100-36000)
PAMSV25_MODE          NO   ! Select PAMS V2.5 compatiable DECnet object 
*
%EOS
*
%XGROUP      ***** Cross-Group Connection Table ******
*
*                  DMQ                  
*   DMQ           Group                 Gen Buff Recnt --Window--- 
*Group name        ID      System       Cnt Pool Timer Delay  Size Trnsprt Addr
*--------------- ----- ---------------- --- ---- ----- ----- ----- ------- -----
ONE                  1     HSE            Y    75    -1    -1    -1 DECNET
TWO                  2     HSE            Y    -1     0    -1    -1 DECNET
*TWO                  2    GVAX02         Y    -1     0    -1    -1 DECNET
*TWO                  2    GVAX03         Y    -1     0    -1    -1 DECNET
*MVII                75    MVII01         Y   100    30    -1    -1 DECNET
*MVII                75    MVII02         Y   100    30    -1    -1 DECNET
*MVII                75    MVII03         Y   100    30    -1    -1 DECNET
*PC                 122    MYPC           N    50    -1    -1    -1 DECNET
*THREE                3    riscy          N    -1    -1    -1    -1 TCPIP   4095
*
%EOS
*
%ROUTING   * initial routing table
*
* Target     Route-Thru
* Group       Group
* ------     ----------
*     1            2
*     2            4
*     3            4
*     4            2
*     5            4
*     6            2
*     7            4
*
%EOS
*                                                  
%CLS    **** Client Lib Server Configuration Table ****
*
*                              Maximum #
*  Endpoint     Transport      of Clients
*  --------     ---------      ----------
*    5000         TCPIP             16
*    5001         TCPIP             16
*    6000         DECNET            32
*
%EOS
*
%BUFFER      ***** Buffer Pool Configuration Table *******
*                                                        Reserve
*Msg-Block-Type  Byte-Size    Number    Warning-level     Count
*--------------  ---------    ------    -------------    ---------
*SMALL                 32        128           10            2
*MEDIUM               128        521           32            0
*LARGE               4096         10            5            0
SMALL                 32        512           10            2
MEDIUM               256        512           32            0
LARGE               4096         10            5            0
%EOS
*
*
%QCT         ***** Queue Configuration Table ******
*
*                         ---Pool Quota---  UCB   Q    Q  Confrm Perm Name Check
*    Queue Name       Num  Bytes  Msgs Ctrl Send Type Own  Style Act  Scope ACL
*------------------- ---- ------- ---- ---- ---- ---- ---- ----- ---- ----- ----
*   Sample Queues
HOGA_01                 1   10000   .    .    .    .    .    .    Y     L    N
HOGA_02                 2   10000   .    .    .    .    .    .    Y     L    N
HOGA_03                 3   10000   .    .    .    .    .    .    Y     L    N
HOGA_04                 4   10000   .    .    .    .    .    .    Y     L    N
HOGA_05                 5   10000   .    .    .    .    .    .    Y     L    N
HOGA_06                 6   10000   .    .    .    .    .    .    Y     L    N
HOGA_07                 7   10000   .    .    .    .    .    .    Y     L    N
HOGA_08                 8   10000   .    .    .    .    .    .    Y     L    N
JIBGAE_01              11   10000   .    .    .    .    .    .    Y     L    N
JIBGAE_02              12   10000   .    .    .    .    .    .    Y     L    N
JIBGAE_03              13   10000   .    .    .    .    .    .    Y     L    N
JIBGAE_04              14   10000   .    .    .    .    .    .    Y     L    N
JIBGAE_05              15   10000   .    .    .    .    .    .    Y     L    N
JIBGAE_06              16   10000   .    .    .    .    .    .    Y     L    N
JIBGAE_07              17   10000   .    .    .    .    .    .    Y     L    N
JIBGAE_08              18   10000   .    .    .    .    .    .    Y     L    N
CHEGYUL_01             21   35000   .    .    .    M    .    .    Y     L    N
CHEGYUL_02             22   35000   .    .    .    M    .    .    Y     L    N
CHEGYUL_03             23   35000   .    .    .    M    .    .    Y     L    N
CHEGYUL_04             24   35000   .    .    .    M    .    .    Y     L    N
CHEGYUL_05             25   35000   .    .    .    M    .    .    Y     L    N
CHEGYUL_06             26   35000   .    .    .    M    .    .    Y     L    N
CHEGYUL_07             27   35000   .    .    .    M    .    .    Y     L    N
CHEGYUL_08             28   35000   .    .    .    M    .    .    Y     L    N
JUNGSANG_JANG          31   10000   .    .    .    .    .    .    Y     L    N
JOCHI_JANG             32   10000   .    .    .    .    .    .    Y     L    N
JANG_IPRYUK            33   10000   .    .    .    .    .    .    Y     L    N
BRDCST                 34   35000   .    .    .    .    .    .    Y     L    N
*queue_1                 1   35000  100 All    .    .    .    II   Y     L    N
*queue_2                 2   35000  100 Msg    .    .    .    EI   Y     L    N
*queue_3                 3   35000  100 Byte   .    .    .    EO   Y     L    N
*queue_4                 4   35000  100 None   .    .    .    .    Y     L    N
*queue_5                 5   35000  100   .    .    .    .    .    Y     L    N
*queue_6                 6   35000  100   .    .    .    .    .    Y     L    N
*queue_7                 7   35000  100   .    .    .    .    .    Y     L    N
*queue_8                 8   35000  100   .    .    .    .    .    Y     L    N
*queue_9                 9   35000  100   .    .    .    .    .    Y     L    N
*queue_10               10   35000  100   .    .    .    .    .    Y     L    N
*
*  SBS Server uses the following UCB numbers for Optimized Delivery
*
sbs_eth_control        74       0    0   .    E    .    .    .    .     L    N
sbs_eth_chan1          75       0    0   .    E    .    .    .    .     L    N
sbs_eth_chan2          76       0    0   .    E    .    .    .    .     L    N
*                                            
*  The following are for the DECmessageQ demo in [DMQ$Vnn.demo.vms]
*
demo_io_server_1      101   35000  100   .    .    .    .    .    N     L    N
demo_io_server_2      102   35000  100   .    .    .    .    .    N     L    N
demo_io_server_3      103   35000  100   .    .    .    .    .    N     L    N
demo_io_server_4      104   35000  100   .    .    .    .    .    N     L    N
demo_io_server_mrq    105   35000  100   .    .    M    .    .    Y     L    N
demo_archive          106   35000  100   .    .    .    .    .    N     L    N
demo_io_broadcast_1  5101       0    0   .    .    .    .    .    .     L    N
demo_io_broadcast_2  5102       0    0   .    .    .    .    .    .     L    N
*
*  Queues 90-100 & 150-199 are reserved for DECmessageQ utilities
temporary_q             0   35000  100   .    .    .    .    .    .     L    N
screen_process          0   35000  100   .    .    .    .    .    .     L    N
spare1                 90  100000  100   .    .    .    .    .    Y     L    N
all_ucbs               91       0    0   .    .    .    .    .    .     L    N
timer_queue            92       0    0   .    .    .    .    .    .     L    N
null                   93       0    0   .    .    .    .    .    .     L    N
internal1              94   35000  100   .    .    .    .    .    Y     L    N
qtransfer_server       95  250000 1000 None   .    .    .    .    N     L    N
dead_letter_queue      96   35000  100   .    .    .    .    .    Y     L    N
mrs_server             98  250000 1000 None   .    .    .    .    N     L    N
sbs_server             99  250000 1000 None   .    .    .    .    N     L    N
avail_server           99  250000 1000 None   .    .    .    .    N     L    N
com_server            100  250000 1000 None   .    .    .    .    N     L    N
declare_server        100  250000 1000 None   .    .    .    .    N     L    N
connect_server        100  250000 1000 None   .    .    .    .    N     L    N
queue_server          100  250000 1000 None   .    .    .    .    N     L    N
pams_transport        100  250000 1000 None   .    .    .    .    N     L    N
dmq_loader            150  250000  100   .    .    .    .    .    N     L    N
dcl_by_q_name         151       0    0   .    .    .    .    .    .     L    N
tcpip_ld              152 1000000 1000 None   .    .    .    .    N     L    N
decnet_ld             153 1000000 1000 None   .    .    .    .    N     L    N
reserved_ld           154 1000000 1000 None   .    .    .    .    N     L    N
event_logger          155 1000000 1000 None   .    .    .    .    N     L    N
jrn_server            156 1000000 1000 None   .    .    .    .    N     L    N
mrs_failover          157       0    0   .    .    .    .    .    N     L    N
dmq_fulltest_pq       191  250000  100   .    .    .    .    .    N     L    N
dmq_fulltest_sq       192  250000  100   .    .    S  191    .    N     L    N
example_q_1           193   64000  100   .    .    .    .    .    N     L    N
example_q_2           194   64000  100   .    .    .    .    .    N     L    N
IVP_unowned_sq        195  250000  100   .    .    S    .    .    N     L    N
IVP_private_MOT1     4999       0    0   .    .    .    .    .    .     L    N
IVP_universal_MOT1   5001       0    0   .    .    .    .    .    .     L    N
*
%EOS
*
*                           
%SBS   ******* SBS Server Initialization Section ************
*
MOT_MODE  DMQ           ! DMQ or ETH primary service
MOT_LOW   4800          ! 4000 - 4900
MOT_MID   5000          ! must be 5000
MOT_HIGH  5200          ! 5100 - 6000
*
*ETH_DEVICE  ESA0:      ! VMS device name of the Ethernet board
*
*    <<<<<<<<<<<<<<<<<< Warning >>>>>>>>>>>>>>>>>>>
* The protocol and Ethernet addresses show below are not registered
* and are not guaranteed to not cause a conflict.  Use them with
* discretion.
*
*          |------ MCA ----|  |Prot #|  |- UCB queue -|
*CNTRL_CHAN AB-AA-34-56-78-90   81F0         74
*
*     |------ MCA ----|  |Prot #|  |- UCB queue -|
*SET 0 AB-12-34-56-78-90   81F1         75
*MAP 5101 0             ! map a MOT to an Ethernet channel
*MAP 5102 0             ! map a MOT to an Ethernet channel
*
*     |------ MCA ----|  |Prot #|  |- UCB queue -|
*SET 1 AB-12-34-56-78-92   81F2         76
*MAP 5103 1             ! map a MOT to an Ethernet channel
*
%EOS
*
*
%MRS   ******* MRS/JRN Servers Initialization Section ************
*
AREA_SIZE             512  ! disk blks per file (min:128, max:16384, def:512)
NUM_DQF_AREAS        1000  ! min:100, max:1000000,    default:1000
NUM_SAF_AREAS        1000  ! min:0,   max:1000000,    default:1000
NUM_PCJ_AREAS        1000  ! min:0,   max:1000000,    default:1000
NUM_DLJ_AREAS        1000  ! min:0,   max:1000000,    default:1000
NUM_MESSAGES          512  ! min:128, max:2147483647, default:512
NUM_QUEUES            128  ! min:128, max:2147483647, default:128
CACHE_PERCENTAGE       90  ! % rcv msg quota for MRS msgs (min:1, max:100, def:90) 
USE_HIGH_WATER_MARK   YES  ! checkpt MRS sizing params to disk (YES/NO)
LOAD_MRS_CTRS         YES  ! init recoverable msg ctrs on startup (YES/NO)
RCVR_ONLY_CONFIRM     YES  ! limit msg confirms to receiving process (YES/NO)
XGRP_JRN_CTRL          NO  ! allow JRN cntrl msgs from other groups (YES/NO)
REDELIVERY_TIMER       10  ! integer seconds (min:0, max:5000, default:10)
*
PCJ_FILENAME    DMQ$MRS:MRS_%bg.PCJ  ! char[64]	- %bg is a macro that
DLJ_FILENAME    DMQ$MRS:MRS_%bg.DLJ  ! char[64] - expands to bus_group
*
%EOS
*
%GNT ********* Group Name Table Section *********************
*
*        Queue Name                   Queue Addr     Scope
*------------------------------       ----------     -----
*global_queue1                             1.234       G
lcl_queue1                                   134       L
lcl_queue2                                   135       L
lcl_queue3                                   136       L
*
%EOS
*
%END

T.RTitleUserPersonal
Name
DateLines
2792.1I know of now such problem...KLOVIA::MICHELSENDECmessageQ EngineeringFri Feb 28 1997 07:308
...however, it would be usefull to find out what the message is.  You can do
this using the DMQ$EXE:DMQ$DSPBLK utility.  Run it and it will allow you to dump
the contents of pending messages to any queue.  Note that this utility requires
that the process have either VMS OPER or DMQ$OPERATOR rights ID.



Marty
2792.2Message Pending(II)DEKVC::HOONKIMMon Mar 03 1997 07:51198
Hi,

 We find out the pending message using DMQ$EXE:DMQ$DSPBLK utility, but the 
content of pending message is not particular compare with other messages.

Followings are summary of pending status:

1. A send message process sends message to MRQ only when receive confirmation 
   from receive process.

2. The message pending is not occur first message receive time, but after many 
   successful message receive processing.
   (Message receive process waits without recognition of pending message and
    message send process waits for confirmation from receive process)

3. When I put message using DMQ$MENU utility, the receive process read pending
   message and put message. The send process sends message to MRQ, so pending
   message is still remains. If I kill send process, message pending is not 
   occured.

4. If I kill receive process and run again, the pending message is processed
   and send process sends message which will be pending.

5. When I monitor with DMQ$MENU utility, the send,receive and pending message
   count is not equal as belows:
   ----------------------------------------------------------------------------
    1.201          DECmessageQ Monitor - Bus 1           3-MAR-1997 19:45:00.15

     QUEUE             SENT  RCVD  PEND     QUEUE            SENT  RCVD  PEND

    JIBGAE_01     11      1     0     0   CHEGYUL_01    21      0     0     0
    JIBGAE_02     12      2     0     0   CHEGYUL_02    22      0     0     1
    JIBGAE_03     13      2     0     0   CHEGYUL_03    23      0     0     1
    JIBGAE_04     14      2     0     0   CHEGYUL_04    24      0     0     1
    JIBGAE_05     15      2     0     0   CHEGYUL_05    25      0     0     1
    JIBGAE_06     16      2     0     0   CHEGYUL_06    26      0     0     1
    JIBGAE_07     17      2     0     0   CHEGYUL_07    27      0     0     1
    JIBGAE_08     18      2     0     0   CHEGYUL_08    28      0     0     1
   ----------------------------------------------------------------------------
    Queue #11 corresponds to #21, #12 corressponds to #22 so on ...
    Queue #11 does not send message to #21.
    Queue #12 thru #18 sent one message to  #22 thru #28. But sent message 
    count of #11 thru #18 is greater one than receved message count.
    Would you let me know the reason?

6. These programs are runned succefully in DMQ V3.1.
   What is different between V3.1 and V3.2 in program source level, for example
   API call parameters.
   Is it need to recompile source program? 
   What file is changed in the DMQ$EXE and DMQ$USER directory?
   
7. Belows are a part of source program.

 7.1 Receive program

		......

   01  CHEGYUL_PUT.
    03  PUT_CHEGYUL_PRIORITY            PIC  9(4) COMP VALUE 0.
    03  PUT_CHEGYUL_CLASS               PIC  9(4) COMP VALUE 1.
    03  PUT_CHEGYUL_TYPE                PIC  9(4) COMP VALUE 0.
    03  PUT_CHEGYUL_DELIVERY            PIC  9(4) COMP VALUE 0.
    03  PUT_RESP_QUE                    PIC  9(9) COMP VALUE 0.
    03  PUT_CHEGYUL_SIZE                PIC  9(4) COMP VALUE 9.
    03  PUT_TIMEOUT                     PIC  9(9) COMP VALUE 0.
    03  PUT_UMA                         PIC  X.

		......

        CALL  'PAMS_PUT_MSG'  USING
                              BY REFERENCE  CHEGYUL_PUT_BUFFER
                                            PUT_CHEGYUL_PRIORITY
                                            CHEGYUL_Q_ADR
                                            PUT_CHEGYUL_CLASS
                                            PUT_CHEGYUL_TYPE
                                            PDEL_MODE_WF_DQF
                                            PUT_CHEGYUL_SIZE
                                            PUT_TIMEOUT
                                            PSB
                                            PDEL_UMA_SAF
                               BY VALUE  0  0  0
                               GIVING   SYS_STATUS.

        IF SYS_STATUS NOT = PAMS__SUCCESS
           STRING "M7200 : CHEGYUL QUEUE MSG SEND !!  : " JQ_JONGMOK_CODE
                   DELIMITED BY SIZE INTO RTN_NAME
           PERFORM COMM_SYS_WARNING_MSG
           STOP RUN
        END-IF.

 7.2 Send program

		......

   01  CHEGYUL_GET.
    03  GET_PRIORITY            PIC  9(04)      COMP  VALUE  0.
    03  GET_SRC_QUEUE           PIC  9(08)      COMP  VALUE  0.
    03  GET_CLASS               PIC  9(04)      COMP  VALUE  1.
    03  GET_TYPE                PIC  9(04)      COMP  VALUE  0.
    03  GET_SIZE                PIC  9(04)      COMP  VALUE  0.
    03  GET_BUFFLEN             PIC  9(04)      COMP  VALUE  9.
    03  GET_TIMEOUT             PIC  9(09)      COMP  VALUE  0.
    03  GET_FILTER.
        05 GET_QUEUE_NUMBER     PIC  S9(04)     COMP.
        05 GET_QUEUE_MODE       PIC  S9(04)     COMP.
    03  GET_QUE                 PIC  9(09)      COMP.

		......

        MOVE  MULTI_READ_QUEUE          TO  GET_QUEUE_NUMBER.
        MOVE  PSEL_AQ                   TO  GET_QUEUE_MODE.
        CALL   'PAMS_GET_MSGW'  USING
                                BY REFERENCE    CHEGYUL_GET_BUFFER
                                                GET_PRIORITY
                                                GET_SRC_QUEUE
                                                GET_CLASS
                                                GET_TYPE
                                                GET_BUFFLEN
                                                GET_SIZE
                                                GET_TIMEOUT
                                                GET_FILTER
                                BY REFERENCE    PSB
                                BY VALUE        0  0  0  0  0
                                GIVING          SYS_STATUS.
        IF  SYS_STATUS NOT = PAMS__SUCCESS
            STRING 'PAMS_GET_MSGW  QUEUE NAME : MULTI_READ_QUEUE '
                   MULTI_READ_QUEUE DELIMITED BY SIZE INTO  RTN_NAME
            GO TO COMM_ERROR_RTN
        END-IF.
 
		......

        IF (PSB_STATUS  =  PAMS__CONFIRMREQ)  OR
           (PSB_STATUS  =  PAMS__POSSDUPL)
           CALL 'PAMS_CONFIRM_MSG' USING
                                BY REFERENCE    PSB_SEQNO
                                                MSG_STATUS
                                                PDEL_DEFAULT_JRN
                                GIVING          SYS_STATUS
            IF  SYS_STATUS NOT = PAMS__SUCCESS
                MOVE  'PAMS_CONFIRM_MSG'                TO  RTN_NAME
                GO TO COMM_ERROR_RTN
            END-IF
        END-IF.

8. The contend of pending message:
   ----------------------------------------------------------------------------

    Block Addr 002488F8        Last Page          Next Block (F,B or N) [F]?
                             Bus 0001  Group 00001
=========================== PAMS Header V2.4 ===================================
  Target=      1.22   Source=      1.12    Alt-tgt=       0.0 Size-data=       9
 Org-tgt=      1.22  Org-src=      1.12   Ntfy-tgt=      1.12 Owner-PID=00000000
   Class=         1     Type=         0 Alloc-flag=         1  Priority=       0
Del-Mode=  00000141  DIP-sts=  08548323  Visit-cnt=        16  Prev-grp=       0
  Org-DM=  00000511  UMA-sts=         0    Timeout=         0    Endian=       0
Msg-flgs=  00000004 CRC[H:D]= 0000:0000   Seg[C:N]=       0:0        RP=      20
 Seq-num=  000C0001     ROSN=  00000000        LRA=  00010016     Links=FFFC3918
           00000190            331B2A20              00010000           FFFC3918

                        4A 35363033 37313033 30173065J...........  000000
   ----------------------------------------------------------------------------

    Block Addr 00248B58        Last Page          Next Block (F,B or N) [F]?
                             Bus 0001  Group 00001

=========================== PAMS Header V2.4 ===================================
  Target=      1.23   Source=      1.13    Alt-tgt=       0.0 Size-data=       9
 Org-tgt=      1.23  Org-src=      1.13   Ntfy-tgt=      1.13 Owner-PID=00000000
   Class=         1     Type=         0 Alloc-flag=         1  Priority=       0
Del-Mode=  00000141  DIP-sts=  08548323  Visit-cnt=        16  Prev-grp=       0
  Org-DM=  00000511  UMA-sts=         0    Timeout=         0    Endian=       0
Msg-flgs=  00000004 CRC[H:D]= 0000:0000   Seg[C:N]=       0:0        RP=      20
 Seq-num=  000D0001     ROSN=  00000000        LRA=  00010017     Links=FFFC36C8
           00000190            335B2A20              00010000           FFFC36C8

                        4A 35373033 37313032 20173075J...........  000000
   ----------------------------------------------------------------------------

    Block Addr 00248F80        Last Page          Next Block (F,B or N) [F]?
                             Bus 0001  Group 00001

=========================== PAMS Header V2.4 ===================================
  Target=      1.24   Source=      1.14    Alt-tgt=       0.0 Size-data=       9
 Org-tgt=      1.24  Org-src=      1.14   Ntfy-tgt=      1.14 Owner-PID=00000000
   Class=         1     Type=         0 Alloc-flag=         1  Priority=       0
Del-Mode=  00000141  DIP-sts=  08548323  Visit-cnt=        16  Prev-grp=       0
  Org-DM=  00000511  UMA-sts=         0    Timeout=         0    Endian=       0
Msg-flgs=  00000004 CRC[H:D]= 0000:0000   Seg[C:N]=       0:0        RP=      20
 Seq-num=  000E0001     ROSN=  00000000        LRA=  00010018     Links=FFFC32B0
           00000190            339B2A22              00010000           FFFC32B0

                        4A 32373033 37313032 20173072J...........  000000
   ----------------------------------------------------------------------------

I always appeciate your help.

- Hoon
2792.3Here are some things to check...KLOVIA::MICHELSENDECmessageQ EngineeringWed Mar 05 1997 23:0526
    re: .2
    
      Sorry it took so long to respond.
    
      The problem you describing is not something I have seen before.  What
    you need to do is the following:
    
    	- verify with ANALYZE/SYSTEM that the MRQ reader processes are
    	  not stuck with USER mode ASTs off
    
    	- Enable both header and debug tracing on one of the problem 
    	  MRQ reader proccesses and redirect the output to the EVL
    	  log.  Sending it to the EVL log assures that it gets flushed
    	  out to a file in a timely manner.  To enable tracing, use the
    	  DMQ$MGR_UTILTY (option 7 off of the DMQ$MENU) and select "RO"
    	  to redirect the output and enable tracing.  Now send to that
    	  MRQ a test msg and see how the reader behaves.  It you need
    	  help interpreting the trace, post the output here.
    
    	- One possiblity that occurs to me is that the selection filter
    	  is getting corrupted/zeroed out so that the pams_get_msg call
    	  is reading from the wrong queue or attempting to select a
    	  specific msg.
    
    
    Marty
2792.4Message pending in DMQ V3.2BDEKVC::HOONKIMTue Mar 11 1997 20:5672
 Hi,

 I tested with enabled header and debug trace.

 We use eight MRQs(Que#:21,22,23,24,25,26,27,28)

   . Que# 21,22,23,24 : two processes send one kind of message to these MRQs

     - Read processes can't recognize arriving of messages so, these messages
       are pended in these MRQs.

     - Que# 21 : I kill one process among two active send precesses.
	    	 Then, all jobs are successfully completed.
     - Que# 22 : I kill two active send precesses and rerun only one process.
		 Then just one job is performed and still pended next message.
     - Que# 23 : I rerun one send process which downed(Other one process is
		 active). Then all jobs are successfully completed.
     - Que# 24 : Two send processes are active but message is pended.
	         I didn't any action so, the pending message is remained.

   . Que# 24,25,27,28 : two processes send two kind of message to these MRQs

     - In this case all jobs are successfully completed only except last
       message. The last message is also pended. I kill one process among two 
       active send precesses. Then last message is read by read process.

   . I can't distinguish MRQ reader processes status between processing and 
     pending with ANA/SYS utility.

   . Event log file is so large, I can't post it. I'll copy it to 
     DEKVC::DMQ$EVL_0001_00001.LOG. If you tell me your directory, I'll copy it
     to your directory.

   . In DMQ V3.2A is no problem but in DMQ V3.2B, these problems are occured.

   . A part of send program

        CALL  'PAMS_PUT_MSG'  USING
                              BY REFERENCE  CHEGYUL_PUT_BUFFER   : 30173065J
                                            PUT_CHEGYUL_PRIORITY : 0
                                            CHEGYUL_Q_ADR        : returned
                                            PUT_CHEGYUL_CLASS    : 1
                                            PUT_CHEGYUL_TYPE     : 0
                                            PDEL_MODE_WF_DQF     : 26
                                            PUT_CHEGYUL_SIZE     : 9
                                            PUT_TIMEOUT          : 0
                                            PSB
                                            PDEL_UMA_SAF         : 4
                               BY VALUE  0  0  0
                               GIVING   SYS_STATUS.

   . A part of read program

        CALL   'PAMS_GET_MSGW'  USING
                              BY REFERENCE    CHEGYUL_GET_BUFFER : 30173065J
                                                GET_PRIORITY     : 0
                                                GET_SRC_QUEUE    : 0
                                                GET_CLASS        : 1
                                                GET_TYPE         : 0
                                                GET_BUFFLEN      : 0
                                                GET_SIZE         : 9
                                                GET_TIMEOUT      : 0
                                                GET_FILTER       : 22 & -3
                                BY REFERENCE    PSB
                                BY VALUE        0  0  0  0  0
                                GIVING          SYS_STATUS.
 
  Sincerely thank you
  Regards,

- Hoon

2792.5Problem summaryDEKVC::HOONKIMFri Mar 14 1997 03:53147
 Hi Marty,

 May be pervious mails are make you confused. Sorry, It's my fault.

 Followings are exact summary our status. We use eight MRQs.


               Send                            Read
               Proc.            MRQ            Proc.
	      -------	       ------ 	      -------	

                            ������������     ����������
             ����������     ��        ������>��msg A ��PQ:temporary
       PQ:11 ��1 kind������>�� MRQ#21 ��     ����������    
             ��of msg��     ��        ��     ����������
             �� (A)  ��     ��        ������>��msg A ��PQ:temporary
             ����������     ������������     ����������
                            ������������     ����������
             ����������     ��        ������>��msg B ��PQ:temporary
       PQ:12 ��1 kind������>�� MRQ#22 ��     ����������    
             ��of msg��     ��        ��     ����������
             �� (B)  ��     ��        ������>��msg B ��PQ:temporary
             ����������     ������������     ����������
                            ������������     ����������
             ����������     ��        ������>��msg C ��PQ:temporary
       PQ:13 ��1 kind������>�� MRQ#23 ��     ����������    
             ��of msg��     ��        ��     ����������
             �� (C)  ��     ��        ������>��msg C ��PQ:temporary
             ����������     ������������     ����������
                            ������������     ����������
             ����������     ��        ������>��msg D ��PQ:temporary
       PQ:14 ��1 kind������>�� MRQ#24 ��     ����������    
             ��of msg��     ��        ��     ����������
             �� (D)  ��     ��        ������>��msg D ��PQ:temporary
             ����������     ������������     ����������
                            ������������     ����������
             ����������     ��        ������>��msgE,F��PQ:temporary
       PQ:15 ��2 kind������>�� MRQ#25 ��     ����������    
             ��of msg��     ��        ��     ����������
             �� (E,F)��     ��        ������>��msgE,F��PQ:temporary
             ����������     ������������     ����������
                            ������������     ����������
             ����������     ��        ������>��msgG,H��PQ:temporary
       PQ:16 ��2 kind������>�� MRQ#26 ��     ����������    
             ��of msg��     ��        ��     ����������
             �� (G,H)��     ��        ������>��msgG,H��PQ:temporary
             ����������     ������������     ����������
                            ������������     ����������
             ����������     ��        ������>��msgI,J��PQ:temporary
       PQ:17 ��2 kind������>�� MRQ#27 ��     ����������    
             ��of msg��     ��        ��     ����������
             �� (I,J)��     ��        ������>��msgI,J��PQ:temporary
             ����������     ������������     ����������
                            ������������     ����������
             ����������     ��        ������>��msgK,L��PQ:temporary
       PQ:18 ��2 kind������>�� MRQ#28 ��     ����������    
             ��of msg��     ��        ��     ����������
             �� (K,L)��     ��        ������>��msgK,L��PQ:temporary
             ����������     ������������     ����������
             
   . Que# 21,22,23,24 : Send process sends one kind of message to its MRQ.
     ---------------------------------------------------------------------

     - Read processes can't recognize arriving of message and the message is
       pended in its MRQ.

     - Test

	. Que#21 : I kill one read process among two active read precesses.
	    	    Then, all jobs are successfully completed.
	. Que#22 : I kill two read precesses and restart only one read process.
	   	   Then just one job is performed and still pended next message
	. Que#23 : I restart one read process which downed(Other one read 
		   process is active). 
		   Then all jobs are successfully completed.
	. Que#24 : Two read processes are active but message is pended.
	           I didn't any action so, the pending message is remained.

	. The first message arriving is not recognized by read process. If one
	  read process downed and restart, all jobs are performed with normal. 

   . Que# 24,25,27,28 : one process sends two kind of message to its MRQ.
     ---------------------------------------------------------------------

     - In this case all jobs are successfully completed only except last
       message. The last message is also pended. If I kill one read process 
       among two active read precesses. Then last message is read by read 
       process.

     - If no next message to the MRQ, the read processes are not recognize 
       arrving of message. From Que#21 to Que#24 MRQs receive just one kind of
       message. So send process is waits for confirmation from read process,
       and read process waits for arriving of message without recognition of
       pending message. From Que25 to Que#28 MRQs receive two kind of message.
       Send process sends a kind of message, and can send another kind message.
       Althought first message is pended, when the next message is arriving
       read processes perform their actions.

   . These programs are performed without any problem in DMQ V3.2A, But DMQ 
     V3.2B, these problems are occured. What is different between two versions?

   . I tested according to your recommandation But I can't interprete log file.
     Would you help me?

   . Event log file is so large, I can't post it. I already copied it to 
     DEKVC::DMQ$EVL_0001_00001.LOG. If you tell me your directory, I'll copy it
     to your directory.

   . I can't distinguish MRQ reader processes status between processing and 
     pending with ANA/SYS utility.

   . A part of send program

        CALL  'PAMS_PUT_MSG'  USING
                              BY REFERENCE  CHEGYUL_PUT_BUFFER   : 30173065J
                                            PUT_CHEGYUL_PRIORITY : 0
                                            CHEGYUL_Q_ADR        : returned
                                            PUT_CHEGYUL_CLASS    : 1
                                            PUT_CHEGYUL_TYPE     : 0
                                            PDEL_MODE_WF_DQF     : 26
                                            PUT_CHEGYUL_SIZE     : 9
                                            PUT_TIMEOUT          : 0
                                            PSB
                                            PDEL_UMA_SAF         : 4
                               BY VALUE  0  0  0
                               GIVING   SYS_STATUS.

   . A part of read program

        CALL   'PAMS_GET_MSGW'  USING
                              BY REFERENCE    CHEGYUL_GET_BUFFER : 30173065J
                                                GET_PRIORITY     : 0
                                                GET_SRC_QUEUE    : 0
                                                GET_CLASS        : 1
                                                GET_TYPE         : 0
                                                GET_BUFFLEN      : 0
                                                GET_SIZE         : 9
                                                GET_TIMEOUT      : 0
                                                GET_FILTER       : 22 & -3
                                BY REFERENCE    PSB
                                BY VALUE        0  0  0  0  0
                                GIVING          SYS_STATUS.
 
  Sincerely thank you
  Regards,

- Hoon
2792.6ECO will be available soonCLASS7::SKELDINGFri Mar 14 1997 09:579
    We have found a problem in the setting of a bit mask in global memory
    that is used to determine if a process is waiting for a wakeup when
    it is attached to a multi reader queue. This
    problem only occurs on ALPHA processors running DECmessageQ for VMS
    v3.2B. I am generating an ECO kit now with a fix.
    
    regards,
       Randy Skelding
    
2792.7Patch availableCLASS7::SKELDINGMon Mar 17 1997 11:4812
    The patch for this problem can be obtained on 
    
    PAMSRC::$1$DUA2:[DMQ$CONCEALED.DMQ32B.VMS.PATCHES]DMQ-V32B-AXP-3250.BCK.
    
    Unpack the save set. Follow the instructions in the *.txt file to 
    insert the EXEC_BBCCI object into EXEC.OLB and the
               PAMS_USER_BBCCI object into MSG.OLB.
    
    regards,
       Randy Skelding
       DmQ VMS Project Leader
    
2792.8Fail to patch V3.2BDEKVC::HOONKIMMon Mar 24 1997 21:4622
Hi, Randy

I copied PAMSRC::$1$DUA2:[DMQ$CONCEALED.DMQ32B.VMS.PATCHES]DMQ-V32B-AXP-3250.BCK.
And unpack as belows:

$ backup/lo DMQ-V32B-AXP-3250.BCK/SAV *.*
%BACKUP-S-CREATED, created SWS$DISK:[HOONKIM.DMQ]DMQ-V32B-3250.TXT;2
%BACKUP-S-CREATED, created SWS$DISK:[HOONKIM.DMQ]EXEC-V32-AXP-3250.OBJ;1
%BACKUP-S-CREATED, created SWS$DISK:[HOONKIM.DMQ]MSG-V32B-AXP-3250.OBJ;1

$ lib/log dmq$lib:msg msg-v32b-axp-3250
%LIBRAR-E-RECTYP, illegal record type (8) in module  in SWS$DISK:[HOONKIM.DMQ]M*
G-V32B-AXP-3250.OBJ;

$ lib/log dmq$lib:exec exec-v32-axp-3250
%LIBRAR-E-RECTYP, illegal record type (8) in module  in SWS$DISK:[HOONKIM.DMQ]E*
EC-V32-AXP-3250.OBJ;1
    
 I think these .obj files are not correct module for AXP for OpenVMS.
 Regards,

 - Hoon
2792.9saveset looks good hereCLASS7::SKELDINGTue Mar 25 1997 11:0236
Mr Kim,

I have just copyied over the saveset from PAMSRC to an alpha running
VMS V6.2-1H3. I unpacked the saveset, and inserted them successfully
into a library I created.
$ BACKUP  DMQ-V32B-AXP-3250.BCK/SAVE /SELECT=*.OBJ * /LOG
%BACKUP-S-CREATED, created DISK$USER1:[SKELDING]EXEC-V32-AXP-3250.OBJ;1
%BACKUP-S-CREATED, created DISK$USER1:[SKELDING]MSG-V32B-AXP-3250.OBJ;1
$ LIBR/CREATE T3250.OLB
$ LIBR/CREATE T3250.OLB
$ PUR *.OLB
$ LIBR/REPL /LOG T3250.OLB *V32*.OBJ
%LIBRAR-S-INSERTED, module EXEC_BBCCI inserted in DISK$USER1:[SKELDING]T3250.OLB
;2
%LIBRAR-S-INSERTED, module PAMS_USER_BBCCI inserted in DISK$USER1:[SKELDING]T325
0.OLB;2


$ sho sys
OpenVMS V6.2-1H3  on node ALCON  25-MAR-1997 09:39:02.94  Uptime  33 16:48:30



        Image Identification Information

                image name: "LIBRARIAN"
                image file identification: "A09-19"
                image file build identification: "X61Q-SSB-0000"
                link date/time:  4-MAY-1995 22:47:55.75
                linker identification: "A11-12"

regards,
   Randy Skelding
   DECmessageQ for OpenVMS - Team Leader
    
2792.10Linking error messageDEKVC::HOONKIMThu Mar 27 1997 00:0832
Hi, Randy

 Sorry, my FTP utility is some problem. Although I changed type form ascii to b
inary, But it couldn't change data type. so I use data tape from office to KSE.

 I installed DMQV32B Development kit.
Because we use only UCX tcp/ip, skipping messages are displayed as belows:
		...
 ...Linking DMQ$UCX_TCPIP_LD
 ---Skipping build of TGV Multinet Link Driver ---
 ---Skipping build of PSC TCP/IP Link Driver ---
 ---Skipping build of Wollongong TCP/IP Link Driver ---
 ...Linking DMQ$DECNET_LD
		...

And I patched two .OBJ files. It's succefully inserted their target .OLB.
But when executing $ @linkall, the error message is displayed as belows:
		...
 ---Skipping build of TGV Multinet Link Driver ---
 %DCL-E-OPENIN, error opening SYS$SYSDEVICE:[DMQ$V32.EXE]DMQ$PSC_TCPIP_LD.LNK;
  as input
 -RMS-E_FNF, file not found 

There is some different between DMQV3.2A linkall.com and DMQV3.2B linkall.com.
In DMQV3.2A linkall.com didn't include belows:

$ @dmq$exe:dmq$psc_tcpip_ld.lnk but DMQV3.2B included.
eIf I comment that line in DMQV3.2B linkall.com, is it no matter or not ?

Sincerely,

- Hoon
2792.11Sounds like an kit installation bug...KLOVIA::MICHELSENBEA/DEC MessageQ EngineeringThu Mar 27 1997 14:517
...due to a needed file not being loaded into dmq$exe when the PSC
software is not detected.  Your change is correct.  BTW, this is not
an issue with V4.0 since all of the TCP LD linker commands are
contained within a single command procedure.


Marty