T.R | Title | User | Personal Name | Date | Lines |
---|
2792.1 | I know of now such problem... | KLOVIA::MICHELSEN | DECmessageQ Engineering | Fri Feb 28 1997 07:30 | 8 |
| ...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.2 | Message Pending(II) | DEKVC::HOONKIM | | Mon Mar 03 1997 07:51 | 198 |
| 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.3 | Here are some things to check... | KLOVIA::MICHELSEN | DECmessageQ Engineering | Wed Mar 05 1997 23:05 | 26 |
| 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.4 | Message pending in DMQ V3.2B | DEKVC::HOONKIM | | Tue Mar 11 1997 20:56 | 72 |
| 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.5 | Problem summary | DEKVC::HOONKIM | | Fri Mar 14 1997 03:53 | 147 |
| 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.6 | ECO will be available soon | CLASS7::SKELDING | | Fri Mar 14 1997 09:57 | 9 |
| 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.7 | Patch available | CLASS7::SKELDING | | Mon Mar 17 1997 11:48 | 12 |
| 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.8 | Fail to patch V3.2B | DEKVC::HOONKIM | | Mon Mar 24 1997 21:46 | 22 |
| 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.9 | saveset looks good here | CLASS7::SKELDING | | Tue Mar 25 1997 11:02 | 36 |
|
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.10 | Linking error message | DEKVC::HOONKIM | | Thu Mar 27 1997 00:08 | 32 |
| 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.11 | Sounds like an kit installation bug... | KLOVIA::MICHELSEN | BEA/DEC MessageQ Engineering | Thu Mar 27 1997 14:51 | 7 |
| ...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
|