RP/MSQ 5.0 (VMS)/MSQ 5.01 (VMS) - CLS generates PAMS__INTERNAL with pams_get_msgw
(Doc ID 776109.1)
Last updated on OCTOBER 19, 2023
Applies to:
Oracle MessageQ - Version 4.0 and laterInformation in this document applies to any platform.
Information in this document applies to any platform
Goal
Product: MessageQ for OpenVMS, V5.0-RP21 Component: CLS server PROBLEM DESCRIPTION This appears to be a regression, introduced by RP20 for CR198706. When RP20 and RP21 were released, customer tested pams_get_msg for large messages, and all seemed well. However, with pams_get_msgw (any timeout reading a multireader queue), the CLS (server) returns PAMS__INTERNAL in the CLS header. Normally, the client side (eg, DMQCL32.DLL), checks only the client task ID, and since that is not filled in, it reports: OpenVMS error code 139759722 %PAMS-E-NETERROR, Network error resulted in a communications link abort. However, when doing full dmqcltrace, the header is actually: CL 03572.03360:Msg_type = 14640 CL 03572.03360:Endpoint = 12594 CL 03572.03360:Msg_length = 40 CL 03572.03360:Pams_status = 139761996 which means PAMS__INTERNAL This error was introduced with RP20. I have tested with RP19, and it does not occur. RP19 works fine, but had the error that with V4.0 Clients, large messages were preceded by 32 nulls. That is fixed for pams_get_msg with RP20, but this new error has been introduced for all clients (Both V4.0 and V5.0) with pams_get_msgw. It is interesting to note that the CLS processes the get message correctly - it dequeues the message the message and writes a trace into its log as if everything is OK. However, the data transmitted back to the client is garbled, except for the PAMS__INTERNAL status in the header. The last 20 bytes of the CL header are overwritten by the first 20 bytes of the message that should have been received. To reproduce: Bus 26, group 26 on <hostname> Start MessageQ for OpenVMS, V5.0-RP21 on <hostname>. Run sndmsg11 in $10$DKA100:[xxx.CASES.534656] to prime QUEUE_11 with messages From Windows Client (I used V5.0-RP29), run x_getlw_vms (in zip file attached to this CR) which has tracing turned on.
Solution
To view full details, sign in with your My Oracle Support account. |
|
Don't have a My Oracle Support account? Click to get started! |
In this Document
Goal |
Solution |