ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » General IBM MQ Support » Getting MQRC_CONNECTION_BROKEN on MQGET when CTRL-C hit?

Post new topic  Reply to topic
 Getting MQRC_CONNECTION_BROKEN on MQGET when CTRL-C hit? « View previous topic :: View next topic » 
Author Message
lyntongrice
PostPosted: Thu Nov 10, 2011 9:10 am    Post subject: Getting MQRC_CONNECTION_BROKEN on MQGET when CTRL-C hit? Reply with quote

Acolyte

Joined: 26 Sep 2010
Posts: 70

Hi there,

I have a C application running on AIX 6.1 using Websphere MQ 6.0.2.4.

The high level of the application is:

- Main C application spawns a seperate THREAD that does the LOOP to get message off the queue.
- When CTRL-C is hit I have a shutdown hook that elegantly sets a "thread running variable" to FALSE and the thread ends.

Some of my basic GET options are:
Code:

gmo.Options = MQGMO_WAIT | MQGMO_SYNCPOINT | MQGMO_FAIL_IF_QUIESCING | MQGMO_CONVERT;
    gmo.WaitInterval = 5000; //5 seconds


I am running the MQserver C LIBS....and am running under syncpoint with commit / rollback etc....

The problem is whenever I hit CTRL-C I get the following reason code back:

2009 - MQRC_CONNECTION_BROKEN

And the MQGET obviously FAILS which is fine.....BUT The issue is that it generates an FDC in the /var/mqm/errors folder and this alerts the admins etc....

I have tried everything and do not know a nice way around this....

Here is some of the FDC.....perhaps you have an idea how I can solve this? Any help will be hugely appreciated!

Thanks

Lynton

Code:
+-----------------------------------------------------------------------------+
|                                                                             |
| WebSphere MQ First Failure Symptom Report                                   |
| =========================================                                   |
|                                                                             |
| Date/Time         :- Thursday November 10 21:57:29 GMT+02:00 2011           |
| Host Name         :- sapdndqa (AIX 6.1)                                     |
| PIDS              :- 5724H7201                                              |
| LVLS              :- 6.0.2.4                                                |
| Product Long Name :- WebSphere MQ for AIX                                   |
| Vendor            :- IBM                                                    |
| Probe Id          :- XC034071                                               |
| Application Name  :- MQM                                                    |
| Component         :- xcsWaitEventSem                                        |
| SCCS Info         :- lib/cs/amqxeida.c, 1.52.1.23                           |
| Line Number       :- 3448                                                   |
| Build Date        :- May 12 2008                                            |
| CMVC level        :- p600-204-080509                                        |
| Build Type        :- IKAP - (Production)                                    |
| UserID            :- 00000211 (smq)                                         |
| Program Name      :- test_inbound                                       |
| Addressing mode   :- 64-bit                                                 |
| Process           :- 16974020                                               |
| Thread(n)         :- 1                                                      |
| QueueManager      :- QM01                                               |
| ConnId(1) IPCC    :- 170                                                    |
| Last HQC          :- 1.0.0-20008                                            |
| Last HSHMEMB      :- 0.0.0-0                                                |
| Major Errorcode   :- OK                                                     |
| Minor Errorcode   :- OK                                                     |
| Probe Type        :- INCORROUT                                              |
| Probe Severity    :- 4                                                      |
| Probe Description :- AMQ6125: An internal WebSphere MQ error has occurred.  |
| FDCSequenceNumber :- 0                                                      |
|                                                                             |
+-----------------------------------------------------------------------------+


MQM Function Stack
MQGET
zstMQGET
ziiMQGET
ziiSendReceiveAgent
zcpReceiveOnPipe
xcsWaitEventSem
xcsFFST

MQM Trace History
---{ zstGetPCDbyTID
---} zstGetPCDbyTID rc=OK
--} zstMQConnect rc=lrcW_ALREADY_CONNECTED
-} zstMQCONNX rc=lrcW_ALREADY_CONNECTED
} MQCONNX rc=lrcW_ALREADY_CONNECTED
{ MQOPEN
-{ zstMQOPEN
--{ xcsIsEnvironment
--} xcsIsEnvironment rc=OK
--{ zstVerifyPCD
--} zstVerifyPCD rc=OK
--{ zstCheckODAddressability
---{ xcsCheckPointer
---} xcsCheckPointer rc=OK
--} zstCheckODAddressability rc=OK
--{ ziiMQOPEN
---{ ziiCreateIPCCMessage
----{ zcpCreateMessage
----} zcpCreateMessage rc=OK
---} ziiCreateIPCCMessage rc=OK
---{ ziiSendReceiveAgent
----{ zcpSendOnPipe
-----{ xcsResetEventSem
-----} xcsResetEventSem rc=OK
-----{ xcsPostEventSem
------{ xlsLockEvent
------} xlsLockEvent rc=OK
------{ xlsUnlockEvent
------} xlsUnlockEvent rc=OK
-----} xcsPostEventSem rc=OK
----} zcpSendOnPipe rc=OK
----{ zcpReceiveOnPipe
-----{ xcsWaitEventSem
------{ xlsLockEvent
------} xlsLockEvent rc=OK
------{ xlsUnlockEvent
------} xlsUnlockEvent rc=OK
-----} xcsWaitEventSem rc=OK
----} zcpReceiveOnPipe rc=OK
---} ziiSendReceiveAgent rc=OK
---{ zcpDeleteMessage
---} zcpDeleteMessage rc=OK
--} ziiMQOPEN rc=OK
-} zstMQOPEN rc=OK
} MQOPEN rc=OK
{ MQBEGIN
-{ zstMQBEGIN
--{ xcsIsEnvironment
--} xcsIsEnvironment rc=OK
--{ zstVerifyPCD
--} zstVerifyPCD rc=OK
--{ zstSetMQModel
--} zstSetMQModel rc=OK
--{ xcsCheckPointer
--} xcsCheckPointer rc=OK
--{ ziiMQBEGIN
---{ ztmBeginInitialise
---} ztmBeginInitialise rc=zrcM_W_NO_RESOURCE_MGRS
---{ ziiCreateIPCCMessage
----{ zcpCreateMessage
----} zcpCreateMessage rc=OK
---} ziiCreateIPCCMessage rc=OK
---{ ziiSendReceiveAgent
----{ zcpSendOnPipe
-----{ xcsResetEventSem
-----} xcsResetEventSem rc=OK
-----{ xcsPostEventSem
------{ xlsLockEvent
------} xlsLockEvent rc=OK
------{ xlsUnlockEvent
------} xlsUnlockEvent rc=OK
-----} xcsPostEventSem rc=OK
----} zcpSendOnPipe rc=OK
----{ zcpReceiveOnPipe
-----{ xcsWaitEventSem
------{ xlsLockEvent
------} xlsLockEvent rc=OK
------{ xlsUnlockEvent
------} xlsUnlockEvent rc=OK
-----} xcsWaitEventSem rc=OK
----} zcpReceiveOnPipe rc=OK
---} ziiSendReceiveAgent rc=lrcW_NO_EXTERNAL_PARTICIPANTS
---{ zcpDeleteMessage
---} zcpDeleteMessage rc=OK
---{ ztmAssociateParticipants
---} ztmAssociateParticipants rc=zrcM_W_NO_RESOURCE_MGRS
--} ziiMQBEGIN rc=zrcM_W_NO_RESOURCE_MGRS
-} zstMQBEGIN rc=lrcW_NO_EXTERNAL_PARTICIPANTS
} MQBEGIN rc=lrcW_NO_EXTERNAL_PARTICIPANTS
{ MQGET
-{ zstMQGET
--{ xcsIsEnvironment
--} xcsIsEnvironment rc=OK
--{ zstVerifyPCD
--} zstVerifyPCD rc=OK
--{ zstMQGET_CheckParms
--} zstMQGET_CheckParms rc=OK
--{ ziiMQGET
---{ ziiCreateIPCCMessage
----{ zcpCreateMessage
----} zcpCreateMessage rc=OK
---} ziiCreateIPCCMessage rc=OK
---{ ziiSendReceiveAgent
----{ zcpSendOnPipe
-----{ xcsResetEventSem
-----} xcsResetEventSem rc=OK
-----{ xcsPostEventSem
------{ xlsLockEvent
------} xlsLockEvent rc=OK
------{ xlsUnlockEvent
------} xlsUnlockEvent rc=OK
-----} xcsPostEventSem rc=OK
----} zcpSendOnPipe rc=OK
----{ zcpReceiveOnPipe
-----{ xcsWaitEventSem
------{ xlsLockEvent
------} xlsLockEvent rc=OK
------{ xlsUnlockEvent
------} xlsUnlockEvent rc=OK
-----} xcsWaitEventSem rc=OK
----} zcpReceiveOnPipe rc=OK
---} ziiSendReceiveAgent rc=arcE_NO_MSG_AVAILABLE
---{ zcpDeleteMessage
---} zcpDeleteMessage rc=OK
--} ziiMQGET rc=OK
-} zstMQGET rc=arcE_NO_MSG_AVAILABLE
} MQGET rc=arcE_NO_MSG_AVAILABLE
{ MQBACK
-{ zstMQBACK
--{ xcsIsEnvironment
--} xcsIsEnvironment rc=OK
--{ zstVerifyPCD
--} zstVerifyPCD rc=OK
--{ ztmDissociateParticipants
--} ztmDissociateParticipants rc=zrcM_W_NO_RESOURCE_MGRS
--{ ziiMQBACK
---{ ziiCreateIPCCMessage
----{ zcpCreateMessage
----} zcpCreateMessage rc=OK
---} ziiCreateIPCCMessage rc=OK
---{ ziiSendReceiveAgent
----{ zcpSendOnPipe
-----{ xcsResetEventSem
-----} xcsResetEventSem rc=OK
-----{ xcsPostEventSem
------{ xlsLockEvent
------} xlsLockEvent rc=OK
------{ xlsUnlockEvent
------} xlsUnlockEvent rc=OK
-----} xcsPostEventSem rc=OK
----} zcpSendOnPipe rc=OK
----{ zcpReceiveOnPipe
-----{ xcsWaitEventSem
------{ xlsLockEvent
------} xlsLockEvent rc=OK
------{ xlsUnlockEvent
------} xlsUnlockEvent rc=OK
-----} xcsWaitEventSem rc=OK
----} zcpReceiveOnPipe rc=OK
---} ziiSendReceiveAgent rc=OK
---{ zcpDeleteMessage
---} zcpDeleteMessage rc=OK
--} ziiMQBACK rc=OK
-} zstMQBACK rc=OK
} MQBACK rc=OK
{ MQBEGIN
-{ zstMQBEGIN
--{ xcsIsEnvironment
--} xcsIsEnvironment rc=OK
--{ zstVerifyPCD
--} zstVerifyPCD rc=OK
--{ zstSetMQModel
--} zstSetMQModel rc=OK
--{ xcsCheckPointer
--} xcsCheckPointer rc=OK
--{ ziiMQBEGIN
---{ ztmBeginInitialise
---} ztmBeginInitialise rc=zrcM_W_NO_RESOURCE_MGRS
---{ ziiCreateIPCCMessage
----{ zcpCreateMessage
----} zcpCreateMessage rc=OK
---} ziiCreateIPCCMessage rc=OK
---{ ziiSendReceiveAgent
----{ zcpSendOnPipe
-----{ xcsResetEventSem
-----} xcsResetEventSem rc=OK
-----{ xcsPostEventSem
------{ xlsLockEvent
------} xlsLockEvent rc=OK
------{ xlsUnlockEvent
------} xlsUnlockEvent rc=OK
-----} xcsPostEventSem rc=OK
----} zcpSendOnPipe rc=OK
----{ zcpReceiveOnPipe
-----{ xcsWaitEventSem
------{ xlsLockEvent
------} xlsLockEvent rc=OK
------{ xlsUnlockEvent
------} xlsUnlockEvent rc=OK
-----} xcsWaitEventSem rc=OK
----} zcpReceiveOnPipe rc=OK
---} ziiSendReceiveAgent rc=lrcW_NO_EXTERNAL_PARTICIPANTS
---{ zcpDeleteMessage
---} zcpDeleteMessage rc=OK
---{ ztmAssociateParticipants
---} ztmAssociateParticipants rc=zrcM_W_NO_RESOURCE_MGRS
--} ziiMQBEGIN rc=zrcM_W_NO_RESOURCE_MGRS
-} zstMQBEGIN rc=lrcW_NO_EXTERNAL_PARTICIPANTS
} MQBEGIN rc=lrcW_NO_EXTERNAL_PARTICIPANTS
{ MQGET
-{ zstMQGET
--{ xcsIsEnvironment
--} xcsIsEnvironment rc=OK
--{ zstVerifyPCD
--} zstVerifyPCD rc=OK
--{ zstMQGET_CheckParms
--} zstMQGET_CheckParms rc=OK
--{ ziiMQGET
---{ ziiCreateIPCCMessage
----{ zcpCreateMessage
----} zcpCreateMessage rc=OK
---} ziiCreateIPCCMessage rc=OK
---{ ziiSendReceiveAgent
----{ zcpSendOnPipe
-----{ xcsResetEventSem
-----} xcsResetEventSem rc=OK
-----{ xcsPostEventSem
------{ xlsLockEvent
------} xlsLockEvent rc=OK
------{ xlsUnlockEvent
------} xlsUnlockEvent rc=OK
-----} xcsPostEventSem rc=OK
----} zcpSendOnPipe rc=OK
----{ zcpReceiveOnPipe
-----{ xcsWaitEventSem
------{ xlsLockEvent
------} xlsLockEvent rc=OK
------{ xlsUnlockEvent
------} xlsUnlockEvent rc=OK
------{ xcsBuildDumpPtr
-------{ xcsGetMem
-------} xcsGetMem rc=OK
------} xcsBuildDumpPtr rc=OK
------{ xcsBuildDumpPtr
------} xcsBuildDumpPtr rc=OK
------{ xcsBuildDumpPtr
------} xcsBuildDumpPtr rc=OK
------{ xcsBuildDumpPtr
------} xcsBuildDumpPtr rc=OK
------{ xcsFFST

It seemed to generate 2 FDC....here is the other one:

Code:
+-----------------------------------------------------------------------------+
|                                                                             |
| WebSphere MQ First Failure Symptom Report                                   |
| =========================================                                   |
|                                                                             |
| Date/Time         :- Thursday November 10 21:57:33 GMT+02:00 2011           |
| Host Name         :- sapdndqa (AIX 6.1)                                     |
| PIDS              :- 5724H7201                                              |
| LVLS              :- 6.0.2.4                                                |
| Product Long Name :- WebSphere MQ for AIX                                   |
| Vendor            :- IBM                                                    |
| Probe Id          :- XC032025                                               |
| Application Name  :- MQM                                                    |
| Component         :- xcsPostEventSem                                        |
| SCCS Info         :- lib/cs/amqxeida.c, 1.52.1.23                           |
| Line Number       :- 3448                                                   |
| Build Date        :- May 12 2008                                            |
| CMVC level        :- p600-204-080509                                        |
| Build Type        :- IKAP - (Production)                                    |
| UserID            :- 00000209 (smq)                                         |
| Program Name      :- amqzlaa0_nd                                            |
| Addressing mode   :- 64-bit                                                 |
| Process           :- 19202220                                               |
| Thread            :- 5                                                      |
| QueueManager      :- QM01                                               |
| ConnId(1) IPCC    :- 173                                                    |
| ConnId(2) QM      :- 119                                                    |
| Last HQC          :- 2.0.0-250432                                           |
| Last HSHMEMB      :- 2.9.9-352384                                           |
| Major Errorcode   :- Unknown(16)                                            |
| Minor Errorcode   :- OK                                                     |
| Probe Type        :- MSGAMQ0016                                             |
| Probe Severity    :- 4                                                      |
| Probe Description :- AMQ6090: WebSphere MQ was unable to display an error   |
|   message 16.                                                               |
| FDCSequenceNumber :- 0                                                      |
|                                                                             |
+-----------------------------------------------------------------------------+


MQM Function Stack
zlaMainThread
zlaProcessMessage
zlaProcessMQIRequest
zcpSendOnPipe
xcsPostEventSem
xcsFFST

MQM Trace History
----} zsqMQBACK rc=OK
---} zlaMQBACK rc=OK
---{ zcpDeleteMessage
---} zcpDeleteMessage rc=OK
---{ zcpSendOnPipe
----{ xcsResetEventSem
----} xcsResetEventSem rc=OK
----{ xcsPostEventSem
-----{ xlsLockEvent
-----} xlsLockEvent rc=OK
-----{ xlsUnlockEvent
-----} xlsUnlockEvent rc=OK
----} xcsPostEventSem rc=OK
---} zcpSendOnPipe rc=OK
--} zlaProcessMQIRequest rc=OK
-} zlaProcessMessage rc=OK
-{ zcpReceiveOnPipe
--{ xcsWaitEventSem
---{ xlsLockEvent
---} xlsLockEvent rc=OK
---{ xlsUnlockEvent
---} xlsUnlockEvent rc=OK
--} xcsWaitEventSem rc=OK
-} zcpReceiveOnPipe rc=OK
-{ zlaCheckStatus
-} zlaCheckStatus rc=OK
-{ zlaProcessMessage
--{ zlaProcessMQIRequest
---{ zlaMQBEGIN
----{ zcpCreateMessage
----} zcpCreateMessage rc=OK
----{ zsqMQBEGIN
-----{ kpiMQBEGIN
------{ tmxBeginTransaction
-------{ tmiOpenResourceMgr
--------{ tmiDAPXAOpen
---------{ apiOpenRMI
----------{ atmOpenRMI
-----------{ atxAssociationCheckActive
-----------} atxAssociationCheckActive rc=OK
-----------{ atxClose
-----------} atxClose rc=OK
-----------{ atxOpen
-----------} atxOpen rc=OK
----------} atmOpenRMI rc=OK
---------} apiOpenRMI rc=OK
--------} tmiDAPXAOpen rc=OK
-------} tmiOpenResourceMgr rc=OK
-------{ tmiCreateTransaction
--------{ tmiAllocateTransaction
---------{ xcsAllocateQuickCell
---------} xcsAllocateQuickCell rc=OK
--------} tmiAllocateTransaction rc=OK
--------{ apiAllocateTranNum
---------{ atmAllocTranNum
----------{ xcsRequestMutexSem
----------} xcsRequestMutexSem rc=OK
----------{ xcsReleaseMutexSem
----------} xcsReleaseMutexSem rc=OK
---------} atmAllocTranNum rc=OK
--------} apiAllocateTranNum rc=OK
--------{ tmiLockTMMutex
---------{ xcsRequestMutexSem
---------} xcsRequestMutexSem rc=OK
--------} tmiLockTMMutex rc=OK
--------{ tmiIdentifyTransaction
---------{ xcsGetUniqueTag
---------} xcsGetUniqueTag rc=OK
Data: 0x4ebc0889 0x2002d203
--------} tmiIdentifyTransaction rc=OK
--------{ tmiAddTransaction
--------} tmiAddTransaction rc=OK
--------{ tmiUnlockTMMutex
---------{ xcsReleaseMutexSem
---------} xcsReleaseMutexSem rc=OK
--------} tmiUnlockTMMutex rc=OK
-------} tmiCreateTransaction rc=OK
-------{ tmiDAPXAStart
--------{ apiSyncPoint
---------{ atmSyncPoint
----------{ atmLockTTMutex
-----------{ xcsRequestMutexSem
-----------} xcsRequestMutexSem rc=OK
----------} atmLockTTMutex rc=OK
----------{ atxStart
-----------{ attLookupTransaction
------------{ aocHash
------------} aocHash rc=OK
-----------} attLookupTransaction rc=arcE_XAER_NOTA
-----------{ atxPerformStart
------------{ attAllocateTransaction
-------------{ xcsAllocateMemBlock
--------------{ xstAllocateMemBlockFromHeap
--------------} xstAllocateMemBlockFromHeap rc=OK
--------------{ xclCSCreateMutex
---------------{ xlsCreateMutex
----------------{ xcsAllocateQuickCell
----------------} xcsAllocateQuickCell rc=OK
----------------{ xlsInitMutex
----------------} xlsInitMutex rc=OK
---------------} xlsCreateMutex rc=OK
--------------} xclCSCreateMutex rc=OK
-------------} xcsAllocateMemBlock rc=OK
------------} attAllocateTransaction rc=OK
------------{ attAddTransaction
-------------{ aocHash
-------------} aocHash rc=OK
------------} attAddTransaction rc=OK
-----------} atxPerformStart rc=OK
-----------{ xcsRequestMutexSem
-----------} xcsRequestMutexSem rc=OK
-----------{ atmLockDataMutex
------------{ xcsRequestMutexSem
------------} xcsRequestMutexSem rc=OK
-----------} atmLockDataMutex rc=OK
-----------{ atxAssociationAdd
------------{ kpiAssociateTxn
------------} kpiAssociateTxn rc=OK
-----------} atxAssociationAdd rc=OK
-----------{ atmUnlockDataMutex
------------{ xcsReleaseMutexSem
------------} xcsReleaseMutexSem rc=OK
-----------} atmUnlockDataMutex rc=OK
----------} atxStart rc=OK
----------{ xcsReleaseMutexSem
----------} xcsReleaseMutexSem rc=OK
---------} atmSyncPoint rc=OK
--------} apiSyncPoint rc=OK
-------} tmiDAPXAStart rc=OK
------} tmxBeginTransaction rc=lrcW_NO_EXTERNAL_PARTICIPANTS
-----} kpiMQBEGIN rc=lrcW_NO_EXTERNAL_PARTICIPANTS
----} zsqMQBEGIN rc=lrcW_NO_EXTERNAL_PARTICIPANTS
---} zlaMQBEGIN rc=lrcW_NO_EXTERNAL_PARTICIPANTS
---{ zcpDeleteMessage
---} zcpDeleteMessage rc=OK
---{ zcpSendOnPipe
----{ xcsResetEventSem
----} xcsResetEventSem rc=OK
----{ xcsPostEventSem
-----{ xlsLockEvent
-----} xlsLockEvent rc=OK
-----{ xlsUnlockEvent
-----} xlsUnlockEvent rc=OK
----} xcsPostEventSem rc=OK
---} zcpSendOnPipe rc=OK
--} zlaProcessMQIRequest rc=OK
-} zlaProcessMessage rc=OK
-{ zcpReceiveOnPipe
--{ xcsWaitEventSem
---{ xlsLockEvent
---} xlsLockEvent rc=OK
---{ xlsUnlockEvent
---} xlsUnlockEvent rc=OK
--} xcsWaitEventSem rc=OK
-} zcpReceiveOnPipe rc=OK
-{ zlaCheckStatus
-} zlaCheckStatus rc=OK
-{ zlaProcessMessage
--{ zlaProcessMQIRequest
---{ zlaMQGET
----{ zcpCreateMessage
----} zcpCreateMessage rc=OK
----{ zsqMQGET
-----{ zsqVerifyQueueObj
------{ zsqVerifyObj
------} zsqVerifyObj rc=OK
-----} zsqVerifyQueueObj rc=OK
-----{ zsqVerOptForGet
-----} zsqVerOptForGet rc=OK
-----{ kpiMQGET
------{ kqiValidateGetGroupSegInfo
------} kqiValidateGetGroupSegInfo rc=OK
------{ apiSyncPointCheck
-------{ atmSyncPointCheck
-------} atmSyncPointCheck rc=OK
------} apiSyncPointCheck rc=OK
------{ kqiWaitForMessage
-------{ kqiInitialiseWaiter
-------} kqiInitialiseWaiter rc=OK
-------{ kqiAddToWaiterChain
-------} kqiAddToWaiterChain rc=OK
-------{ kqiQPathCheckAndSet
-------} kqiQPathCheckAndSet rc=OK
-------{ kqiWaitForABit
--------{ xcsQueryTime
--------} xcsQueryTime rc=OK
--------{ xcsWaitEventSem
---------{ xlsLockEvent
---------} xlsLockEvent rc=OK
---------{ xlsUnlockEvent
---------} xlsUnlockEvent rc=OK
---------{ xtmRequestCallback
----------{ xtmAdjustTimer
----------} xtmAdjustTimer rc=OK
---------} xtmRequestCallback rc=OK
---------{ xtmCancelCallback
---------} xtmCancelCallback rc=OK
--------} xcsWaitEventSem rc=xecL_W_TIMEOUT
--------{ kqiRemoveFromWaiterChain
--------} kqiRemoveFromWaiterChain rc=OK
--------{ xcsResetEventSem
--------} xcsResetEventSem rc=OK
--------{ atmStartOp
---------{ atmLockDataMutex
----------{ xcsRequestMutexSem
----------} xcsRequestMutexSem rc=OK
---------} atmLockDataMutex rc=OK
--------} atmStartOp rc=OK
--------{ apiLockExclusive
---------{ xcsRequestMutexSem
---------} xcsRequestMutexSem rc=OK
--------} apiLockExclusive rc=OK
-------} kqiWaitForABit rc=arcE_NO_MSG_AVAILABLE
-------{ apiUnlockExclusive
--------{ xcsReleaseMutexSem
--------} xcsReleaseMutexSem rc=OK
-------} apiUnlockExclusive rc=OK
-------{ atmCompleteOp
--------{ atmUnlockDataMutex
---------{ xcsReleaseMutexSem
---------} xcsReleaseMutexSem rc=OK
--------} atmUnlockDataMutex rc=OK
-------} atmCompleteOp rc=OK
------} kqiWaitForMessage rc=arcE_NO_MSG_AVAILABLE
------{ xcsQueryMTimeFn
------} xcsQueryMTimeFn rc=OK
------{ kqiErrorEvent
------} kqiErrorEvent rc=OK
------{ atmCompleteOp
------} atmCompleteOp rc=lrcW_OWNER_NOT_SET
-----} kpiMQGET rc=OK
----} zsqMQGET rc=arcE_NO_MSG_AVAILABLE
---} zlaMQGET rc=arcE_NO_MSG_AVAILABLE
---{ zcpDeleteMessage
---} zcpDeleteMessage rc=OK
---{ zcpSendOnPipe
----{ xcsResetEventSem
----} xcsResetEventSem rc=OK
----{ xcsPostEventSem
-----{ xlsLockEvent
-----} xlsLockEvent rc=OK
-----{ xcsBuildDumpPtr
------{ xcsGetMem
------} xcsGetMem rc=OK
-----} xcsBuildDumpPtr rc=OK
-----{ xcsBuildDumpPtr
-----} xcsBuildDumpPtr rc=OK
-----{ xcsFFST

And here is the LOG file generated:

11/10/11 21:57:33 - Process(19202220.5) User(smq) Program(amqzlaa0_nd)
AMQ6090: WebSphere MQ was unable to display an error message 16.

EXPLANATION:
MQ has attempted to display the message associated with return code hexadecimal
'16'. The return code indicates that there is no message text associated with
the message. Associated with the request are inserts 0 : 0 : : : .
ACTION:
Use the standard facilities supplied with your system to record the problem
identifier, and to save the generated output files. Contact your IBM support
center. Do not discard these files until the problem has been resolved.
-------------------------------------------------------------------------------
11/10/11 21:57:33 - Process(19202220.5) User(smq) Program(amqzlaa0_nd)
AMQ6184: An internal WebSphere MQ error has occurred on queue manager LUDSDNIQ.

EXPLANATION:
An error has been detected, and the WebSphere MQ error recording routine has
been called. The failing process is process 19202220.
ACTION:
Use the standard facilities supplied with your system to record the problem
identifier, and to save the generated output files. Contact your IBM support
center. Do not discard these files until the problem has been resolved.
----- amqxfdcx.c : 807 --------------------------------------------------------
11/10/11 21:57:33 - Process(19202220.5) User(smq) Program(amqzlaa0_nd)
AMQ6118: An internal WebSphere MQ error has occurred (16)

EXPLANATION:
An error has been detected, and the MQ error recording routine has been called.
ACTION:
Use the standard facilities supplied with your system to record the problem
identifier, and to save the generated output files. Contact your IBM support
center. Do not discard these files until the problem has been resolved.
----- amqxfdcx.c : 768 --------------------------------------------------------
11/10/11 21:57:33 - Process(19202220.5) User(smq) Program(amqzlaa0_nd)
AMQ6184: An internal WebSphere MQ error has occurred on queue manager LUDSDNIQ.

EXPLANATION:
An error has been detected, and the WebSphere MQ error recording routine has
been called. The failing process is process 19202220.
ACTION:
Use the standard facilities supplied with your system to record the problem
identifier, and to save the generated output files. Contact your IBM support
center. Do not discard these files until the problem has been resolved.
----- amqxfdcx.c : 807 --------------------------------------------------------
11/10/11 21:57:33 - Process(19202220.5) User(smq) Program(amqzlaa0_nd)
AMQ6118: An internal WebSphere MQ error has occurred (1)

EXPLANATION:
An error has been detected, and the MQ error recording routine has been called.
ACTION:
Use the standard facilities supplied with your system to record the problem
identifier, and to save the generated output files. Contact your IBM support
center. Do not discard these files until the problem has been resolved.
----- amqxfdcx.c : 768 --------------------------------------------------------
11/10/11 21:57:33 - Process(19202220.5) User(smq) Program(amqzlaa0_nd)
AMQ6184: An internal WebSphere MQ error has occurred on queue manager LUDSDNIQ.

EXPLANATION:
An error has been detected, and the WebSphere MQ error recording routine has
been called. The failing process is process 19202220.
ACTION:
Use the standard facilities supplied with your system to record the problem
identifier, and to save the generated output files. Contact your IBM support
center. Do not discard these files until the problem has been resolved.
----- amqxfdcx.c : 807 --------------------------------------------------------
11/10/11 21:57:33 - Process(19202220.5) User(smq) Program(amqzlaa0_nd)
AMQ6109: An internal WebSphere MQ error has occurred.

EXPLANATION:
An error has been detected, and the MQ error recording routine has been called.
ACTION:
Use the standard facilities supplied with your system to record the problem
identifier, and to save the generated output files. Contact your IBM support
center. Do not discard these files until the problem has been resolved.
----- amqxfdcx.c : 768 --------------------------------------------------------
11/10/11 21:57:33 - Process(19202220.5) User(smq) Program(amqzlaa0_nd)
AMQ6184: An internal WebSphere MQ error has occurred on queue manager LUDSDNIQ.

EXPLANATION:
An error has been detected, and the WebSphere MQ error recording routine has
been called. The failing process is process 19202220.
ACTION:
Use the standard facilities supplied with your system to record the problem
identifier, and to save the generated output files. Contact your IBM support
center. Do not discard these files until the problem has been resolved.
----- amqxfdcx.c : 807 --------------------------------------------------------
Back to top
View user's profile Send private message
Vitor
PostPosted: Thu Nov 10, 2011 9:18 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

Firstly, please don't post the entire trace history. It's only useful to IBM support.

Secondly, are you sure you're managaging your thread model correctly? That first probe id is a resource cleanup error. Where is the connect / disconnect done?

Thirdly, why are you running such a back version of WMQ? You're 5 levels behind in maintenance.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
lyntongrice
PostPosted: Thu Nov 10, 2011 9:56 am    Post subject: Reply with quote

Acolyte

Joined: 26 Sep 2010
Posts: 70

Hi there,

Sorry for the full trace.....will not do it again......

I have no control over the version of WMQ unfortunately ;-(

I do the connect / disconnect in the same thread as the MQGET calls.....

Thanks for getting back to me, I really need to find a workaround for this....;-(

Lynton
Back to top
View user's profile Send private message
Vitor
PostPosted: Thu Nov 10, 2011 10:14 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

lyntongrice wrote:
Sorry for the full trace.....will not do it again......


Capturing it is fine; when you raise a PMR you'll need it. It's just no use to us civilians.

lyntongrice wrote:
I have no control over the version of WMQ unfortunately ;-(


5 levels is a lot of fixes. Also (to continue a theme) if you raise a PMR the first piece of advice you get will likely be "apply the latest maintenance & see if the problem persists"

lyntongrice wrote:
I do the connect / disconnect in the same thread as the MQGET calls.....


Fair enough. It still sounds like something in the main app is shutting down something the thread is using, or hosing up something the thread is using, before the thread closes. Or the thread is hanging round too long. Not my strong suit but how much of the run time environment goes down with the main app? Is the thread trying to access resources now out of scope?

Put another way, from a design standpoint, why is the thread issuing a MQGet call when the main app has signalled it to close? Does the main app wait for all it's threads to close before it closes? Why are you stopping the main app with a CNTL+C rather than a more friendly command?
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Thu Nov 10, 2011 10:47 am    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7722

Change the app so for every message it gets, it checks to see if the MQMD_FEEDBACK of the message is MQFB_QUIT, and if so it gracefully ends, otherwise it processes the message normally.

Change the app so when you hit Ctrl-C, it places a message on the queue whose MQMD_FEEDBACK is MQFB_QUIT.

Some people say that any app that does MQGET with waits should be coded to check for MQMD_FEEDBACK = MQFB_QUIT.
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
lyntongrice
PostPosted: Mon Nov 14, 2011 12:53 am    Post subject: Reply with quote

Acolyte

Joined: 26 Sep 2010
Posts: 70

Hi there,

Sorry for the late response, and thanks for your comments...much appreciated.

The main thread does ask the "MQGET thread" to closes elegantly......but it seems the SIGINT (CTRL-C) signals is messing up the MQ connection handle or something as the MQGET fails with that connecton broken error.

I have not all signals from going to any of the threads I create using SIG_BLOCK / SIG_UNBLOCK etc...so will try that out as well.....

The MQMD_FEEDBACK sounds interesting.....although the MQGET fails immediatly when CTRL-C is hit.....so I will need to look up the MQMD_FEEDBACK to see how to use it 100%....

Thanks, I will get back to you....

Lynton
Back to top
View user's profile Send private message
gbaddeley
PostPosted: Mon Nov 14, 2011 2:03 pm    Post subject: Reply with quote

Jedi Knight

Joined: 25 Mar 2003
Posts: 2538
Location: Melbourne, Australia

How about this one : Don't press CTRL-C. (or use the "kill" command)

Use some other more elegant method of shutting down the application.
_________________
Glenn
Back to top
View user's profile Send private message
bruce2359
PostPosted: Mon Nov 14, 2011 2:39 pm    Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9472
Location: US: west coast, almost. Otherwise, enroute.

lyntongrice wrote:
The main thread does ask the "MQGET thread" to closes elegantly...

Exactly how does the main app ask the MQGET thread to close elegantly? What action initiates this? Is it the CTRL+C? Or, do you attempt to trap the CTRL+C in the main app; and then the main app asks the MQGET thread to end itself?

Exactly how does the MQGET thread attempt to end itself?

lyntongrice wrote:
...but it seems the SIGINT (CTRL-C) signals is messing up the MQ connection handle or something as the MQGET fails with that connecton broken error.

What does the AIX documentation say about CTRL+C cleanup? What does the AIX documentation say about orphaned threads?

This looks like the same issue posted elsewhere:http://stackoverflow.com/questions/8093755/how-to-block-all-signals-in-thread-without-using-sigwait
_________________
I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live.
Back to top
View user's profile Send private message
mvic
PostPosted: Tue Nov 15, 2011 2:18 pm    Post subject: Re: Getting MQRC_CONNECTION_BROKEN on MQGET when CTRL-C hit? Reply with quote

Jedi

Joined: 09 Mar 2004
Posts: 2080

lyntongrice wrote:
Thread(n) :- 1

This means your application process is linked with libmqm. If you're using threads, it should be built with threaded assumptions throughout, and linked with libmqm_r.

Try rebuilding everything in this application with xlc_r (if it has not been already), ensuring you link the application with -lmqm_r and see if anything improves.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » General IBM MQ Support » Getting MQRC_CONNECTION_BROKEN on MQGET when CTRL-C hit?
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.