Discussion:
MQ OD error - 2044 on version 7.5
Awofeso, Francis
2014-06-23 21:51:45 UTC
Permalink
Any idea to resolving this issue will be greatly appreciated

We upgraded from Sun Solaris 10 & MQ 5.3 to Sun Solaris 11 & MQ 7.5. It used to work fine in the old configuration but now…

We are receiving MQ Error 2044 during the “mqopen”:

======== P R O * C C O D E ============
sprintf( c_message, "Open the queue" );
options = MQOO_LEU_GET;
strncpy(od.ObjectName, DefaultQueueName, MQ_Q_NAME_LENGTH);
status = leu_mq_open(Hconn, &od, options, &Hobj, &CompCode, &Reason);
if ( status == MQCC_FAILED ) goto error_exit;
===================================

======== T R A C E F I L E =============
2014-06-23-13.58.07 /home/mqm/wmispay MQSUNQ TK.PAYROLLSECTION WMISPAY Connect to MQ
2014-06-23-13.58.07 /home/mqm/wmispay MQSUNQ TK.PAYROLLSECTION WMISPAY Connect to the database
2014-06-23-13.58.07 /home/mqm/wmispay MQSUNQ TK.PAYROLLSECTION LEU_MQ_OPEN MQCC_FAILED: 2044
2014-06-23-13.58.07 /home/mqm/wmispay MQSUNQ TK.PAYROLLSECTION WMISPAY Open the queue


Here is the OD Definition setup:
/****************************************************************
* Object Descriptor default *
* The default for the ObjDesc parameter in the MQOPEN call *
****************************************************************/
#define MQOD_LEU_QUEUE {MQOD_STRUC_ID_ARRAY},\
MQOD_VERSION_1,\
MQOT_Q,\
{""},\
{""},\
{""},\
{""}


Thanks
Francis Awofeso

To unsubscribe, write to LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org and,
in the message body (not the subject), write: SIGNOFF MQSERIES
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://listserv.meduniwien.ac.at/archives/mqser-l.html
Neil Casey
2014-06-23 22:47:39 UTC
Permalink
Hello,

I suspect it previously worked because of poor parameter value checking in v5.3. V7.5 is correctly detecting the invalid call and rejecting it.

The options field is supposed to be an MQLONG, not an MQOD structure.

You are setting options to a #DEFINE of a structure, and I have no idea what will show up there.

You then set the queue name in the MQOD structure, but you haven’t initialised it first, so it probably doesn’t contain the correct eye-catcher, version or object type values.

You should instead be setting od to the initialisation structure, and the options value should be set to some combination of constants the show what open options are needed. Something like “options=MQOO_INPUT_SHARED|MQOO_INQUIRE|MQOO_OUTPUT"


Neil
--
Neil Casey
Senior Consultant | Syntegrity Solutions

+61 414 615 334 neil.casey-VLLIzlmz+***@public.gmane.org
Syntegrity Solutions Pty Ltd | Level 23 | 40 City Road | Southgate | VIC 3006
Analyse >> Integrate >> Secure >> Educate
Post by Awofeso, Francis
Any idea to resolving this issue will be greatly appreciated
We upgraded from Sun Solaris 10 & MQ 5.3 to Sun Solaris 11 & MQ 7.5. It used to work fine in the old configuration but now…
======== P R O * C C O D E ============
sprintf( c_message, "Open the queue" );
options = MQOO_LEU_GET;
strncpy(od.ObjectName, DefaultQueueName, MQ_Q_NAME_LENGTH);
status = leu_mq_open(Hconn, &od, options, &Hobj, &CompCode, &Reason);
if ( status == MQCC_FAILED ) goto error_exit;
===================================
======== T R A C E F I L E =============
2014-06-23-13.58.07 /home/mqm/wmispay MQSUNQ TK.PAYROLLSECTION WMISPAY Connect to MQ
2014-06-23-13.58.07 /home/mqm/wmispay MQSUNQ TK.PAYROLLSECTION WMISPAY Connect to the database
2014-06-23-13.58.07 /home/mqm/wmispay MQSUNQ TK.PAYROLLSECTION LEU_MQ_OPEN MQCC_FAILED: 2044
2014-06-23-13.58.07 /home/mqm/wmispay MQSUNQ TK.PAYROLLSECTION WMISPAY Open the queue
/****************************************************************
* Object Descriptor default *
* The default for the ObjDesc parameter in the MQOPEN call *
****************************************************************/
#define MQOD_LEU_QUEUE {MQOD_STRUC_ID_ARRAY},\
MQOD_VERSION_1,\
MQOT_Q,\
{""},\
{""},\
{""},\
{""}
Thanks
Francis Awofeso
List Archive - Manage Your List Settings - Unsubscribe
Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com
To unsubscribe, write to LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org and,
in the message body (not the subject), write: SIGNOFF MQSERIES
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://listserv.meduniwien.ac.at/archives/mqser-l.html
Awofeso, Francis
2014-06-25 20:30:43 UTC
Permalink
Thanks for your response Neil.

The "options" field has in fact been defined as an MQLONG.

Here is how we setup the "options" field:
#define MQOO_LEU_GET MQOO_INPUT_SHARED|MQOO_FAIL_IF_QUIESCING|MQOO_SAVE_ALL_CONTEXT

MQLONG options; /* default Open/Close options */
MQOD od = {MQOD_LEU_QUEUE}; /* Object Descriptor */
MQMD md = {MQMD_LEU_DEFAULT}; /* Message Descriptor */
MQGMO gmo = {MQGMO_LEU_DEFAULT}; /* get message options */
MQHCONN Hconn; /* connection handle */
MQHOBJ Hobj; /* object handle */
MQLONG CompCode; /* completion code */
MQLONG Reason; /* reason code */

sprintf( c_message, "Open the queue" );
options = MQOO_LEU_GET;
strncpy(od.ObjectName, DefaultQueueName, MQ_Q_NAME_LENGTH);
status = leu_mq_open(Hconn, &od, options, &Hobj, &CompCode, &Reason);
if ( status == MQCC_FAILED ) goto error_exit;


Please let me know if you need to see anything else in order to resolve this problem.

Thanks,
Francis


________________________________
From: MQSeries List [MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org] on behalf of Neil Casey [neil.casey-+***@public.gmane.org]
Sent: Monday, June 23, 2014 5:47 PM
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org
Subject: Re: MQ OD error - 2044 on version 7.5

Hello,

I suspect it previously worked because of poor parameter value checking in v5.3. V7.5 is correctly detecting the invalid call and rejecting it.

The options field is supposed to be an MQLONG, not an MQOD structure.

You are setting options to a #DEFINE of a structure, and I have no idea what will show up there.

You then set the queue name in the MQOD structure, but you haven’t initialised it first, so it probably doesn’t contain the correct eye-catcher, version or object type values.

You should instead be setting od to the initialisation structure, and the options value should be set to some combination of constants the show what open options are needed. Something like “options=MQOO_INPUT_SHARED|MQOO_INQUIRE|MQOO_OUTPUT"


Neil


--
Neil Casey
Senior Consultant | Syntegrity Solutions

[cid:85B9E7B5-3674-4AB0-B560-A5A594A69E32-***@public.gmane.org] +61 414 615 334<tel:+61%20414%20615%20334>[cid:01B16F6D-956A-493B-95CF-6C2657A743B4-***@public.gmane.org] neil.casey-VLLIzlmz+***@public.gmane.org <mailto:neil.casey-VLLIzlmz+***@public.gmane.org>
Syntegrity Solutions Pty Ltd<http://www.syntegrity.com.au/> | Level 23 | 40 City Road | Southgate | VIC 3006
Analyse >> Integrate >> Secure >> Educate


On 24 Jun 2014, at 7:51 am, Awofeso, Francis <francis.awofeso-***@public.gmane.org<mailto:francis.awofeso-***@public.gmane.org>> wrote:


Any idea to resolving this issue will be greatly appreciated

We upgraded from Sun Solaris 10 & MQ 5.3 to Sun Solaris 11 & MQ 7.5. It used to work fine in the old configuration but now…

We are receiving MQ Error 2044 during the “mqopen”:

======== P R O * C C O D E ============
sprintf( c_message, "Open the queue" );
options = MQOO_LEU_GET;
strncpy(od.ObjectName, DefaultQueueName, MQ_Q_NAME_LENGTH);
status = leu_mq_open(Hconn, &od, options, &Hobj, &CompCode, &Reason);
if ( status == MQCC_FAILED ) goto error_exit;
===================================

======== T R A C E F I L E =============
2014-06-23-13.58.07 /home/mqm/wmispay MQSUNQ TK.PAYROLLSECTION WMISPAY Connect to MQ
2014-06-23-13.58.07 /home/mqm/wmispay MQSUNQ TK.PAYROLLSECTION WMISPAY Connect to the database
2014-06-23-13.58.07 /home/mqm/wmispay MQSUNQ TK.PAYROLLSECTION LEU_MQ_OPEN MQCC_FAILED: 2044
2014-06-23-13.58.07 /home/mqm/wmispay MQSUNQ TK.PAYROLLSECTION WMISPAY Open the queue


Here is the OD Definition setup:
/****************************************************************
* Object Descriptor default *
* The default for the ObjDesc parameter in the MQOPEN call *
****************************************************************/
#define MQOD_LEU_QUEUE {MQOD_STRUC_ID_ARRAY},\
MQOD_VERSION_1,\
MQOT_Q,\
{""},\
{""},\
{""},\
{""}


Thanks
Francis Awofeso

________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>


________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

To unsubscribe, write to LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org and,
in the message body (not the subject), write: SIGNOFF MQSERIES
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://listserv.meduniwien.ac.at/archives/mqser-l.html
Neil Casey
2014-06-25 21:09:15 UTC
Permalink
Hi Francis,

sorry, I misread the code in your previous post, and confused MQOO_LEU_GET with MQOD_LEU_QUEUE.

The manual indicates that 2044 can be caused when there are invalid pointers in the MQOO structure. Although MQ should not be checking these, because they are only supposed to be present when version is greater than 1, perhaps MQ v7.5 is being over zealous, and checking things that it shouldn’t.

Are you able to change the code, recompile, and test again?

If so, try initialising od with

MQOD od = {MQOD_DEFAULT};

instead of using your own constant structure.

Of course, if you use the MQ v7.5 includes and libraries in the compile, then you are changing a lot more than just this initialisation, so if they are available, you should compile using v5.3 files.


Regards,

Neil
Post by Awofeso, Francis
Thanks for your response Neil.
The "options" field has in fact been defined as an MQLONG.
#define MQOO_LEU_GET MQOO_INPUT_SHARED|MQOO_FAIL_IF_QUIESCING|MQOO_SAVE_ALL_CONTEXT
MQLONG options; /* default Open/Close options */
MQOD od = {MQOD_LEU_QUEUE}; /* Object Descriptor */
MQMD md = {MQMD_LEU_DEFAULT}; /* Message Descriptor */
MQGMO gmo = {MQGMO_LEU_DEFAULT}; /* get message options */
MQHCONN Hconn; /* connection handle */
MQHOBJ Hobj; /* object handle */
MQLONG CompCode; /* completion code */
MQLONG Reason; /* reason code */
sprintf( c_message, "Open the queue" );
options = MQOO_LEU_GET;
strncpy(od.ObjectName, DefaultQueueName, MQ_Q_NAME_LENGTH);
status = leu_mq_open(Hconn, &od, options, &Hobj, &CompCode, &Reason);
if ( status == MQCC_FAILED ) goto error_exit;
Please let me know if you need to see anything else in order to resolve this problem.
Thanks,
Francis
Sent: Monday, June 23, 2014 5:47 PM
Subject: Re: MQ OD error - 2044 on version 7.5
Hello,
I suspect it previously worked because of poor parameter value checking in v5.3. V7.5 is correctly detecting the invalid call and rejecting it.
The options field is supposed to be an MQLONG, not an MQOD structure.
You are setting options to a #DEFINE of a structure, and I have no idea what will show up there.
You then set the queue name in the MQOD structure, but you haven’t initialised it first, so it probably doesn’t contain the correct eye-catcher, version or object type values.
You should instead be setting od to the initialisation structure, and the options value should be set to some combination of constants the show what open options are needed. Something like “options=MQOO_INPUT_SHARED|MQOO_INQUIRE|MQOO_OUTPUT"
Neil
--
Neil Casey
Senior Consultant | Syntegrity Solutions
Syntegrity Solutions Pty Ltd | Level 23 | 40 City Road | Southgate | VIC 3006
Analyse >> Integrate >> Secure >> Educate
Post by Awofeso, Francis
Any idea to resolving this issue will be greatly appreciated
We upgraded from Sun Solaris 10 & MQ 5.3 to Sun Solaris 11 & MQ 7.5. It used to work fine in the old configuration but now…
======== P R O * C C O D E ============
sprintf( c_message, "Open the queue" );
options = MQOO_LEU_GET;
strncpy(od.ObjectName, DefaultQueueName, MQ_Q_NAME_LENGTH);
status = leu_mq_open(Hconn, &od, options, &Hobj, &CompCode, &Reason);
if ( status == MQCC_FAILED ) goto error_exit;
===================================
======== T R A C E F I L E =============
2014-06-23-13.58.07 /home/mqm/wmispay MQSUNQ TK.PAYROLLSECTION WMISPAY Connect to MQ
2014-06-23-13.58.07 /home/mqm/wmispay MQSUNQ TK.PAYROLLSECTION WMISPAY Connect to the database
2014-06-23-13.58.07 /home/mqm/wmispay MQSUNQ TK.PAYROLLSECTION LEU_MQ_OPEN MQCC_FAILED: 2044
2014-06-23-13.58.07 /home/mqm/wmispay MQSUNQ TK.PAYROLLSECTION WMISPAY Open the queue
/****************************************************************
* Object Descriptor default *
* The default for the ObjDesc parameter in the MQOPEN call *
****************************************************************/
#define MQOD_LEU_QUEUE {MQOD_STRUC_ID_ARRAY},\
MQOD_VERSION_1,\
MQOT_Q,\
{""},\
{""},\
{""},\
{""}
Thanks
Francis Awofeso
List Archive - Manage Your List Settings - Unsubscribe
Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com
List Archive - Manage Your List Settings - Unsubscribe
Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com
List Archive - Manage Your List Settings - Unsubscribe
Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com
To unsubscribe, write to LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org and,
in the message body (not the subject), write: SIGNOFF MQSERIES
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://listserv.meduniwien.ac.at/archives/mqser-l.html
Tim Zielke
2014-06-25 22:01:35 UTC
Permalink
One other debugging option is to turn on a strmqtrc api trace and see what values are now being passed in for the MQOD structure. If this is Solaris SPARC, the MH06 supportpac has an mqtrcfrmt program that will help format out all the fields of the MQOD in the before and after of the MQOPEN call, to make it more readable.

If this program is using a local bindings connection to the queue manager, trace it as:

strmqtrc -m qmgr -t api -p prgmname

If this program is using a client connection to the queue manger and the server conn channel runs on the amqrmppa process, you could do the following to trace it:

strmqtrc -m qmgr -t api -p amqrmppa

Thanks,
Tim

From: MQSeries List [mailto:MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org] On Behalf Of Neil Casey
Sent: Wednesday, June 25, 2014 4:09 PM
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org
Subject: Re: MQ OD error - 2044 on version 7.5

Hi Francis,

sorry, I misread the code in your previous post, and confused MQOO_LEU_GET with MQOD_LEU_QUEUE.

The manual indicates that 2044 can be caused when there are invalid pointers in the MQOO structure. Although MQ should not be checking these, because they are only supposed to be present when version is greater than 1, perhaps MQ v7.5 is being over zealous, and checking things that it shouldn't.

Are you able to change the code, recompile, and test again?

If so, try initialising od with

MQOD od = {MQOD_DEFAULT};

instead of using your own constant structure.

Of course, if you use the MQ v7.5 includes and libraries in the compile, then you are changing a lot more than just this initialisation, so if they are available, you should compile using v5.3 files.


Regards,

Neil




On 26 Jun 2014, at 6:30 am, Awofeso, Francis <francis.awofeso-***@public.gmane.org<mailto:francis.awofeso-***@public.gmane.org>> wrote:


Thanks for your response Neil.

The "options" field has in fact been defined as an MQLONG.

Here is how we setup the "options" field:
#define MQOO_LEU_GET MQOO_INPUT_SHARED|MQOO_FAIL_IF_QUIESCING|MQOO_SAVE_ALL_CONTEXT

MQLONG options; /* default Open/Close options */
MQOD od = {MQOD_LEU_QUEUE}; /* Object Descriptor */
MQMD md = {MQMD_LEU_DEFAULT}; /* Message Descriptor */
MQGMO gmo = {MQGMO_LEU_DEFAULT}; /* get message options */
MQHCONN Hconn; /* connection handle */
MQHOBJ Hobj; /* object handle */
MQLONG CompCode; /* completion code */
MQLONG Reason; /* reason code */

sprintf( c_message, "Open the queue" );
options = MQOO_LEU_GET;
strncpy(od.ObjectName, DefaultQueueName, MQ_Q_NAME_LENGTH);
status = leu_mq_open(Hconn, &od, options, &Hobj, &CompCode, &Reason);
if ( status == MQCC_FAILED ) goto error_exit;


Please let me know if you need to see anything else in order to resolve this problem.

Thanks,
Francis


________________________________
From: MQSeries List [MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>] on behalf of Neil Casey [neil.casey-+3WXQJpgcXSy/dcwJAY4+***@public.gmane.org.AU<mailto:neil.casey-+***@public.gmane.org>]
Sent: Monday, June 23, 2014 5:47 PM
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org<mailto:MQSERIES-0lvw86wZMd9k/***@public.gmane.orgAC.AT>
Subject: Re: MQ OD error - 2044 on version 7.5
Hello,

I suspect it previously worked because of poor parameter value checking in v5.3. V7.5 is correctly detecting the invalid call and rejecting it.

The options field is supposed to be an MQLONG, not an MQOD structure.

You are setting options to a #DEFINE of a structure, and I have no idea what will show up there.

You then set the queue name in the MQOD structure, but you haven't initialised it first, so it probably doesn't contain the correct eye-catcher, version or object type values.

You should instead be setting od to the initialisation structure, and the options value should be set to some combination of constants the show what open options are needed. Something like "options=MQOO_INPUT_SHARED|MQOO_INQUIRE|MQOO_OUTPUT"


Neil


--
Neil Casey
Senior Consultant | Syntegrity Solutions

<mobile.vsmall.jpg> +61 414 615 334<tel:+61%20414%20615%20334><email.vsmall.jpg> neil.casey-VLLIzlmz+***@public.gmane.org <mailto:neil.casey-VLLIzlmz+***@public.gmane.org>
Syntegrity Solutions Pty Ltd<http://www.syntegrity.com.au/> | Level 23 | 40 City Road | Southgate | VIC 3006
Analyse >> Integrate >> Secure >> Educate



On 24 Jun 2014, at 7:51 am, Awofeso, Francis <francis.awofeso-***@public.gmane.org<mailto:francis.awofeso-***@public.gmane.org>> wrote:



Any idea to resolving this issue will be greatly appreciated

We upgraded from Sun Solaris 10 & MQ 5.3 to Sun Solaris 11 & MQ 7.5. It used to work fine in the old configuration but now...

We are receiving MQ Error 2044 during the "mqopen":

======== P R O * C C O D E ============
sprintf( c_message, "Open the queue" );
options = MQOO_LEU_GET;
strncpy(od.ObjectName, DefaultQueueName, MQ_Q_NAME_LENGTH);
status = leu_mq_open(Hconn, &od, options, &Hobj, &CompCode, &Reason);
if ( status == MQCC_FAILED ) goto error_exit;
===================================

======== T R A C E F I L E =============
2014-06-23-13.58.07 /home/mqm/wmispay MQSUNQ TK.PAYROLLSECTION WMISPAY Connect to MQ
2014-06-23-13.58.07 /home/mqm/wmispay MQSUNQ TK.PAYROLLSECTION WMISPAY Connect to the database
2014-06-23-13.58.07 /home/mqm/wmispay MQSUNQ TK.PAYROLLSECTION LEU_MQ_OPEN MQCC_FAILED: 2044
2014-06-23-13.58.07 /home/mqm/wmispay MQSUNQ TK.PAYROLLSECTION WMISPAY Open the queue


Here is the OD Definition setup:
/****************************************************************
* Object Descriptor default *
* The default for the ObjDesc parameter in the MQOPEN call *
****************************************************************/
#define MQOD_LEU_QUEUE {MQOD_STRUC_ID_ARRAY},\
MQOD_VERSION_1,\
MQOT_Q,\
{""},\
{""},\
{""},\
{""}

Thanks
Francis Awofeso

________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>


________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>


________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

To unsubscribe, write to LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org and,
in the message body (not the subject), write: SIGNOFF MQSERIES
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://listserv.meduniwien.ac.at/archives/mqser-l.html
Tim Zielke
2014-06-26 01:59:46 UTC
Permalink
One other thought is you could inspect your executable and find the existing OD structure and see what the StrucId (4 bytes) and Version (4 bytes) is currently set to.

Here is one way to do this. Let's say your program name is wmispay.

First display its contents with an octal dump with character conversion:

cat wmispay | od -c > od_c.out

Now edit the file (i.e. with vi) and search for the eye-catcher "O D", which is the start of the MQOD structure.

When I do this with the amqsput sample, I see it here:

0010540 O D \0 \0 \0 001 \0 \0 \0 001 \0 \0 \0 \0

Note the offset is x'0010540'. Now display the contents of the executable but with a octal dump in hex:

cat wmispay | od -x > od_h.out

Edit the file and find the offset 0010540. This is what I see at that offset for the amqsput sample:

0010540 4f44 2020 0000 0001 0000 0001 0000 0000

You can see that the first 4 bytes are the StrucId of "OD " in ASCII (last 2 bytes being spaces) and the next 4 bytes are the Version x'00000001' which is 1 in big-endian (SPARC is a big-endian processor).

My thought here is inspect if your StrucId is "OD" followed by two spaces and if your Version is 1 (with the correct endianness). If you are able to find this in the executable and send it (also let me know if this is an x86 or SPARC Solaris server), I can visually inspect if it looks valid.

Thanks,
Tim


From: Tim Zielke
Sent: Wednesday, June 25, 2014 5:02 PM
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org
Subject: RE: MQ OD error - 2044 on version 7.5

One other debugging option is to turn on a strmqtrc api trace and see what values are now being passed in for the MQOD structure. If this is Solaris SPARC, the MH06 supportpac has an mqtrcfrmt program that will help format out all the fields of the MQOD in the before and after of the MQOPEN call, to make it more readable.

If this program is using a local bindings connection to the queue manager, trace it as:

strmqtrc -m qmgr -t api -p prgmname

If this program is using a client connection to the queue manger and the server conn channel runs on the amqrmppa process, you could do the following to trace it:

strmqtrc -m qmgr -t api -p amqrmppa

Thanks,
Tim

From: MQSeries List [mailto:MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org] On Behalf Of Neil Casey
Sent: Wednesday, June 25, 2014 4:09 PM
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org<mailto:MQSERIES-0lvw86wZMd9k/***@public.gmane.orgAC.AT>
Subject: Re: MQ OD error - 2044 on version 7.5

Hi Francis,

sorry, I misread the code in your previous post, and confused MQOO_LEU_GET with MQOD_LEU_QUEUE.

The manual indicates that 2044 can be caused when there are invalid pointers in the MQOO structure. Although MQ should not be checking these, because they are only supposed to be present when version is greater than 1, perhaps MQ v7.5 is being over zealous, and checking things that it shouldn't.

Are you able to change the code, recompile, and test again?

If so, try initialising od with

MQOD od = {MQOD_DEFAULT};

instead of using your own constant structure.

Of course, if you use the MQ v7.5 includes and libraries in the compile, then you are changing a lot more than just this initialisation, so if they are available, you should compile using v5.3 files.


Regards,

Neil




On 26 Jun 2014, at 6:30 am, Awofeso, Francis <francis.awofeso-***@public.gmane.org<mailto:francis.awofeso-***@public.gmane.org>> wrote:

Thanks for your response Neil.

The "options" field has in fact been defined as an MQLONG.

Here is how we setup the "options" field:
#define MQOO_LEU_GET MQOO_INPUT_SHARED|MQOO_FAIL_IF_QUIESCING|MQOO_SAVE_ALL_CONTEXT

MQLONG options; /* default Open/Close options */
MQOD od = {MQOD_LEU_QUEUE}; /* Object Descriptor */
MQMD md = {MQMD_LEU_DEFAULT}; /* Message Descriptor */
MQGMO gmo = {MQGMO_LEU_DEFAULT}; /* get message options */
MQHCONN Hconn; /* connection handle */
MQHOBJ Hobj; /* object handle */
MQLONG CompCode; /* completion code */
MQLONG Reason; /* reason code */

sprintf( c_message, "Open the queue" );
options = MQOO_LEU_GET;
strncpy(od.ObjectName, DefaultQueueName, MQ_Q_NAME_LENGTH);
status = leu_mq_open(Hconn, &od, options, &Hobj, &CompCode, &Reason);
if ( status == MQCC_FAILED ) goto error_exit;


Please let me know if you need to see anything else in order to resolve this problem.

Thanks,
Francis


________________________________
From: MQSeries List [MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>] on behalf of Neil Casey [neil.casey-+3WXQJpgcXSy/dcwJAY4+***@public.gmane.org.AU<mailto:neil.casey-+***@public.gmane.org>]
Sent: Monday, June 23, 2014 5:47 PM
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org<mailto:MQSERIES-0lvw86wZMd9k/***@public.gmane.orgAC.AT>
Subject: Re: MQ OD error - 2044 on version 7.5
Hello,

I suspect it previously worked because of poor parameter value checking in v5.3. V7.5 is correctly detecting the invalid call and rejecting it.

The options field is supposed to be an MQLONG, not an MQOD structure.

You are setting options to a #DEFINE of a structure, and I have no idea what will show up there.

You then set the queue name in the MQOD structure, but you haven't initialised it first, so it probably doesn't contain the correct eye-catcher, version or object type values.

You should instead be setting od to the initialisation structure, and the options value should be set to some combination of constants the show what open options are needed. Something like "options=MQOO_INPUT_SHARED|MQOO_INQUIRE|MQOO_OUTPUT"


Neil


--
Neil Casey
Senior Consultant | Syntegrity Solutions

<mobile.vsmall.jpg> +61 414 615 334<tel:+61%20414%20615%20334><email.vsmall.jpg> neil.casey-VLLIzlmz+***@public.gmane.org <mailto:neil.casey-VLLIzlmz+***@public.gmane.org>
Syntegrity Solutions Pty Ltd<http://www.syntegrity.com.au/> | Level 23 | 40 City Road | Southgate | VIC 3006
Analyse >> Integrate >> Secure >> Educate


On 24 Jun 2014, at 7:51 am, Awofeso, Francis <francis.awofeso-***@public.gmane.org<mailto:francis.awofeso-***@public.gmane.org>> wrote:


Any idea to resolving this issue will be greatly appreciated

We upgraded from Sun Solaris 10 & MQ 5.3 to Sun Solaris 11 & MQ 7.5. It used to work fine in the old configuration but now...

We are receiving MQ Error 2044 during the "mqopen":

======== P R O * C C O D E ============
sprintf( c_message, "Open the queue" );
options = MQOO_LEU_GET;
strncpy(od.ObjectName, DefaultQueueName, MQ_Q_NAME_LENGTH);
status = leu_mq_open(Hconn, &od, options, &Hobj, &CompCode, &Reason);
if ( status == MQCC_FAILED ) goto error_exit;
===================================

======== T R A C E F I L E =============
2014-06-23-13.58.07 /home/mqm/wmispay MQSUNQ TK.PAYROLLSECTION WMISPAY Connect to MQ
2014-06-23-13.58.07 /home/mqm/wmispay MQSUNQ TK.PAYROLLSECTION WMISPAY Connect to the database
2014-06-23-13.58.07 /home/mqm/wmispay MQSUNQ TK.PAYROLLSECTION LEU_MQ_OPEN MQCC_FAILED: 2044
2014-06-23-13.58.07 /home/mqm/wmispay MQSUNQ TK.PAYROLLSECTION WMISPAY Open the queue


Here is the OD Definition setup:
/****************************************************************
* Object Descriptor default *
* The default for the ObjDesc parameter in the MQOPEN call *
****************************************************************/
#define MQOD_LEU_QUEUE {MQOD_STRUC_ID_ARRAY},\
MQOD_VERSION_1,\
MQOT_Q,\
{""},\
{""},\
{""},\
{""}

Thanks
Francis Awofeso

________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>


________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>


________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

To unsubscribe, write to LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org and,
in the message body (not the subject), write: SIGNOFF MQSERIES
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://listserv.meduniwien.ac.at/archives/mqser-l.html
Awofeso, Francis
2014-06-26 16:59:07 UTC
Permalink
Hi Tim,

