RP/MSQ 5.0 (VMS)/MSQ 5.01 (VMS) - CLS generates PAMS__INTERNAL with pams_get_msgw (Doc ID 776109.1)

Last updated on FEBRUARY 24, 2017

Applies to:

Oracle MessageQ / MessageQ / 5.0, 5.01
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 lcvms0

Start MessageQ for OpenVMS, V5.0-RP21 on lcvms0.
Run sndmsg11 in $10$DKA100:[WONGM.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

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms