Comment 7 for bug 971600

Revision history for this message
Jonas Nilsson (jonas-olov-nilsson) wrote :

I ran in to the same bug: MQGMO wrong size. Given: 112, expected 108

Traceback: Traceback (most recent call last):
  File "pyMQService.py", line 177, in mq_get
    message = get_queue.get(None, mq_md, mq_gmo)
  File "E:\SYSAPP\Program Files\Python26\lib\site-packages\pymqi.py", line 1592, in get
    mDesc.pack(), getOpts.pack(), length)
error: MQGMO wrong size. Given: 112, expected 108

But only for the Windows 64-bit version and not with the Windows 32-bit. The tests are done on the same HP machine: Windows Server 2008 R2 Enterprise. Service Pack 1. 64-bit OS Intel Xeon CPU E5620@2.40GHz (2processors)

The error/bug appears when I'm using:

WebSphere MQ version is [7.0.1.6].
C:\>dspmqver
Name: WebSphere MQ
Version: 7.0.1.6
CMVC level: p701-106-110725
BuildType: IKAP - (Production)

Python 2.6.6 (r266:84297, Aug 24 2010, 18:13:38) [MSC v.1500 64 bit (AMD64)] on win32

pymqi-1.2.win-amd64-py2.6-mq-7.0-client.exe
Version: 1.2
Built Tue Mar 15 00:47:09 2011 with distutils-2.6.6

However, when I use the following set up everything works fine:

WebSphere MQ version is [7.0.1.6]. (The same MQ!)
Python 2.6.6 (r266:84297, Aug 24 2010, 18:46:32) [MSC v.1500 32 bit (Intel)] on win32
pymqi-1.2.win32-py2.6-mq-7.0-client.exe
Version 1.2
Built Sat Apr 09 11:09:47 2011 with distutils-2.6.6

The Python code goes something like...

cd = pymqi.CD()
cd.ChannelName = channel
cd.ConnectionName = conn_info
cd.ChannelType = CMQC.MQCHT_CLNTCONN
cd.TransportType = CMQC.MQXPT_TCP
cd.SSLCipherSpec = "TLS_RSA_WITH_AES_256_CBC_SHA"

sco = pymqi.SCO()
sco.KeyRepository = ssl_key_location

qmgr = pymqi.QueueManager(None)
qmgr.connect_with_options(queue_manager, cd, sco)

mq_md = pymqi.md()

mq_gmo = pymqi.gmo( Options = CMQC.MQGMO_BROWSE_NEXT )
mq_gmo.WaitInterval = CMQC.MQWI_UNLIMITED

get_queue = pymqi.Queue(qmgr)
get_queue.open(queue_name_get, CMQC.MQOO_BROWSE)

message = get_queue.get(None, mq_md, mq_gmo)

Unfortunately I cannot change the MQ installation or upgrade the Python version to 2.7. So the workaround for me is to use the 32-bit version of Python and PyMQI.

Unless you have some other solution for the 64-bit version of PyMQI.

Many thanks,

Jonas