Thanks for your suggestion. I turned on the trace and re-ran the program. But I am unable to read the formatted trace file. I am attaching it with this email. Please review it and let me know if you find anything in it.

Thanks,
Francis
________________________________
From: MQSeries List [MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org] on behalf of Tim Zielke [tim.zielke-PR+tvw7B/***@public.gmane.org]
Sent: Wednesday, June 25, 2014 5:01 PM
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org
Subject: Re: MQ OD error - 2044 on version 7.5

One other debugging option is to turn on a strmqtrc api trace and see what values are now being passed in for the MQOD structure. If this is Solaris SPARC, the MH06 supportpac has an mqtrcfrmt program that will help format out all the fields of the MQOD in the before and after of the MQOPEN call, to make it more readable.

If this program is using a local bindings connection to the queue manager, trace it as:

strmqtrc –m qmgr –t api –p prgmname

If this program is using a client connection to the queue manger and the server conn channel runs on the amqrmppa process, you could do the following to trace it:

strmqtrc –m qmgr –t api –p amqrmppa

Thanks,
Tim

From: MQSeries List [mailto:MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org] On Behalf Of Neil Casey
Sent: Wednesday, June 25, 2014 4:09 PM
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org
Subject: Re: MQ OD error - 2044 on version 7.5

Hi Francis,

sorry, I misread the code in your previous post, and confused MQOO_LEU_GET with MQOD_LEU_QUEUE.

The manual indicates that 2044 can be caused when there are invalid pointers in the MQOO structure. Although MQ should not be checking these, because they are only supposed to be present when version is greater than 1, perhaps MQ v7.5 is being over zealous, and checking things that it shouldn’t.

Are you able to change the code, recompile, and test again?

If so, try initialising od with

MQOD od = {MQOD_DEFAULT};

instead of using your own constant structure.

Of course, if you use the MQ v7.5 includes and libraries in the compile, then you are changing a lot more than just this initialisation, so if they are available, you should compile using v5.3 files.


Regards,

Neil




On 26 Jun 2014, at 6:30 am, Awofeso, Francis <francis.awofeso-***@public.gmane.org<mailto:francis.awofeso-***@public.gmane.org>> wrote:


Thanks for your response Neil.

The "options" field has in fact been defined as an MQLONG.

Here is how we setup the "options" field:
#define MQOO_LEU_GET MQOO_INPUT_SHARED|MQOO_FAIL_IF_QUIESCING|MQOO_SAVE_ALL_CONTEXT

MQLONG options; /* default Open/Close options */
MQOD od = {MQOD_LEU_QUEUE}; /* Object Descriptor */
MQMD md = {MQMD_LEU_DEFAULT}; /* Message Descriptor */
MQGMO gmo = {MQGMO_LEU_DEFAULT}; /* get message options */
MQHCONN Hconn; /* connection handle */
MQHOBJ Hobj; /* object handle */
MQLONG CompCode; /* completion code */
MQLONG Reason; /* reason code */

sprintf( c_message, "Open the queue" );
options = MQOO_LEU_GET;
strncpy(od.ObjectName, DefaultQueueName, MQ_Q_NAME_LENGTH);
status = leu_mq_open(Hconn, &od, options, &Hobj, &CompCode, &Reason);
if ( status == MQCC_FAILED ) goto error_exit;


Please let me know if you need to see anything else in order to resolve this problem.

Thanks,
Francis


________________________________
From: MQSeries List [MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>] on behalf of Neil Casey [neil.casey-+3WXQJpgcXSy/dcwJAY4+***@public.gmane.org.AU<mailto:neil.casey-+***@public.gmane.org>]
Sent: Monday, June 23, 2014 5:47 PM
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org<mailto:MQSERIES-0lvw86wZMd9k/***@public.gmane.orgAC.AT>
Subject: Re: MQ OD error - 2044 on version 7.5
Hello,

I suspect it previously worked because of poor parameter value checking in v5.3. V7.5 is correctly detecting the invalid call and rejecting it.

The options field is supposed to be an MQLONG, not an MQOD structure.

You are setting options to a #DEFINE of a structure, and I have no idea what will show up there.

You then set the queue name in the MQOD structure, but you haven’t initialised it first, so it probably doesn’t contain the correct eye-catcher, version or object type values.

You should instead be setting od to the initialisation structure, and the options value should be set to some combination of constants the show what open options are needed. Something like “options=MQOO_INPUT_SHARED|MQOO_INQUIRE|MQOO_OUTPUT"


Neil


--
Neil Casey
Senior Consultant | Syntegrity Solutions

<mobile.vsmall.jpg> +61 414 615 334<tel:+61%20414%20615%20334><email.vsmall.jpg> neil.casey-VLLIzlmz+***@public.gmane.org <mailto:neil.casey-VLLIzlmz+***@public.gmane.org>
Syntegrity Solutions Pty Ltd<http://www.syntegrity.com.au/> | Level 23 | 40 City Road | Southgate | VIC 3006
Analyse >> Integrate >> Secure >> Educate



On 24 Jun 2014, at 7:51 am, Awofeso, Francis <francis.awofeso-***@public.gmane.org<mailto:francis.awofeso-***@public.gmane.org>> wrote:



Any idea to resolving this issue will be greatly appreciated

We upgraded from Sun Solaris 10 & MQ 5.3 to Sun Solaris 11 & MQ 7.5. It used to work fine in the old configuration but now…

We are receiving MQ Error 2044 during the “mqopen”:

======== P R O * C C O D E ============
sprintf( c_message, "Open the queue" );
options = MQOO_LEU_GET;
strncpy(od.ObjectName, DefaultQueueName, MQ_Q_NAME_LENGTH);
status = leu_mq_open(Hconn, &od, options, &Hobj, &CompCode, &Reason);
if ( status == MQCC_FAILED ) goto error_exit;
===================================

======== T R A C E F I L E =============
2014-06-23-13.58.07 /home/mqm/wmispay MQSUNQ TK.PAYROLLSECTION WMISPAY Connect to MQ
2014-06-23-13.58.07 /home/mqm/wmispay MQSUNQ TK.PAYROLLSECTION WMISPAY Connect to the database
2014-06-23-13.58.07 /home/mqm/wmispay MQSUNQ TK.PAYROLLSECTION LEU_MQ_OPEN MQCC_FAILED: 2044
2014-06-23-13.58.07 /home/mqm/wmispay MQSUNQ TK.PAYROLLSECTION WMISPAY Open the queue


Here is the OD Definition setup:
/****************************************************************
* Object Descriptor default *
* The default for the ObjDesc parameter in the MQOPEN call *
****************************************************************/
#define MQOD_LEU_QUEUE {MQOD_STRUC_ID_ARRAY},\
MQOD_VERSION_1,\
MQOT_Q,\
{""},\
{""},\
{""},\
{""}

Thanks
Francis Awofeso

________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>


________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>


________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

To unsubscribe, write to LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org and,
in the message body (not the subject), write: SIGNOFF MQSERIES
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://listserv.meduniwien.ac.at/archives/mqser-l.html
Tim Zielke
2014-06-26 19:23:03 UTC
Permalink
Hi Francis,

Your object descriptor in the trace is being shown as NULL in the MQOPEN >> (These are the inputs that MQ is seeing in the entry to the OPEN API).

This is what it should look like when a good object descriptor was passed in:

19:48:07.518901 5603.1 CONN:1400006 MQOPEN >>
19:48:07.518920 5603.1 CONN:1400006 Hconn:
19:48:07.518938 5603.1 CONN:1400006 0x0000: 01400006 |***@.. |
19:48:07.518957 5603.1 CONN:1400006 Objdesc:
19:48:07.518976 5603.1 CONN:1400006 0x0000: 4f442020 00000001 00000001 54435a2e |OD ........TCZ.|
19:48:07.518976 5603.1 CONN:1400006 0x0010: 54455354 31000000 00000000 00000000 |TEST1...........|
19:48:07.518976 5603.1 CONN:1400006 0x0020: 00000000 00000000 00000000 00000000 |................|
19:48:07.518976 5603.1 CONN:1400006 0x0030: 00000000 00000000 00000000 00000000 |................|
19:48:07.518976 5603.1 CONN:1400006 0x0040: 00000000 00000000 00000000 00000000 |................|
19:48:07.518976 5603.1 CONN:1400006 0x0050: 00000000 00000000 00000000 00000000 |................|
19:48:07.518976 5603.1 CONN:1400006 0x0060: 00000000 00000000 00000000 414d512e |............AMQ.|
19:48:07.518976 5603.1 CONN:1400006 0x0070: 2a000000 00000000 00000000 00000000 |*...............|
19:48:07.518976 5603.1 CONN:1400006 0x0080: 00000000 00000000 00000000 00000000 |................|
19:48:07.518976 5603.1 CONN:1400006 0x0090: 00000000 00000000 00000000 00000000 |................|
19:48:07.518976 5603.1 CONN:1400006 0x00a0: 00000000 00000000 |........ |
19:48:07.519047 5603.1 CONN:1400006 Options:
19:48:07.519067 5603.1 CONN:1400006 0x0000: 00002010 |.. . |
19:48:07.519086 5603.1 CONN:1400006 Hobj : Output Parm
19:48:07.519104 5603.1 CONN:1400006 Compcode : Output Parm
19:48:07.519122 5603.1 CONN:1400006 Reason : Output Parm

I am not sure if NULL means that the &od that was passed in was NULL, or it could not access the pointer for some reason so MQ resolves it to NULL.

If I were in your place, I would try the following next:

1. Recompile the code under 7.5 and see if it works.
2. If not, add code to print out the address of that od before it is passed into the open and see what address it is displaying.

There are ways with pmap to see if that address is valid (i.e. falls within the stack memory region or BSS memory region) and in a writeable memory region, but that gets very technical (although I don't mind showing you how, if you want).

You may want to open a PMR at this point to get IBM's help, too.

Thanks,
Tim

From: MQSeries List [mailto:MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org] On Behalf Of Awofeso, Francis
Sent: Thursday, June 26, 2014 11:59 AM
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org
Subject: Re: MQ OD error - 2044 on version 7.5

Hi Tim,

Thanks for your suggestion. I turned on the trace and re-ran the program. But I am unable to read the formatted trace file. I am attaching it with this email. Please review it and let me know if you find anything in it.

Thanks,
Francis
________________________________
From: MQSeries List [MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org] on behalf of Tim Zielke [tim.zielke-PR+tvw7B/***@public.gmane.org]
Sent: Wednesday, June 25, 2014 5:01 PM
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org<mailto:MQSERIES-0lvw86wZMd9k/***@public.gmane.orgAC.AT>
Subject: Re: MQ OD error - 2044 on version 7.5
One other debugging option is to turn on a strmqtrc api trace and see what values are now being passed in for the MQOD structure. If this is Solaris SPARC, the MH06 supportpac has an mqtrcfrmt program that will help format out all the fields of the MQOD in the before and after of the MQOPEN call, to make it more readable.

If this program is using a local bindings connection to the queue manager, trace it as:

strmqtrc -m qmgr -t api -p prgmname

If this program is using a client connection to the queue manger and the server conn channel runs on the amqrmppa process, you could do the following to trace it:

strmqtrc -m qmgr -t api -p amqrmppa

Thanks,
Tim

From: MQSeries List [mailto:MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org] On Behalf Of Neil Casey
Sent: Wednesday, June 25, 2014 4:09 PM
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org<mailto:MQSERIES-0lvw86wZMd9k/***@public.gmane.orgAC.AT>
Subject: Re: MQ OD error - 2044 on version 7.5

Hi Francis,

sorry, I misread the code in your previous post, and confused MQOO_LEU_GET with MQOD_LEU_QUEUE.

The manual indicates that 2044 can be caused when there are invalid pointers in the MQOO structure. Although MQ should not be checking these, because they are only supposed to be present when version is greater than 1, perhaps MQ v7.5 is being over zealous, and checking things that it shouldn't.

Are you able to change the code, recompile, and test again?

If so, try initialising od with

MQOD od = {MQOD_DEFAULT};

instead of using your own constant structure.

Of course, if you use the MQ v7.5 includes and libraries in the compile, then you are changing a lot more than just this initialisation, so if they are available, you should compile using v5.3 files.


Regards,

Neil




On 26 Jun 2014, at 6:30 am, Awofeso, Francis <francis.awofeso-***@public.gmane.org<mailto:francis.awofeso-***@public.gmane.org>> wrote:

Thanks for your response Neil.

The "options" field has in fact been defined as an MQLONG.

Here is how we setup the "options" field:
#define MQOO_LEU_GET MQOO_INPUT_SHARED|MQOO_FAIL_IF_QUIESCING|MQOO_SAVE_ALL_CONTEXT

MQLONG options; /* default Open/Close options */
MQOD od = {MQOD_LEU_QUEUE}; /* Object Descriptor */
MQMD md = {MQMD_LEU_DEFAULT}; /* Message Descriptor */
MQGMO gmo = {MQGMO_LEU_DEFAULT}; /* get message options */
MQHCONN Hconn; /* connection handle */
MQHOBJ Hobj; /* object handle */
MQLONG CompCode; /* completion code */
MQLONG Reason; /* reason code */

sprintf( c_message, "Open the queue" );
options = MQOO_LEU_GET;
strncpy(od.ObjectName, DefaultQueueName, MQ_Q_NAME_LENGTH);
status = leu_mq_open(Hconn, &od, options, &Hobj, &CompCode, &Reason);
if ( status == MQCC_FAILED ) goto error_exit;


Please let me know if you need to see anything else in order to resolve this problem.

Thanks,
Francis


________________________________
From: MQSeries List [MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>] on behalf of Neil Casey [neil.casey-+3WXQJpgcXSy/dcwJAY4+***@public.gmane.org.AU<mailto:neil.casey-+***@public.gmane.org>]
Sent: Monday, June 23, 2014 5:47 PM
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org<mailto:MQSERIES-0lvw86wZMd9k/***@public.gmane.orgAC.AT>
Subject: Re: MQ OD error - 2044 on version 7.5
Hello,

I suspect it previously worked because of poor parameter value checking in v5.3. V7.5 is correctly detecting the invalid call and rejecting it.

The options field is supposed to be an MQLONG, not an MQOD structure.

You are setting options to a #DEFINE of a structure, and I have no idea what will show up there.

You then set the queue name in the MQOD structure, but you haven't initialised it first, so it probably doesn't contain the correct eye-catcher, version or object type values.

You should instead be setting od to the initialisation structure, and the options value should be set to some combination of constants the show what open options are needed. Something like "options=MQOO_INPUT_SHARED|MQOO_INQUIRE|MQOO_OUTPUT"


Neil


--
Neil Casey
Senior Consultant | Syntegrity Solutions

<mobile.vsmall.jpg> +61 414 615 334<tel:+61%20414%20615%20334><email.vsmall.jpg> neil.casey-VLLIzlmz+***@public.gmane.org <mailto:neil.casey-VLLIzlmz+***@public.gmane.org>
Syntegrity Solutions Pty Ltd<http://www.syntegrity.com.au/> | Level 23 | 40 City Road | Southgate | VIC 3006
Analyse >> Integrate >> Secure >> Educate


On 24 Jun 2014, at 7:51 am, Awofeso, Francis <francis.awofeso-***@public.gmane.org<mailto:francis.awofeso-***@public.gmane.org>> wrote:


Any idea to resolving this issue will be greatly appreciated

We upgraded from Sun Solaris 10 & MQ 5.3 to Sun Solaris 11 & MQ 7.5. It used to work fine in the old configuration but now...

We are receiving MQ Error 2044 during the "mqopen":

======== P R O * C C O D E ============
sprintf( c_message, "Open the queue" );
options = MQOO_LEU_GET;
strncpy(od.ObjectName, DefaultQueueName, MQ_Q_NAME_LENGTH);
status = leu_mq_open(Hconn, &od, options, &Hobj, &CompCode, &Reason);
if ( status == MQCC_FAILED ) goto error_exit;
===================================

======== T R A C E F I L E =============
2014-06-23-13.58.07 /home/mqm/wmispay MQSUNQ TK.PAYROLLSECTION WMISPAY Connect to MQ
2014-06-23-13.58.07 /home/mqm/wmispay MQSUNQ TK.PAYROLLSECTION WMISPAY Connect to the database
2014-06-23-13.58.07 /home/mqm/wmispay MQSUNQ TK.PAYROLLSECTION LEU_MQ_OPEN MQCC_FAILED: 2044
2014-06-23-13.58.07 /home/mqm/wmispay MQSUNQ TK.PAYROLLSECTION WMISPAY Open the queue


Here is the OD Definition setup:
/****************************************************************
* Object Descriptor default *
* The default for the ObjDesc parameter in the MQOPEN call *
****************************************************************/
#define MQOD_LEU_QUEUE {MQOD_STRUC_ID_ARRAY},\
MQOD_VERSION_1,\
MQOT_Q,\
{""},\
{""},\
{""},\
{""}

Thanks
Francis Awofeso

________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>


________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>


________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

To unsubscribe, write to LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org and,
in the message body (not the subject), write: SIGNOFF MQSERIES
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://listserv.meduniwien.ac.at/archives/mqser-l.html
d***@public.gmane.org
2014-06-26 20:05:13 UTC
Permalink
... every couple of years, I get a "window of time" to update all my servers with a new version of MQClient. So this time, I wanted to upgrade from V7.0.1.8 to V7.5.0.3 (which is same as current server version).

However, I ran into a couple of issues, (APAR IT01265 and APAR IT02110) for which I received Ifixes.

However, now I have a new issue (ERROR: Unable to cast object of type "IBM.XMS.Client.Impl.Xms.BytesMessageImpl" to type "IBM.XMS.ITextMessage"), and my window is beginning to close...

So, if we cannot get a resolution, do I have to stay at V7.0.1.8, or does anyone know a later version that might work reliably without these issues?

(BTW, V7.5.0.3 for Linux works great!)

Thanks!

To unsubscribe, write to LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org and,
in the message body (not the subject), write: SIGNOFF MQSERIES
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://listserv.meduniwien.ac.at/archives/mqser-l.html
Shashikanth R Thambrahalli
2014-06-27 03:24:49 UTC
Permalink
This type of exception can occur if an incoming message is of type
IBytesMessage and application attempts to cast it to a ITextMessage.
Please check if your application is doing something like this. I have the
following snippet to check the type before casting.

ITextMessage txtMsg;
IBytesMessage bytMsg;

IMessageConsumer consumer = mqSess.CreateConsumer(mqDest);
// Receive as IMessage then cast based on type
IMessage jmsMsg = consumer.Receive();

if (jmsMsg is ITextMessage)
txtMsg = (ITextMessage)jmsMsg;
else if (jmsMsg is IBytesMessage)
bytMsg = (IBytesMessage)jmsMsg;


Thanks and Kind Regards
Shashi





dhornby5-***@public.gmane.org
Sent by: MQSeries List <MQSERIES-JX7+OpRa80QeFbOYke1v4oOpTq8/***@public.gmane.org>
27/06/2014 01:35 AM
Please respond to
MQSeries List <MQSERIES-JX7+OpRa80QeFbOYke1v4oOpTq8/***@public.gmane.org>


To
MQSERIES-JX7+OpRa80QeFbOYke1v4oOpTq8/***@public.gmane.org,
cc

Subject
What is the last "best" MQClient Version for DotNet XMS?






... every couple of years, I get a "window of time" to update all my
servers with a new version of MQClient. So this time, I wanted to upgrade
from V7.0.1.8 to V7.5.0.3 (which is same as current server version).

However, I ran into a couple of issues, (APAR IT01265 and APAR IT02110)
for which I received Ifixes.

However, now I have a new issue (ERROR: Unable to cast object of type
"IBM.XMS.Client.Impl.Xms.BytesMessageImpl" to type
"IBM.XMS.ITextMessage"), and my window is beginning to close...

So, if we cannot get a resolution, do I have to stay at V7.0.1.8, or does
anyone know a later version that might work reliably without these issues?

(BTW, V7.5.0.3 for Linux works great!)

Thanks!


List Archive - Manage Your List Settings - Unsubscribe
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com

To unsubscribe, write to LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org and,
in the message body (not the subject), write: SIGNOFF MQSERIES
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://listserv.meduniwien.ac.at/archives/mqser-l.html
d***@public.gmane.org
2014-06-27 11:59:58 UTC
Permalink
actually Shashi, ignore my last post for now, as I see there is a "copy" process involved on our test environment which is not present on our Prod environment, so first I have to test if the copy process is affecting the type of content (iBytes vs. iText), in which case I would be blaming MQ Client for no good reason - helpful to have your code snippet anyway though...

----- Original Message -----

From: dhornby5-***@public.gmane.org
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org
Sent: Friday, June 27, 2014 7:48:57 AM
Subject: Re: What is the last "best" MQClient Version for DotNet XMS?

thanks very much Shashi....

but the current version of the app has worked fine from using MQClient V7.0.1.0 up to V7.0.1.8, so I was hoping you would know what version this area of the code was changed, so I could decide which version I could upgrade to, or if there was some kind of MQ or JNDI setting that could help me avoid changing any code (as the original developers are long gone...)

----- Original Message -----

From: "Shashikanth R Thambrahalli" <shashikanth-***@public.gmane.org>
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org
Sent: Thursday, June 26, 2014 11:24:49 PM
Subject: Re: What is the last "best" MQClient Version for DotNet XMS?

This type of exception can occur if an incoming message is of type IBytesMessage and application attempts to cast it to a ITextMessage. Please check if your application is doing something like this. I have the following snippet to check the type before casting.

ITextMessage txtMsg;
IBytesMessage bytMsg;

IMessageConsumer consumer = mqSess.CreateConsumer(mqDest);
// Receive as IMessage then cast based on type
IMessage jmsMsg = consumer.Receive();

if (jmsMsg is ITextMessage )
txtMsg = ( ITextMessage )jmsMsg;
else if (jmsMsg is IBytesMessage )
bytMsg = ( IBytesMessage )jmsMsg;


Thanks and Kind Regards
Shashi




dhornby5-***@public.gmane.org
Sent by: MQSeries List <MQSERIES-JX7+OpRa80QeFbOYke1v4oOpTq8/***@public.gmane.org>

27/06/2014 01:35 AM
Please respond to
MQSeries List <MQSERIES-JX7+OpRa80QeFbOYke1v4oOpTq8/***@public.gmane.org>




To
MQSERIES-JX7+OpRa80QeFbOYke1v4oOpTq8/***@public.gmane.org,
cc

Subject
What is the last "best" MQClient Version for DotNet XMS?




... every couple of years, I get a "window of time" to update all my servers with a new version of MQClient. So this time, I wanted to upgrade from V7.0.1.8 to V7.5.0.3 (which is same as current server version).

However, I ran into a couple of issues, (APAR IT01265 and APAR IT02110) for which I received Ifixes.

However, now I have a new issue (ERROR: Unable to cast object of type "IBM.XMS.Client.Impl.Xms.BytesMessageImpl" to type "IBM.XMS.ITextMessage"), and my window is beginning to close...

So, if we cannot get a resolution, do I have to stay at V7.0.1.8, or does anyone know a later version that might work reliably without these issues?

(BTW, V7.5.0.3 for Linux works great!)

Thanks!


List Archive - Manage Your List Settings - Unsubscribe

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com




List Archive - Manage Your List Settings - Unsubscribe

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com



To unsubscribe, write to LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org and,
in the message body (not the subject), write: SIGNOFF MQSERIES
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://listserv.meduniwien.ac.at/archives/mqser-l.html
T.Rob
2014-06-27 19:13:48 UTC
Permalink
Given all the enhancements in v8 XMS, why wasn't that the target for the upgrade? You doing the "it aint Production until it hits FP1" thing?

http://iopt.us/1pXxzQB or

http://www-01.ibm.com/support/knowledgecenter/api/content/SSFKSJ_8.0.0/com.ibm.mq.msc.doc/xms_whats_new.htm





From: MQSeries List [mailto:MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org] On Behalf Of dhornby5-***@public.gmane.org
Sent: Friday, June 27, 2014 8:00 AM
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org
Subject: Re: What is the last "best" MQClient Version for DotNet XMS?



actually Shashi, ignore my last post for now, as I see there is a "copy" process involved on our test environment which is not present on our Prod environment, so first I have to test if the copy process is affecting the type of content (iBytes vs. iText), in which case I would be blaming MQ Client for no good reason - helpful to have your code snippet anyway though...



_____

From: dhornby5-***@public.gmane.org
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org
Sent: Friday, June 27, 2014 7:48:57 AM
Subject: Re: What is the last "best" MQClient Version for DotNet XMS?



thanks very much Shashi....



but the current version of the app has worked fine from using MQClient V7.0.1.0 up to V7.0.1.8, so I was hoping you would know what version this area of the code was changed, so I could decide which version I could upgrade to, or if there was some kind of MQ or JNDI setting that could help me avoid changing any code (as the original developers are long gone...)



_____

From: "Shashikanth R Thambrahalli" <shashikanth-***@public.gmane.org>
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org
Sent: Thursday, June 26, 2014 11:24:49 PM
Subject: Re: What is the last "best" MQClient Version for DotNet XMS?



This type of exception can occur if an incoming message is of type IBytesMessage and application attempts to cast it to a ITextMessage. Please check if your application is doing something like this. I have the following snippet to check the type before casting.

ITextMessage txtMsg;
IBytesMessage bytMsg;

IMessageConsumer consumer = mqSess.CreateConsumer(mqDest);
// Receive as IMessage then cast based on type
IMessage jmsMsg = consumer.Receive();

if (jmsMsg is ITextMessage)
txtMsg = (ITextMessage)jmsMsg;
else if (jmsMsg is IBytesMessage)
bytMsg = (IBytesMessage)jmsMsg;


Thanks and Kind Regards
Shashi






dhornby5-***@public.gmane.org
Sent by: MQSeries List <MQSERIES-JX7+OpRa80QeFbOYke1v4oOpTq8/***@public.gmane.org>

27/06/2014 01:35 AM


Please respond to
MQSeries List <MQSERIES-JX7+OpRa80QeFbOYke1v4oOpTq8/***@public.gmane.org>


To

MQSERIES-JX7+OpRa80QeFbOYke1v4oOpTq8/***@public.gmane.org,

cc

Subject

What is the last "best" MQClient Version for DotNet XMS?








... every couple of years, I get a "window of time" to update all my servers with a new version of MQClient. So this time, I wanted to upgrade from V7.0.1.8 to V7.5.0.3 (which is same as current server version).

However, I ran into a couple of issues, (APAR IT01265 and APAR IT02110) for which I received Ifixes.

However, now I have a new issue (ERROR: Unable to cast object of type "IBM.XMS.Client.Impl.Xms.BytesMessageImpl" to type "IBM.XMS.ITextMessage"), and my window is beginning to close...

So, if we cannot get a resolution, do I have to stay at V7.0.1.8, or does anyone know a later version that might work reliably without these issues?

(BTW, V7.5.0.3 for Linux works great!)

Thanks!




_____

List Archive <http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings <http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe <mailto:LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com <http://www.lsoft.com/resources/manuals.asp>





_____

List Archive <http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings <http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe <mailto:LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com <http://www.lsoft.com/resources/manuals.asp>







_____

List Archive <http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings <http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe <mailto:LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com <http://www.lsoft.com/resources/manuals.asp>


To unsubscribe, write to LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org and,
in the message body (not the subject), write: SIGNOFF MQSERIES
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://listserv.meduniwien.ac.at/archives/mqser-l.html
d***@public.gmane.org
2014-06-28 14:57:33 UTC
Permalink
the upgrade project started prior to the release of V8 and I don't want to have to start again... also, I have no guarantee that the XMS Client works any better in V8, given its long, famously buggy track record... Ian's reply about being on the same version as I am currently (V7.0.1.8) makes me wonder whether to stay there or use V7.5.0.3 with the Ifixes...

----- Original Message -----

From: "T.Rob" <t.rob-CkT6zf+urXSzW/GOMZKyElesiRL1/***@public.gmane.org>
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org
Sent: Friday, June 27, 2014 3:13:48 PM
Subject: Re: What is the last "best" MQClient Version for DotNet XMS?



Given all the enhancements in v8 XMS, why wasn't that the target for the upgrade? You doing the "it aint Production until it hits FP1" thing?

http://iopt.us/1pXxzQB or

http://www-01.ibm.com/support/knowledgecenter/api/content/SSFKSJ_8.0.0/com.ibm.mq.msc.doc/xms_whats_new.htm








From: MQSeries List [mailto:MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org] On Behalf Of dhornby5-***@public.gmane.org
Sent: Friday, June 27, 2014 8:00 AM
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org
Subject: Re: What is the last "best" MQClient Version for DotNet XMS?





actually Shashi, ignore my last post for now, as I see there is a "copy" process involved on our test environment which is not present on our Prod environment, so first I have to test if the copy process is affecting the type of content (iBytes vs. iText), in which case I would be blaming MQ Client for no good reason - helpful to have your code snippet anyway though...



----- Original Message -----



From: dhornby5-***@public.gmane.org
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org
Sent: Friday, June 27, 2014 7:48:57 AM
Subject: Re: What is the last "best" MQClient Version for DotNet XMS?





thanks very much Shashi....





but the current version of the app has worked fine from using MQClient V7.0.1.0 up to V7.0.1.8, so I was hoping you would know what version this area of the code was changed, so I could decide which version I could upgrade to, or if there was some kind of MQ or JNDI setting that could help me avoid changing any code (as the original developers are long gone...)



----- Original Message -----



From: "Shashikanth R Thambrahalli" < shashikanth-***@public.gmane.org >
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org
Sent: Thursday, June 26, 2014 11:24:49 PM
Subject: Re: What is the last "best" MQClient Version for DotNet XMS?





This type of exception can occur if an incoming message is of type IBytesMessage and application attempts to cast it to a ITextMessage. Please check if your application is doing something like this. I have the following snippet to check the type before casting.



ITextMessage txtMsg;
IBytesMessage bytMsg;



IMessageConsumer consumer = mqSess.CreateConsumer(mqDest);
// Receive as IMessage then cast based on type
IMessage jmsMsg = consumer.Receive();



if (jmsMsg is ITextMessage )
txtMsg = ( ITextMessage )jmsMsg;
else if (jmsMsg is IBytesMessage )
bytMsg = ( IBytesMessage )jmsMsg;




Thanks and Kind Regards
Shashi







dhornby5-***@public.gmane.org
Sent by: MQSeries List < MQSERIES-JX7+OpRa80QeFbOYke1v4oOpTq8/***@public.gmane.org >

27/06/2014 01:35 AM

Please respond to
MQSeries List < MQSERIES-JX7+OpRa80QeFbOYke1v4oOpTq8/***@public.gmane.org >

To

MQSERIES-JX7+OpRa80QeFbOYke1v4oOpTq8/***@public.gmane.org ,

cc

Subject

What is the last "best" MQClient Version for DotNet XMS?








... every couple of years, I get a "window of time" to update all my servers with a new version of MQClient. So this time, I wanted to upgrade from V7.0.1.8 to V7.5.0.3 (which is same as current server version).



However, I ran into a couple of issues, (APAR IT01265 and APAR IT02110) for which I received Ifixes.



However, now I have a new issue (ERROR: Unable to cast object of type "IBM.XMS.Client.Impl.Xms.BytesMessageImpl" to type "IBM.XMS.ITextMessage"), and my window is beginning to close...



So, if we cannot get a resolution, do I have to stay at V7.0.1.8, or does anyone know a later version that might work reliably without these issues?



(BTW, V7.5.0.3 for Linux works great!)



Thanks!





List Archive - Manage Your List Settings - Unsubscribe

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com







List Archive - Manage Your List Settings - Unsubscribe

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com












List Archive - Manage Your List Settings - Unsubscribe

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com


List Archive - Manage Your List Settings - Unsubscribe

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com


To unsubscribe, write to LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org and,
in the message body (not the subject), write: SIGNOFF MQSERIES
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://listserv.meduniwien.ac.at/archives/mqser-l.html
Peter D
2014-06-28 16:05:20 UTC
Permalink
Given 7.0.x is being retired 9/2015, and that 7.5 seems mostly bug free (and in addition any other sites running it in prod), I would future proof myself a bit with 7.5 ... Well, as long as you have the chlAuth stuff hammered out - which by the looks of your Impact prez you were ahead of the game on that stuff. Besides if you start Thinking about FTE and MQTT, well it's part of the pkg.

/Pete's 2 sense
Post by d***@public.gmane.org
the upgrade project started prior to the release of V8 and I don't want to have to start again... also, I have no guarantee that the XMS Client works any better in V8, given its long, famously buggy track record... Ian's reply about being on the same version as I am currently (V7.0.1.8) makes me wonder whether to stay there or use V7.5.0.3 with the Ifixes...
Sent: Friday, June 27, 2014 3:13:48 PM
Subject: Re: What is the last "best" MQClient Version for DotNet XMS?
Given all the enhancements in v8 XMS, why wasn't that the target for the upgrade? You doing the "it aint Production until it hits FP1" thing?
http://iopt.us/1pXxzQB or
http://www-01.ibm.com/support/knowledgecenter/api/content/SSFKSJ_8.0.0/com.ibm.mq.msc.doc/xms_whats_new.htm
Sent: Friday, June 27, 2014 8:00 AM
Subject: Re: What is the last "best" MQClient Version for DotNet XMS?
actually Shashi, ignore my last post for now, as I see there is a "copy" process involved on our test environment which is not present on our Prod environment, so first I have to test if the copy process is affecting the type of content (iBytes vs. iText), in which case I would be blaming MQ Client for no good reason - helpful to have your code snippet anyway though...
Sent: Friday, June 27, 2014 7:48:57 AM
Subject: Re: What is the last "best" MQClient Version for DotNet XMS?
thanks very much Shashi....
but the current version of the app has worked fine from using MQClient V7.0.1.0 up to V7.0.1.8, so I was hoping you would know what version this area of the code was changed, so I could decide which version I could upgrade to, or if there was some kind of MQ or JNDI setting that could help me avoid changing any code (as the original developers are long gone...)
Sent: Thursday, June 26, 2014 11:24:49 PM
Subject: Re: What is the last "best" MQClient Version for DotNet XMS?
This type of exception can occur if an incoming message is of type IBytesMessage and application attempts to cast it to a ITextMessage. Please check if your application is doing something like this. I have the following snippet to check the type before casting.
ITextMessage txtMsg;
IBytesMessage bytMsg;
IMessageConsumer consumer = mqSess.CreateConsumer(mqDest);
// Receive as IMessage then cast based on type
IMessage jmsMsg = consumer.Receive();
if (jmsMsg is ITextMessage)
txtMsg = (ITextMessage)jmsMsg;
else if (jmsMsg is IBytesMessage)
bytMsg = (IBytesMessage)jmsMsg;
Thanks and Kind Regards
Shashi
27/06/2014 01:35 AM
Please respond to
To
cc
Subject
What is the last "best" MQClient Version for DotNet XMS?
... every couple of years, I get a "window of time" to update all my servers with a new version of MQClient. So this time, I wanted to upgrade from V7.0.1.8 to V7.5.0.3 (which is same as current server version).
However, I ran into a couple of issues, (APAR IT01265 and APAR IT02110) for which I received Ifixes.
However, now I have a new issue (ERROR: Unable to cast object of type "IBM.XMS.Client.Impl.Xms.BytesMessageImpl" to type "IBM.XMS.ITextMessage"), and my window is beginning to close...
So, if we cannot get a resolution, do I have to stay at V7.0.1.8, or does anyone know a later version that might work reliably without these issues?
(BTW, V7.5.0.3 for Linux works great!)
Thanks!
List Archive - Manage Your List Settings - Unsubscribe
Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com
List Archive - Manage Your List Settings - Unsubscribe
Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com
List Archive - Manage Your List Settings - Unsubscribe
Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com
List Archive - Manage Your List Settings - Unsubscribe
Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com
List Archive - Manage Your List Settings - Unsubscribe
Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com
To unsubscribe, write to LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org and,
in the message body (not the subject), write: SIGNOFF MQSERIES
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://listserv.meduniwien.ac.at/archives/mqser-l.html
Shashikanth R Thambrahalli
2014-06-28 16:53:36 UTC
Permalink
I have to check with documentation. I believe some parts of the
documentation are yet to be refreshed.

Thanks and Kind Regards
Shashi
___________________________________
Shashikanth Rao T
WebSphere MQ Development
India Software Lab, Bengaluru
shashikanth-xthvdsQ13ZrQT0dZR+***@public.gmane.org +91-80-41925148





"T.Rob" <t.rob-CkT6zf+urXSzW/GOMZKyElesiRL1/***@public.gmane.org>
Sent by: MQSeries List <MQSERIES-JX7+OpRa80QeFbOYke1v4oOpTq8/***@public.gmane.org>
28/06/2014 12:43 AM
Please respond to
MQSeries List <MQSERIES-JX7+OpRa80QeFbOYke1v4oOpTq8/***@public.gmane.org>


To
MQSERIES-JX7+OpRa80QeFbOYke1v4oOpTq8/***@public.gmane.org,
cc

Subject
Re: What is the last "best" MQClient Version for DotNet XMS?






Given all the enhancements in v8 XMS, why wasn't that the target for the
upgrade? You doing the "it aint Production until it hits FP1" thing?
http://iopt.us/1pXxzQB or
http://www-01.ibm.com/support/knowledgecenter/api/content/SSFKSJ_8.0.0/com.ibm.mq.msc.doc/xms_whats_new.htm



From: MQSeries List [mailto:MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org] On Behalf
Of dhornby5-***@public.gmane.org
Sent: Friday, June 27, 2014 8:00 AM
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org
Subject: Re: What is the last "best" MQClient Version for DotNet XMS?

actually Shashi, ignore my last post for now, as I see there is a "copy"
process involved on our test environment which is not present on our Prod
environment, so first I have to test if the copy process is affecting the
type of content (iBytes vs. iText), in which case I would be blaming MQ
Client for no good reason - helpful to have your code snippet anyway
though...


From: dhornby5-***@public.gmane.org
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org
Sent: Friday, June 27, 2014 7:48:57 AM
Subject: Re: What is the last "best" MQClient Version for DotNet XMS?

thanks very much Shashi....

but the current version of the app has worked fine from using MQClient
V7.0.1.0 up to V7.0.1.8, so I was hoping you would know what version this
area of the code was changed, so I could decide which version I could
upgrade to, or if there was some kind of MQ or JNDI setting that could
help me avoid changing any code (as the original developers are long
gone...)


From: "Shashikanth R Thambrahalli" <shashikanth-***@public.gmane.org>
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org
Sent: Thursday, June 26, 2014 11:24:49 PM
Subject: Re: What is the last "best" MQClient Version for DotNet XMS?

This type of exception can occur if an incoming message is of type
IBytesMessage and application attempts to cast it to a ITextMessage.
Please check if your application is doing something like this. I have the
following snippet to check the type before casting.

ITextMessage txtMsg;
IBytesMessage bytMsg;

IMessageConsumer consumer = mqSess.CreateConsumer(mqDest);
// Receive as IMessage then cast based on type
IMessage jmsMsg = consumer.Receive();

if (jmsMsg is ITextMessage)
txtMsg = (ITextMessage)jmsMsg;
else if (jmsMsg is IBytesMessage)
bytMsg = (IBytesMessage)jmsMsg;


Thanks and Kind Regards
Shashi




dhornby5-***@public.gmane.org
Sent by: MQSeries List <MQSERIES-JX7+OpRa80QeFbOYke1v4oOpTq8/***@public.gmane.org>
27/06/2014 01:35 AM


Please respond to
MQSeries List <MQSERIES-JX7+OpRa80QeFbOYke1v4oOpTq8/***@public.gmane.org>



To
MQSERIES-JX7+OpRa80QeFbOYke1v4oOpTq8/***@public.gmane.org,
cc

Subject
What is the last "best" MQClient Version for DotNet XMS?









... every couple of years, I get a "window of time" to update all my
servers with a new version of MQClient. So this time, I wanted to upgrade
from V7.0.1.8 to V7.5.0.3 (which is same as current server version).

However, I ran into a couple of issues, (APAR IT01265 and APAR IT02110)
for which I received Ifixes.

However, now I have a new issue (ERROR: Unable to cast object of type
"IBM.XMS.Client.Impl.Xms.BytesMessageImpl" to type
"IBM.XMS.ITextMessage"), and my window is beginning to close...

So, if we cannot get a resolution, do I have to stay at V7.0.1.8, or does
anyone know a later version that might work reliably without these issues?


(BTW, V7.5.0.3 for Linux works great!)

Thanks!



List Archive - Manage Your List Settings - Unsubscribe
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com



List Archive - Manage Your List Settings - Unsubscribe
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com




List Archive - Manage Your List Settings - Unsubscribe
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com


List Archive - Manage Your List Settings - Unsubscribe
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com

To unsubscribe, write to LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org and,
in the message body (not the subject), write: SIGNOFF MQSERIES
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://listserv.meduniwien.ac.at/archives/mqser-l.html
d***@public.gmane.org
2014-06-27 11:48:57 UTC
Permalink
thanks very much Shashi....

but the current version of the app has worked fine from using MQClient V7.0.1.0 up to V7.0.1.8, so I was hoping you would know what version this area of the code was changed, so I could decide which version I could upgrade to, or if there was some kind of MQ or JNDI setting that could help me avoid changing any code (as the original developers are long gone...)

----- Original Message -----

From: "Shashikanth R Thambrahalli" <shashikanth-***@public.gmane.org>
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org
Sent: Thursday, June 26, 2014 11:24:49 PM
Subject: Re: What is the last "best" MQClient Version for DotNet XMS?

This type of exception can occur if an incoming message is of type IBytesMessage and application attempts to cast it to a ITextMessage. Please check if your application is doing something like this. I have the following snippet to check the type before casting.

ITextMessage txtMsg;
IBytesMessage bytMsg;

IMessageConsumer consumer = mqSess.CreateConsumer(mqDest);
// Receive as IMessage then cast based on type
IMessage jmsMsg = consumer.Receive();

if (jmsMsg is ITextMessage )
txtMsg = ( ITextMessage )jmsMsg;
else if (jmsMsg is IBytesMessage )
bytMsg = ( IBytesMessage )jmsMsg;


Thanks and Kind Regards
Shashi




dhornby5-***@public.gmane.org
Sent by: MQSeries List <MQSERIES-JX7+OpRa80QeFbOYke1v4oOpTq8/***@public.gmane.org>

27/06/2014 01:35 AM
Please respond to
MQSeries List <MQSERIES-JX7+OpRa80QeFbOYke1v4oOpTq8/***@public.gmane.org>




To
MQSERIES-JX7+OpRa80QeFbOYke1v4oOpTq8/***@public.gmane.org,
cc

Subject
What is the last "best" MQClient Version for DotNet XMS?




... every couple of years, I get a "window of time" to update all my servers with a new version of MQClient. So this time, I wanted to upgrade from V7.0.1.8 to V7.5.0.3 (which is same as current server version).

However, I ran into a couple of issues, (APAR IT01265 and APAR IT02110) for which I received Ifixes.

However, now I have a new issue (ERROR: Unable to cast object of type "IBM.XMS.Client.Impl.Xms.BytesMessageImpl" to type "IBM.XMS.ITextMessage"), and my window is beginning to close...

So, if we cannot get a resolution, do I have to stay at V7.0.1.8, or does anyone know a later version that might work reliably without these issues?

(BTW, V7.5.0.3 for Linux works great!)

Thanks!


List Archive - Manage Your List Settings - Unsubscribe

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com




List Archive - Manage Your List Settings - Unsubscribe

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com


To unsubscribe, write to LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org and,
in the message body (not the subject), write: SIGNOFF MQSERIES
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://listserv.meduniwien.ac.at/archives/mqser-l.html
Tim Zielke
2014-06-29 13:49:31 UTC
Permalink
Hi Francis,

I'm not sure if you have gone the PMR route yet, but if not, there is one other trace that you can run that could provide more details on what is happening.

If you run the following trace:

strmqtrc -m qmgr -t all -p prgmname

then a little earlier in the trace where you get the MQOPEN with the Objdesc: NULL, the trace may provide more details of why the Objdesc was NULL.

Here is an example of where I was messing around with the amqsput sample and trying to see if I could recreate the 2044 error. I was getting a 2155 instead, but I did see that the trace with the -t all option was providing more detail on why the Objdesc was NULL. In my case I was setting the od structure to only be as big a version 1 structure, and then setting the version to 2 to force MQ to go past the end of the structure. Looking at my program, this od structure is getting placed very close to the bottom of the stack. So MQ doesn't have to travel too far to access something past the stack memory region, which could cause an illegal access of memory.

Doing the trace with the -t all option could provide more details on why MQ is getting that 2044 error for your program.

Here is an example of what I see for my use case:

08:34:03.263738 29092.1 CONN:1400006 { MQOPEN
08:34:03.263764 29092.1 CONN:1400006 -{ zstMQOPEN
08:34:03.263785 29092.1 CONN:1400006 --{ zstGetPCD
08:34:03.263805 29092.1 CONN:1400006 ---{ zstVerifyPCD
08:34:03.263828 29092.1 CONN:1400006 ---} zstVerifyPCD rc=OK
08:34:03.263848 29092.1 CONN:1400006 --} zstGetPCD rc=OK
08:34:03.263869 29092.1 CONN:1400006 --{ zstCheckODAddressability
08:34:03.263919 29092.1 CONN:1400006 ---{ xcsCheckPointer
08:34:03.263937 29092.1 CONN:1400006 ---} xcsCheckPointer rc=OK
08:34:03.263951 29092.1 CONN:1400006 ---{ xcsCheckPointer
08:34:03.263966 29092.1 CONN:1400006 ---} xcsCheckPointer rc=OK
08:34:03.263981 29092.1 CONN:1400006 ---{ xcsCheckPointer
08:34:03.264042 29092.1 CONN:1400006 Synchronous Signal[11] generated in MQ code. Nesting[1] UserCode[0]
08:34:03.264080 29092.1 CONN:1400006 ---}! xcsCheckPointer rc=xecS_I_ACCESS_DENIED
08:34:03.264100 29092.1 CONN:1400006 Invalid MQOR pointer (2)
08:34:03.264115 29092.1 CONN:1400006 0x0000: 4f442020 00000002 00000001 54435a2e |OD ........TCZ.|
08:34:03.264115 29092.1 CONN:1400006 0x0010: 54455354 31000000 00000000 00000000 |TEST1...........|
08:34:03.264115 29092.1 CONN:1400006 0x0020: 00000000 00000000 00000000 00000000 |................|
08:34:03.264115 29092.1 CONN:1400006 0x0030: 00000000 00000000 00000000 00000000 |................|
08:34:03.264115 29092.1 CONN:1400006 0x0040: 00000000 00000000 00000000 00000000 |................|
08:34:03.264115 29092.1 CONN:1400006 0x0050: 00000000 00000000 00000000 00000000 |................|
08:34:03.264115 29092.1 CONN:1400006 0x0060: 00000000 00000000 00000000 00000000 |................|
08:34:03.264115 29092.1 CONN:1400006 0x0070: 00000000 00000000 00000000 00000000 |................|
08:34:03.264115 29092.1 CONN:1400006 0x0080: 00000000 00000000 00000000 00000000 |................|
08:34:03.264115 29092.1 CONN:1400006 0x0090: 00000000 00000000 00000000 00000000 |................|
08:34:03.264115 29092.1 CONN:1400006 0x00a0: 00000000 00000000 00000004 ffbff6f8 |................|
08:34:03.264115 29092.1 CONN:1400006 0x00b0: 00000005 ffbff824 00000000 00000000 |.......$........|
08:34:03.264115 29092.1 CONN:1400006 0x00c0: 00000002 ffbff6ec 00000000 00000000 |................|
08:34:03.264115 29092.1 CONN:1400006 0x00d0: 00000000 00000000 00000000 00000000 |................|
08:34:03.264115 29092.1 CONN:1400006 0x00e0: 00000000 00000000 00000000 00000000 |................|
08:34:03.264115 29092.1 CONN:1400006 0x00f0: 00000000 00000000 00000000 00000000 |................|
08:34:03.264115 29092.1 CONN:1400006 0x0100: 00000000 00000002 ffbff6ec 00000000 |................|
08:34:03.264115 29092.1 CONN:1400006 0x0110: 00000000 00000000 00000000 00000000 |................|
08:34:03.264115 29092.1 CONN:1400006 0x0120: 00000002 ffbff894 ffbff8a1 00000000 |................|
08:34:03.264115 29092.1 CONN:1400006 0x0130: ffbff8ab ffbff8bc ffbff8cf ffbff8e4 |................|
08:34:03.264115 29092.1 CONN:1400006 0x0140: ffbff8ff ffbff903 ffbff91e ffbff93a |...............:|
08:34:03.264115 29092.1 CONN:1400006 0x0150: ffbff951 ffbff966 ffbff971 ffbff980 |...Q...f...q....|
08:34:03.264115 29092.1 CONN:1400006 0x0160: ffbff991 ffbff9a6 ffbff9bb ffbff9cb |................|
08:34:03.264115 29092.1 CONN:1400006 0x0170: ffbff9e0 ffbff9fb ffbffa13 ffbffa2a |...............*|
08:34:03.264115 29092.1 CONN:1400006 0x0180: ffbffa3b ffbffa4f ffbffa61 ffbffa74 |...;...O...a...t|
08:34:03.264178 29092.1 CONN:1400006 --}! zstCheckODAddressability rc=xecS_I_ACCESS_DENIED
08:34:03.264196 29092.1 CONN:1400006 __________
08:34:03.264211 29092.1 CONN:1400006 MQOPEN >>
08:34:03.264225 29092.1 CONN:1400006 Hconn:
08:34:03.264240 29092.1 CONN:1400006 0x0000: 01400006 |***@.. |
08:34:03.264279 29092.1 CONN:1400006 Objdesc: NULL
08:34:03.264296 29092.1 CONN:1400006 Options:
08:34:03.264311 29092.1 CONN:1400006 0x0000: 00002010 |.. . |
08:34:03.264325 29092.1 CONN:1400006 Hobj : Output Parm
08:34:03.264340 29092.1 CONN:1400006 Compcode : Output Parm
08:34:03.264355 29092.1 CONN:1400006 Reason : Output Parm

Thanks,
Tim

From: Tim Zielke
Sent: Thursday, June 26, 2014 2:23 PM
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org
Subject: RE: MQ OD error - 2044 on version 7.5

Hi Francis,

Your object descriptor in the trace is being shown as NULL in the MQOPEN >> (These are the inputs that MQ is seeing in the entry to the OPEN API).

This is what it should look like when a good object descriptor was passed in:

19:48:07.518901 5603.1 CONN:1400006 MQOPEN >>
19:48:07.518920 5603.1 CONN:1400006 Hconn:
19:48:07.518938 5603.1 CONN:1400006 0x0000: 01400006 |.@<mailto:|.@>.. |
19:48:07.518957 5603.1 CONN:1400006 Objdesc:
19:48:07.518976 5603.1 CONN:1400006 0x0000: 4f442020 00000001 00000001 54435a2e |OD ........TCZ.|
19:48:07.518976 5603.1 CONN:1400006 0x0010: 54455354 31000000 00000000 00000000 |TEST1...........|
19:48:07.518976 5603.1 CONN:1400006 0x0020: 00000000 00000000 00000000 00000000 |................|
19:48:07.518976 5603.1 CONN:1400006 0x0030: 00000000 00000000 00000000 00000000 |................|
19:48:07.518976 5603.1 CONN:1400006 0x0040: 00000000 00000000 00000000 00000000 |................|
19:48:07.518976 5603.1 CONN:1400006 0x0050: 00000000 00000000 00000000 00000000 |................|
19:48:07.518976 5603.1 CONN:1400006 0x0060: 00000000 00000000 00000000 414d512e |............AMQ.|
19:48:07.518976 5603.1 CONN:1400006 0x0070: 2a000000 00000000 00000000 00000000 |*...............|
19:48:07.518976 5603.1 CONN:1400006 0x0080: 00000000 00000000 00000000 00000000 |................|
19:48:07.518976 5603.1 CONN:1400006 0x0090: 00000000 00000000 00000000 00000000 |................|
19:48:07.518976 5603.1 CONN:1400006 0x00a0: 00000000 00000000 |........ |
19:48:07.519047 5603.1 CONN:1400006 Options:
19:48:07.519067 5603.1 CONN:1400006 0x0000: 00002010 |.. . |
19:48:07.519086 5603.1 CONN:1400006 Hobj : Output Parm
19:48:07.519104 5603.1 CONN:1400006 Compcode : Output Parm
19:48:07.519122 5603.1 CONN:1400006 Reason : Output Parm

I am not sure if NULL means that the &od that was passed in was NULL, or it could not access the pointer for some reason so MQ resolves it to NULL.

If I were in your place, I would try the following next:

1. Recompile the code under 7.5 and see if it works.
2. If not, add code to print out the address of that od before it is passed into the open and see what address it is displaying.

There are ways with pmap to see if that address is valid (i.e. falls within the stack memory region or BSS memory region) and in a writeable memory region, but that gets very technical (although I don't mind showing you how, if you want).

You may want to open a PMR at this point to get IBM's help, too.

Thanks,
Tim

From: MQSeries List [mailto:MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org] On Behalf Of Awofeso, Francis
Sent: Thursday, June 26, 2014 11:59 AM
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org<mailto:MQSERIES-0lvw86wZMd9k/***@public.gmane.orgAC.AT>
Subject: Re: MQ OD error - 2044 on version 7.5

Hi Tim,

Thanks for your suggestion. I turned on the trace and re-ran the program. But I am unable to read the formatted trace file. I am attaching it with this email. Please review it and let me know if you find anything in it.

Thanks,
Francis
________________________________
From: MQSeries List [MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org] on behalf of Tim Zielke [tim.zielke-PR+tvw7B/***@public.gmane.org]
Sent: Wednesday, June 25, 2014 5:01 PM
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org<mailto:MQSERIES-0lvw86wZMd9k/***@public.gmane.orgAC.AT>
Subject: Re: MQ OD error - 2044 on version 7.5
One other debugging option is to turn on a strmqtrc api trace and see what values are now being passed in for the MQOD structure. If this is Solaris SPARC, the MH06 supportpac has an mqtrcfrmt program that will help format out all the fields of the MQOD in the before and after of the MQOPEN call, to make it more readable.

If this program is using a local bindings connection to the queue manager, trace it as:

strmqtrc -m qmgr -t api -p prgmname

If this program is using a client connection to the queue manger and the server conn channel runs on the amqrmppa process, you could do the following to trace it:

strmqtrc -m qmgr -t api -p amqrmppa

Thanks,
Tim

From: MQSeries List [mailto:MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org] On Behalf Of Neil Casey
Sent: Wednesday, June 25, 2014 4:09 PM
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org<mailto:MQSERIES-0lvw86wZMd9k/***@public.gmane.orgAC.AT>
Subject: Re: MQ OD error - 2044 on version 7.5

Hi Francis,

sorry, I misread the code in your previous post, and confused MQOO_LEU_GET with MQOD_LEU_QUEUE.

The manual indicates that 2044 can be caused when there are invalid pointers in the MQOO structure. Although MQ should not be checking these, because they are only supposed to be present when version is greater than 1, perhaps MQ v7.5 is being over zealous, and checking things that it shouldn't.

Are you able to change the code, recompile, and test again?

If so, try initialising od with

MQOD od = {MQOD_DEFAULT};

instead of using your own constant structure.

Of course, if you use the MQ v7.5 includes and libraries in the compile, then you are changing a lot more than just this initialisation, so if they are available, you should compile using v5.3 files.


Regards,

Neil




On 26 Jun 2014, at 6:30 am, Awofeso, Francis <francis.awofeso-***@public.gmane.org<mailto:francis.awofeso-***@public.gmane.org>> wrote:

Thanks for your response Neil.

The "options" field has in fact been defined as an MQLONG.

Here is how we setup the "options" field:
#define MQOO_LEU_GET MQOO_INPUT_SHARED|MQOO_FAIL_IF_QUIESCING|MQOO_SAVE_ALL_CONTEXT

MQLONG options; /* default Open/Close options */
MQOD od = {MQOD_LEU_QUEUE}; /* Object Descriptor */
MQMD md = {MQMD_LEU_DEFAULT}; /* Message Descriptor */
MQGMO gmo = {MQGMO_LEU_DEFAULT}; /* get message options */
MQHCONN Hconn; /* connection handle */
MQHOBJ Hobj; /* object handle */
MQLONG CompCode; /* completion code */
MQLONG Reason; /* reason code */

sprintf( c_message, "Open the queue" );
options = MQOO_LEU_GET;
strncpy(od.ObjectName, DefaultQueueName, MQ_Q_NAME_LENGTH);
status = leu_mq_open(Hconn, &od, options, &Hobj, &CompCode, &Reason);
if ( status == MQCC_FAILED ) goto error_exit;


Please let me know if you need to see anything else in order to resolve this problem.

Thanks,
Francis


________________________________
From: MQSeries List [MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>] on behalf of Neil Casey [neil.casey-+3WXQJpgcXSy/dcwJAY4+***@public.gmane.org.AU<mailto:neil.casey-+***@public.gmane.org>]
Sent: Monday, June 23, 2014 5:47 PM
To: MQSERIES-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org<mailto:MQSERIES-0lvw86wZMd9k/***@public.gmane.orgAC.AT>
Subject: Re: MQ OD error - 2044 on version 7.5
Hello,

I suspect it previously worked because of poor parameter value checking in v5.3. V7.5 is correctly detecting the invalid call and rejecting it.

The options field is supposed to be an MQLONG, not an MQOD structure.

You are setting options to a #DEFINE of a structure, and I have no idea what will show up there.

You then set the queue name in the MQOD structure, but you haven't initialised it first, so it probably doesn't contain the correct eye-catcher, version or object type values.

You should instead be setting od to the initialisation structure, and the options value should be set to some combination of constants the show what open options are needed. Something like "options=MQOO_INPUT_SHARED|MQOO_INQUIRE|MQOO_OUTPUT"


Neil


--
Neil Casey
Senior Consultant | Syntegrity Solutions

<mobile.vsmall.jpg> +61 414 615 334<tel:+61%20414%20615%20334><email.vsmall.jpg> neil.casey-VLLIzlmz+***@public.gmane.org <mailto:neil.casey-VLLIzlmz+***@public.gmane.org>
Syntegrity Solutions Pty Ltd<http://www.syntegrity.com.au/> | Level 23 | 40 City Road | Southgate | VIC 3006
Analyse >> Integrate >> Secure >> Educate


On 24 Jun 2014, at 7:51 am, Awofeso, Francis <francis.awofeso-***@public.gmane.org<mailto:francis.awofeso-***@public.gmane.org>> wrote:


Any idea to resolving this issue will be greatly appreciated

We upgraded from Sun Solaris 10 & MQ 5.3 to Sun Solaris 11 & MQ 7.5. It used to work fine in the old configuration but now...

We are receiving MQ Error 2044 during the "mqopen":

======== P R O * C C O D E ============
sprintf( c_message, "Open the queue" );
options = MQOO_LEU_GET;
strncpy(od.ObjectName, DefaultQueueName, MQ_Q_NAME_LENGTH);
status = leu_mq_open(Hconn, &od, options, &Hobj, &CompCode, &Reason);
if ( status == MQCC_FAILED ) goto error_exit;
===================================

======== T R A C E F I L E =============
2014-06-23-13.58.07 /home/mqm/wmispay MQSUNQ TK.PAYROLLSECTION WMISPAY Connect to MQ
2014-06-23-13.58.07 /home/mqm/wmispay MQSUNQ TK.PAYROLLSECTION WMISPAY Connect to the database
2014-06-23-13.58.07 /home/mqm/wmispay MQSUNQ TK.PAYROLLSECTION LEU_MQ_OPEN MQCC_FAILED: 2044
2014-06-23-13.58.07 /home/mqm/wmispay MQSUNQ TK.PAYROLLSECTION WMISPAY Open the queue


Here is the OD Definition setup:
/****************************************************************
* Object Descriptor default *
* The default for the ObjDesc parameter in the MQOPEN call *
****************************************************************/
#define MQOD_LEU_QUEUE {MQOD_STRUC_ID_ARRAY},\
MQOD_VERSION_1,\
MQOT_Q,\
{""},\
{""},\
{""},\
{""}

Thanks
Francis Awofeso

________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>


________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>


________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

To unsubscribe, write to LISTSERV-0lvw86wZMd9k/bWDasg6f+***@public.gmane.org and,
in the message body (not the subject), write: SIGNOFF MQSERIES
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://listserv.meduniwien.ac.at/archives/mqser-l.html

Ian Alderson
2014-06-26 07:53:31 UTC
Permalink
Tim,
Your insights and tips for unix internals never ceases to inform! Have you ever considered writing a blog? ☺

Ian




Ian Alderson
MQ Technical Architect

[cid:***@a292ba1a.4b893b72]

DL 0203 003 3055


________________________________
Ignis Asset Management
Fixed Income | Equities | Real Estate | Advisors | Solutions
150 Cheapside | London | EC2V 6ET

http://www.ignisasset.com
http://twitter.com/IgnisAM
http://www.linkedin.com/companies/ignis-asset-management

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Tim Zielke
Sent: Thursday, June 26, 2014 3:00 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT
Subject: Re: MQ OD error - 2044 on version 7.5

One other thought is you could inspect your executable and find the existing OD structure and see what the StrucId (4 bytes) and Version (4 bytes) is currently set to.

Here is one way to do this. Let’s say your program name is wmispay.

First display its contents with an octal dump with character conversion:

cat wmispay | od –c > od_c.out

Now edit the file (i.e. with vi) and search for the eye-catcher “O D”, which is the start of the MQOD structure.

When I do this with the amqsput sample, I see it here:

0010540 O D \0 \0 \0 001 \0 \0 \0 001 \0 \0 \0 \0

Note the offset is x’0010540’. Now display the contents of the executable but with a octal dump in hex:

cat wmispay | od –x > od_h.out

Edit the file and find the offset 0010540. This is what I see at that offset for the amqsput sample:

0010540 4f44 2020 0000 0001 0000 0001 0000 0000

You can see that the first 4 bytes are the StrucId of “OD “ in ASCII (last 2 bytes being spaces) and the next 4 bytes are the Version x’00000001’ which is 1 in big-endian (SPARC is a big-endian processor).

My thought here is inspect if your StrucId is “OD” followed by two spaces and if your Version is 1 (with the correct endianness). If you are able to find this in the executable and send it (also let me know if this is an x86 or SPARC Solaris server), I can visually inspect if it looks valid.

Thanks,
Tim


From: Tim Zielke
Sent: Wednesday, June 25, 2014 5:02 PM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: RE: MQ OD error - 2044 on version 7.5

One other debugging option is to turn on a strmqtrc api trace and see what values are now being passed in for the MQOD structure. If this is Solaris SPARC, the MH06 supportpac has an mqtrcfrmt program that will help format out all the fields of the MQOD in the before and after of the MQOPEN call, to make it more readable.

If this program is using a local bindings connection to the queue manager, trace it as:

strmqtrc –m qmgr –t api –p prgmname

If this program is using a client connection to the queue manger and the server conn channel runs on the amqrmppa process, you could do the following to trace it:

strmqtrc –m qmgr –t api –p amqrmppa

Thanks,
Tim

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Neil Casey
Sent: Wednesday, June 25, 2014 4:09 PM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: MQ OD error - 2044 on version 7.5

Hi Francis,

sorry, I misread the code in your previous post, and confused MQOO_LEU_GET with MQOD_LEU_QUEUE.

The manual indicates that 2044 can be caused when there are invalid pointers in the MQOO structure. Although MQ should not be checking these, because they are only supposed to be present when version is greater than 1, perhaps MQ v7.5 is being over zealous, and checking things that it shouldn’t.

Are you able to change the code, recompile, and test again?

If so, try initialising od with

MQOD od = {MQOD_DEFAULT};

instead of using your own constant structure.

Of course, if you use the MQ v7.5 includes and libraries in the compile, then you are changing a lot more than just this initialisation, so if they are available, you should compile using v5.3 files.


Regards,

Neil




On 26 Jun 2014, at 6:30 am, Awofeso, Francis <***@CGI.COM<mailto:***@CGI.COM>> wrote:

Thanks for your response Neil.

The "options" field has in fact been defined as an MQLONG.

Here is how we setup the "options" field:
#define MQOO_LEU_GET MQOO_INPUT_SHARED|MQOO_FAIL_IF_QUIESCING|MQOO_SAVE_ALL_CONTEXT

MQLONG options; /* default Open/Close options */
MQOD od = {MQOD_LEU_QUEUE}; /* Object Descriptor */
MQMD md = {MQMD_LEU_DEFAULT}; /* Message Descriptor */
MQGMO gmo = {MQGMO_LEU_DEFAULT}; /* get message options */
MQHCONN Hconn; /* connection handle */
MQHOBJ Hobj; /* object handle */
MQLONG CompCode; /* completion code */
MQLONG Reason; /* reason code */

sprintf( c_message, "Open the queue" );
options = MQOO_LEU_GET;
strncpy(od.ObjectName, DefaultQueueName, MQ_Q_NAME_LENGTH);
status = leu_mq_open(Hconn, &od, options, &Hobj, &CompCode, &Reason);
if ( status == MQCC_FAILED ) goto error_exit;


Please let me know if you need to see anything else in order to resolve this problem.

Thanks,
Francis


________________________________
From: MQSeries List [***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>] on behalf of Neil Casey [***@SYNTEGRITY.COM.AU<mailto:***@SYNTEGRITY.COM.AU>]
Sent: Monday, June 23, 2014 5:47 PM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: MQ OD error - 2044 on version 7.5
Hello,

I suspect it previously worked because of poor parameter value checking in v5.3. V7.5 is correctly detecting the invalid call and rejecting it.

The options field is supposed to be an MQLONG, not an MQOD structure.

You are setting options to a #DEFINE of a structure, and I have no idea what will show up there.

You then set the queue name in the MQOD structure, but you haven’t initialised it first, so it probably doesn’t contain the correct eye-catcher, version or object type values.

You should instead be setting od to the initialisation structure, and the options value should be set to some combination of constants the show what open options are needed. Something like “options=MQOO_INPUT_SHARED|MQOO_INQUIRE|MQOO_OUTPUT"


Neil
--
Neil Casey
Senior Consultant | Syntegrity Solutions

<mobile.vsmall.jpg> +61 414 615 334<tel:+61%20414%20615%20334><email.vsmall.jpg> ***@syntegrity.com.au <mailto:***@syntegrity.com.au>
Syntegrity Solutions Pty Ltd<http://www.syntegrity.com.au/> | Level 23 | 40 City Road | Southgate | VIC 3006
Analyse >> Integrate >> Secure >> Educate


On 24 Jun 2014, at 7:51 am, Awofeso, Francis <***@CGI.COM<mailto:***@CGI.COM>> wrote:


Any idea to resolving this issue will be greatly appreciated

We upgraded from Sun Solaris 10 & MQ 5.3 to Sun Solaris 11 & MQ 7.5. It used to work fine in the old configuration but now


We are receiving MQ Error 2044 during the “mqopen”:

======== P R O * C C O D E ============
sprintf( c_message, "Open the queue" );
options = MQOO_LEU_GET;
strncpy(od.ObjectName, DefaultQueueName, MQ_Q_NAME_LENGTH);
status = leu_mq_open(Hconn, &od, options, &Hobj, &CompCode, &Reason);
if ( status == MQCC_FAILED ) goto error_exit;
===================================

======== T R A C E F I L E =============
2014-06-23-13.58.07 /home/mqm/wmispay MQSUNQ TK.PAYROLLSECTION WMISPAY Connect to MQ
2014-06-23-13.58.07 /home/mqm/wmispay MQSUNQ TK.PAYROLLSECTION WMISPAY Connect to the database
2014-06-23-13.58.07 /home/mqm/wmispay MQSUNQ TK.PAYROLLSECTION LEU_MQ_OPEN MQCC_FAILED: 2044
2014-06-23-13.58.07 /home/mqm/wmispay MQSUNQ TK.PAYROLLSECTION WMISPAY Open the queue


Here is the OD Definition setup:
/****************************************************************
* Object Descriptor default *
* The default for the ObjDesc parameter in the MQOPEN call *
****************************************************************/
#define MQOD_LEU_QUEUE {MQOD_STRUC_ID_ARRAY},\
MQOD_VERSION_1,\
MQOT_Q,\
{""},\
{""},\
{""},\
{""}

Thanks
Francis Awofeso

________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>


________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>


________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>


**************************************************************
The information contained in this email (including any attachments transmitted within it) is confidential and is intended solely for the use of the named person.
The unauthorised access, copying or re-use of the information in it by any other person is strictly forbidden.
If you are not the intended recipient please notify us immediately by return email to ***@ignisasset.com.

Internet communication is not guaranteed to be timely, secure, error or virus free. We accept no liability for any harm to systems or data, nor for personal emails. Emails may be recalled, deleted and monitored.

Ignis Asset Management is the trading name of the Ignis Asset Management Limited group of companies which includes the following subsidiaries:
Ignis Asset Management Limited (Registered in Scotland No. SC200801), Ignis Investment Services Limited* (Registered in Scotland No. SC101825)
Ignis Fund Managers Limited* (Registered in Scotland No. SC85610) Scottish Mutual Investment Managers Limited* (Registered in Scotland No. SC88674)
Registered Office: 50 Bothwell Street, Glasgow, G2 6HR, Tel: 0141-222-8000 and Scottish Mutual PEP & ISA Managers Limited* (Registered in England No. 971504)
Registered Office: 1 Wythall Green Way, Wythall, Birmingham B47 6WG and Ignis Investment Management Limited (Registered in England No. 5809046)
Registered Office: 150 Cheapside, London, EC2V 6ET Tel: 020 3003 3000. Scottish Mutual is a registered trade mark of Scottish Mutual Assurance Limited

*Authorised and regulated by the Financial Conduct Authority.

**************************************************************


To unsubscribe, write to ***@LISTSERV.MEDUNIWIEN.AC.AT and,
in the message body (not the subject), write: SIGNOFF MQSERIES
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://listserv.meduniwien.ac.at/archives/mqser-l.html
Tim Zielke
2014-06-26 12:55:31 UTC
Permalink
Hi Ian,

Thanks for the kind words!

I don’t think the internet is ready yet for me as a blogger. :-)

Thanks,
Tim

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Ian Alderson
Sent: Thursday, June 26, 2014 2:54 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT
Subject: Re: MQ OD error - 2044 on version 7.5

Tim,
Your insights and tips for unix internals never ceases to inform! Have you ever considered writing a blog? ☺

Ian




Ian Alderson
MQ Technical Architect

[cid:***@01CF9113.FE1CA510]
DL 0203 003 3055




________________________________
Ignis Asset Management
Fixed Income | Equities | Real Estate | Advisors | Solutions
150 Cheapside | London | EC2V 6ET

http://www.ignisasset.com
http://twitter.com/IgnisAM
http://www.linkedin.com/companies/ignis-asset-management


From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Tim Zielke
Sent: Thursday, June 26, 2014 3:00 AM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: MQ OD error - 2044 on version 7.5

One other thought is you could inspect your executable and find the existing OD structure and see what the StrucId (4 bytes) and Version (4 bytes) is currently set to.

Here is one way to do this. Let’s say your program name is wmispay.

First display its contents with an octal dump with character conversion:

cat wmispay | od –c > od_c.out

Now edit the file (i.e. with vi) and search for the eye-catcher “O D”, which is the start of the MQOD structure.

When I do this with the amqsput sample, I see it here:

0010540 O D \0 \0 \0 001 \0 \0 \0 001 \0 \0 \0 \0

Note the offset is x’0010540’. Now display the contents of the executable but with a octal dump in hex:

cat wmispay | od –x > od_h.out

Edit the file and find the offset 0010540. This is what I see at that offset for the amqsput sample:

0010540 4f44 2020 0000 0001 0000 0001 0000 0000

You can see that the first 4 bytes are the StrucId of “OD “ in ASCII (last 2 bytes being spaces) and the next 4 bytes are the Version x’00000001’ which is 1 in big-endian (SPARC is a big-endian processor).

My thought here is inspect if your StrucId is “OD” followed by two spaces and if your Version is 1 (with the correct endianness). If you are able to find this in the executable and send it (also let me know if this is an x86 or SPARC Solaris server), I can visually inspect if it looks valid.

Thanks,
Tim


From: Tim Zielke
Sent: Wednesday, June 25, 2014 5:02 PM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: RE: MQ OD error - 2044 on version 7.5

One other debugging option is to turn on a strmqtrc api trace and see what values are now being passed in for the MQOD structure. If this is Solaris SPARC, the MH06 supportpac has an mqtrcfrmt program that will help format out all the fields of the MQOD in the before and after of the MQOPEN call, to make it more readable.

If this program is using a local bindings connection to the queue manager, trace it as:

strmqtrc –m qmgr –t api –p prgmname

If this program is using a client connection to the queue manger and the server conn channel runs on the amqrmppa process, you could do the following to trace it:

strmqtrc –m qmgr –t api –p amqrmppa

Thanks,
Tim

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of Neil Casey
Sent: Wednesday, June 25, 2014 4:09 PM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: MQ OD error - 2044 on version 7.5

Hi Francis,

sorry, I misread the code in your previous post, and confused MQOO_LEU_GET with MQOD_LEU_QUEUE.

The manual indicates that 2044 can be caused when there are invalid pointers in the MQOO structure. Although MQ should not be checking these, because they are only supposed to be present when version is greater than 1, perhaps MQ v7.5 is being over zealous, and checking things that it shouldn’t.

Are you able to change the code, recompile, and test again?

If so, try initialising od with

MQOD od = {MQOD_DEFAULT};

instead of using your own constant structure.

Of course, if you use the MQ v7.5 includes and libraries in the compile, then you are changing a lot more than just this initialisation, so if they are available, you should compile using v5.3 files.


Regards,

Neil




On 26 Jun 2014, at 6:30 am, Awofeso, Francis <***@CGI.COM<mailto:***@CGI.COM>> wrote:

Thanks for your response Neil.

The "options" field has in fact been defined as an MQLONG.

Here is how we setup the "options" field:
#define MQOO_LEU_GET MQOO_INPUT_SHARED|MQOO_FAIL_IF_QUIESCING|MQOO_SAVE_ALL_CONTEXT

MQLONG options; /* default Open/Close options */
MQOD od = {MQOD_LEU_QUEUE}; /* Object Descriptor */
MQMD md = {MQMD_LEU_DEFAULT}; /* Message Descriptor */
MQGMO gmo = {MQGMO_LEU_DEFAULT}; /* get message options */
MQHCONN Hconn; /* connection handle */
MQHOBJ Hobj; /* object handle */
MQLONG CompCode; /* completion code */
MQLONG Reason; /* reason code */

sprintf( c_message, "Open the queue" );
options = MQOO_LEU_GET;
strncpy(od.ObjectName, DefaultQueueName, MQ_Q_NAME_LENGTH);
status = leu_mq_open(Hconn, &od, options, &Hobj, &CompCode, &Reason);
if ( status == MQCC_FAILED ) goto error_exit;


Please let me know if you need to see anything else in order to resolve this problem.

Thanks,
Francis


________________________________
From: MQSeries List [***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>] on behalf of Neil Casey [***@SYNTEGRITY.COM.AU<mailto:***@SYNTEGRITY.COM.AU>]
Sent: Monday, June 23, 2014 5:47 PM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Subject: Re: MQ OD error - 2044 on version 7.5
Hello,

I suspect it previously worked because of poor parameter value checking in v5.3. V7.5 is correctly detecting the invalid call and rejecting it.

The options field is supposed to be an MQLONG, not an MQOD structure.

You are setting options to a #DEFINE of a structure, and I have no idea what will show up there.

You then set the queue name in the MQOD structure, but you haven’t initialised it first, so it probably doesn’t contain the correct eye-catcher, version or object type values.

You should instead be setting od to the initialisation structure, and the options value should be set to some combination of constants the show what open options are needed. Something like “options=MQOO_INPUT_SHARED|MQOO_INQUIRE|MQOO_OUTPUT"


Neil
--
Neil Casey
Senior Consultant | Syntegrity Solutions

<mobile.vsmall.jpg> +61 414 615 334<tel:+61%20414%20615%20334><email.vsmall.jpg> ***@syntegrity.com.au <mailto:***@syntegrity.com.au>
Syntegrity Solutions Pty Ltd<http://www.syntegrity.com.au/> | Level 23 | 40 City Road | Southgate | VIC 3006
Analyse >> Integrate >> Secure >> Educate


On 24 Jun 2014, at 7:51 am, Awofeso, Francis <***@CGI.COM<mailto:***@CGI.COM>> wrote:


Any idea to resolving this issue will be greatly appreciated

We upgraded from Sun Solaris 10 & MQ 5.3 to Sun Solaris 11 & MQ 7.5. It used to work fine in the old configuration but now


We are receiving MQ Error 2044 during the “mqopen”:

======== P R O * C C O D E ============
sprintf( c_message, "Open the queue" );
options = MQOO_LEU_GET;
strncpy(od.ObjectName, DefaultQueueName, MQ_Q_NAME_LENGTH);
status = leu_mq_open(Hconn, &od, options, &Hobj, &CompCode, &Reason);
if ( status == MQCC_FAILED ) goto error_exit;
===================================

======== T R A C E F I L E =============
2014-06-23-13.58.07 /home/mqm/wmispay MQSUNQ TK.PAYROLLSECTION WMISPAY Connect to MQ
2014-06-23-13.58.07 /home/mqm/wmispay MQSUNQ TK.PAYROLLSECTION WMISPAY Connect to the database
2014-06-23-13.58.07 /home/mqm/wmispay MQSUNQ TK.PAYROLLSECTION LEU_MQ_OPEN MQCC_FAILED: 2044
2014-06-23-13.58.07 /home/mqm/wmispay MQSUNQ TK.PAYROLLSECTION WMISPAY Open the queue


Here is the OD Definition setup:
/****************************************************************
* Object Descriptor default *
* The default for the ObjDesc parameter in the MQOPEN call *
****************************************************************/
#define MQOD_LEU_QUEUE {MQOD_STRUC_ID_ARRAY},\
MQOD_VERSION_1,\
MQOT_Q,\
{""},\
{""},\
{""},\
{""}

Thanks
Francis Awofeso

________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>


________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>


________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>


**************************************************************
The information contained in this email (including any attachments transmitted within it) is confidential and is intended solely for the use of the named person.
The unauthorised access, copying or re-use of the information in it by any other person is strictly forbidden.
If you are not the intended recipient please notify us immediately by return email to ***@ignisasset.com<mailto:***@ignisasset.com>.

Internet communication is not guaranteed to be timely, secure, error or virus free. We accept no liability for any harm to systems or data, nor for personal emails. Emails may be recalled, deleted and monitored.

Ignis Asset Management is the trading name of the Ignis Asset Management Limited group of companies which includes the following subsidiaries:
Ignis Asset Management Limited (Registered in Scotland No. SC200801), Ignis Investment Services Limited* (Registered in Scotland No. SC101825)
Ignis Fund Managers Limited* (Registered in Scotland No. SC85610) Scottish Mutual Investment Managers Limited* (Registered in Scotland No. SC88674)
Registered Office: 50 Bothwell Street, Glasgow, G2 6HR, Tel: 0141-222-8000 and Scottish Mutual PEP & ISA Managers Limited* (Registered in England No. 971504)
Registered Office: 1 Wythall Green Way, Wythall, Birmingham B47 6WG and Ignis Investment Management Limited (Registered in England No. 5809046)
Registered Office: 150 Cheapside, London, EC2V 6ET Tel: 020 3003 3000. Scottish Mutual is a registered trade mark of Scottish Mutual Assurance Limited

*Authorised and regulated by the Financial Conduct Authority.

**************************************************************

________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>

To unsubscribe, write to ***@LISTSERV.MEDUNIWIEN.AC.AT and,
in the message body (not the subject), write: SIGNOFF MQSERIES
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://listserv.meduniwien.ac.at/archives/mqser-l.html
Ian Alderson
2014-06-27 13:33:48 UTC
Permalink
It’s possible that IBM have tightened up the code for XMS with their later version, and previous “bugs” may be exposed. It may help to try to isolate it to the later version of XMS classes, and so you could try running your app against the original version of XMS. We currently run MQ 7.0.1.8 with XMS 2.0.0.8. I’m not sure what the latest version is that will be shipped with 7.5.

Not saying that XMS 2.0.0.8 would be supported/work with MQ 7.5, but this link gives some hope of backwards compatibility.
http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_7.5.0/com.ibm.mq.msc.doc/xms_tdisablecoexist.html?lang=en

Depending on your results I would also open a PMR to clarify any intra XMS / MQ version support.






Ian Alderson
MQ Technical Architect

[cid:***@1dec56e9.46b639fb]

DL 0203 003 3055


________________________________
Ignis Asset Management
Fixed Income | Equities | Real Estate | Advisors | Solutions
150 Cheapside | London | EC2V 6ET

http://www.ignisasset.com
http://twitter.com/IgnisAM
http://www.linkedin.com/companies/ignis-asset-management

From: MQSeries List [mailto:***@LISTSERV.MEDUNIWIEN.AC.AT] On Behalf Of ***@COMCAST.NET
Sent: Friday, June 27, 2014 12:49 PM
To: ***@LISTSERV.MEDUNIWIEN.AC.AT
Subject: Re: What is the last "best" MQClient Version for DotNet XMS?

thanks very much Shashi....

but the current version of the app has worked fine from using MQClient V7.0.1.0 up to V7.0.1.8, so I was hoping you would know what version this area of the code was changed, so I could decide which version I could upgrade to, or if there was some kind of MQ or JNDI setting that could help me avoid changing any code (as the original developers are long gone...)

________________________________
From: "Shashikanth R Thambrahalli" <***@IN.IBM.COM<mailto:***@IN.IBM.COM>>
To: ***@LISTSERV.MEDUNIWIEN.AC.AT<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT>
Sent: Thursday, June 26, 2014 11:24:49 PM
Subject: Re: What is the last "best" MQClient Version for DotNet XMS?

This type of exception can occur if an incoming message is of type IBytesMessage and application attempts to cast it to a ITextMessage. Please check if your application is doing something like this. I have the following snippet to check the type before casting.

ITextMessage txtMsg;
IBytesMessage bytMsg;

IMessageConsumer consumer = mqSess.CreateConsumer(mqDest);
// Receive as IMessage then cast based on type
IMessage jmsMsg = consumer.Receive();

if (jmsMsg is ITextMessage)
txtMsg = (ITextMessage)jmsMsg;
else if (jmsMsg is IBytesMessage)
bytMsg = (IBytesMessage)jmsMsg;


Thanks and Kind Regards
Shashi



***@COMCAST.NET<mailto:***@COMCAST.NET>
Sent by: MQSeries List <***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>>

27/06/2014 01:35 AM
Please respond to
MQSeries List <***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>>


To

***@listserv.meduniwien.ac.at<mailto:***@listserv.meduniwien.ac.at>,

cc

Subject

What is the last "best" MQClient Version for DotNet XMS?







... every couple of years, I get a "window of time" to update all my servers with a new version of MQClient. So this time, I wanted to upgrade from V7.0.1.8 to V7.5.0.3 (which is same as current server version).

However, I ran into a couple of issues, (APAR IT01265 and APAR IT02110) for which I received Ifixes.

However, now I have a new issue (ERROR: Unable to cast object of type "IBM.XMS.Client.Impl.Xms.BytesMessageImpl" to type "IBM.XMS.ITextMessage"), and my window is beginning to close...

So, if we cannot get a resolution, do I have to stay at V7.0.1.8, or does anyone know a later version that might work reliably without these issues?

(BTW, V7.5.0.3 for Linux works great!)

Thanks!


________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>



________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>


________________________________
List Archive<http://listserv.meduniwien.ac.at/archives/mqser-l.html> - Manage Your List Settings<http://listserv.meduniwien.ac.at/cgi-bin/wa?SUBED1=mqser-l&A=1> - Unsubscribe<mailto:***@LISTSERV.MEDUNIWIEN.AC.AT?subject=Unsubscribe&BODY=signoff%20mqseries>

Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com<http://www.lsoft.com/resources/manuals.asp>


**************************************************************
The information contained in this email (including any attachments transmitted within it) is confidential and is intended solely for the use of the named person.
The unauthorised access, copying or re-use of the information in it by any other person is strictly forbidden.
If you are not the intended recipient please notify us immediately by return email to ***@ignisasset.com.

Internet communication is not guaranteed to be timely, secure, error or virus free. We accept no liability for any harm to systems or data, nor for personal emails. Emails may be recalled, deleted and monitored.

Ignis Asset Management is the trading name of the Ignis Asset Management Limited group of companies which includes the following subsidiaries:
Ignis Asset Management Limited (Registered in Scotland No. SC200801), Ignis Investment Services Limited* (Registered in Scotland No. SC101825)
Ignis Fund Managers Limited* (Registered in Scotland No. SC85610) Scottish Mutual Investment Managers Limited* (Registered in Scotland No. SC88674)
Registered Office: 50 Bothwell Street, Glasgow, G2 6HR, Tel: 0141-222-8000 and Scottish Mutual PEP & ISA Managers Limited* (Registered in England No. 971504)
Registered Office: 1 Wythall Green Way, Wythall, Birmingham B47 6WG and Ignis Investment Management Limited (Registered in England No. 5809046)
Registered Office: 150 Cheapside, London, EC2V 6ET Tel: 020 3003 3000. Scottish Mutual is a registered trade mark of Scottish Mutual Assurance Limited

*Authorised and regulated by the Financial Conduct Authority.

**************************************************************


To unsubscribe, write to ***@LISTSERV.MEDUNIWIEN.AC.AT and,
in the message body (not the subject), write: SIGNOFF MQSERIES
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://listserv.meduniwien.ac.at/archives/mqser-l.html
Loading...