Author |
Message
|
tekn0wledg |
Posted: Wed Jan 29, 2003 5:25 am Post subject: Periodic 2058 Error on MQCONN |
|
|
Novice
Joined: 15 Jan 2003 Posts: 16
|
in a current application i am working on, i have a process which runs constantly and monitors the queue for messages, grabbing any that exist in the queue.
periodically, and it appears to be completely random, i will get a 2058 error when opening the queue. i use the same piece of code for every call, and the queue manager is hard coded. i have also tried making that queue manager the default, and specifying no name, and i still have the same periodic problem.
so i try to reconnect to the qmgr after clearing all of the objects etc, but i get a 2058 on every attempt after the original error.
my question is, how can i avoid this problem? and if it's unavoidable, how can i re-establish the connection without restarting the application?
any help is greatly appreciated. |
|
Back to top |
|
 |
bower5932 |
Posted: Wed Jan 29, 2003 6:42 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Aug 2001 Posts: 3023 Location: Dallas, TX, USA
|
My experience with 2058's is that they are caused because you found a qmgr, but it didn't have the name that you used. I'd double-check that your code actually clears out the qmgr name structure so that there isn't any garbage at the end of it (eg, use memcpy not strcpy). You might also double-check that you aren't picking up a lower case name vs. an upper case name. |
|
Back to top |
|
 |
tekn0wledg |
Posted: Wed Jan 29, 2003 6:49 am Post subject: |
|
|
Novice
Joined: 15 Jan 2003 Posts: 16
|
yeh, that has been my experience too. however, i only have one queue manager on this machine.... and it's hardcoded in capital letters, and the queue name is also hardcoded in capital letters to match the exact names.
this is odd, and very frustrating.... |
|
Back to top |
|
 |
PeterPotkay |
Posted: Wed Jan 29, 2003 4:20 pm Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
Quote: |
i will get a 2058 error when opening the queue
|
A 2058 will only be thrown on a connect to the queue manager, never on an open of a queue. (Actually, CICS will throw this error on any call, but only if the conn call was goofy to begin with)
Can you clarify again exactly when you get the error? What language is the code in? Client mode or server? _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
tekn0wledg |
Posted: Wed Jan 29, 2003 4:26 pm Post subject: |
|
|
Novice
Joined: 15 Jan 2003 Posts: 16
|
it is in server mode, and this particular program is written in VB
the program works fine for a random amount of messages, sometimes hundreds, sometimes thousands, and then it bombs out with the 2058. i reset all parameters, objects and the like to the original values and then attempt to re-open the connection, but i still get the 2058.
the error occurs right after the following call, which i can have blank, or with the specific queue manager with the same results [the random 2058 error]
MQCONN "", gHcon, CompCode, Reason
and like i said, everything works fine, it's completely random. it's very weird. |
|
Back to top |
|
 |
bduncan |
Posted: Wed Jan 29, 2003 4:49 pm Post subject: |
|
|
Padawan
Joined: 11 Apr 2001 Posts: 1554 Location: Silicon Valley
|
If this application "runs constantly" then why are you reconnecting to the queue manager? Presumeably you'd connect once when the application starts, and since it's going to run forever, you shouldn't ever need to issue another MQCONN... _________________ Brandon Duncan
IBM Certified MQSeries Specialist
MQSeries.net forum moderator |
|
Back to top |
|
 |
tekn0wledg |
Posted: Thu Jan 30, 2003 3:20 am Post subject: |
|
|
Novice
Joined: 15 Jan 2003 Posts: 16
|
that is what i thought too, however, it was running into an ActiveX error when using MQGET if the connection was left open for too long.
so i decided to close the connection after 50 messages, re-open it after approximately 5 seconds, and then proceed again.
i will try recoding with the one connection only method, and try to fix the ActiveX error, but in the meantime, i'd like to keep the current code and just try to have someone offer a solution to the 2058 error. |
|
Back to top |
|
 |
tekn0wledg |
Posted: Thu Jan 30, 2003 5:35 am Post subject: |
|
|
Novice
Joined: 15 Jan 2003 Posts: 16
|
i disabled the connect/disconnect code, and every 58th message i receive, i get a Dr. Watson error. it's superceding my error checking, so i am going to disable Dr. Watson and see what i can come up with.
who's lovely idea was it to make Dr. Watson a default installation in NT? *mumbles*
still, if anyone has a solution to the original problem, i'm all ears.... i've tried everything. |
|
Back to top |
|
 |
bower5932 |
Posted: Thu Jan 30, 2003 6:18 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Aug 2001 Posts: 3023 Location: Dallas, TX, USA
|
Is there anything of value in the drwatson.log file? (I think I have the filename right...) |
|
Back to top |
|
 |
clindsey |
Posted: Thu Jan 30, 2003 7:39 am Post subject: |
|
|
Knight
Joined: 12 Jul 2002 Posts: 586 Location: Dallas, Tx
|
If you are getting a dr watson log, then your program is causing some
exception, fault like segmentation violation, etc. You still will not get to your error checking routines unless you have an exception handler registered. It will probably just terminate.
I am not a VB programmer, but with Visual C++, you can set the IDE JIT debugger to load on exceptions. I would think you can do this with VB as well. It will load to the line of code that caused the abend.
You could be writing over an array boundary or something like that.
I would also take a look at the mq errors and see if there is something going on there at the same time your program abends. Look in <mqtop>\errors and see if you have any *FDC files. Also see if anything is getting written to <mqtop>\errors\AMQERR01.LOG or <mqtop>\qmgrs\<qmgrname>\errors\AMQERR01.LOG.
Charlie |
|
Back to top |
|
 |
tekn0wledg |
Posted: Thu Jan 30, 2003 9:05 am Post subject: |
|
|
Novice
Joined: 15 Jan 2003 Posts: 16
|
thanks for the tips
i will check both log files and reply back shortly
in the meanwhile, i successfully processed 12,000 messages without occurance, and then the 2058 again. |
|
Back to top |
|
 |
rjl_state |
Posted: Thu Jan 30, 2003 9:16 am Post subject: |
|
|
 Apprentice
Joined: 04 Oct 2002 Posts: 48 Location: Des Moines, IA
|
I have hit something very similar to this on an NSK platform using v. 5.1 with EFIX2 installed.
My program monitors queue's every x minutes and rather than keep the queues open during the waiting period I go ahead and close the connections and disconnect from the queue manager.
And after running for days or even weeks and doing countless connects and disconnects, it will suddenly get a 2058.
This application is written in COBOL85. |
|
Back to top |
|
 |
tekn0wledg |
Posted: Thu Jan 30, 2003 9:29 am Post subject: |
|
|
Novice
Joined: 15 Jan 2003 Posts: 16
|
i just checked my error log and here is what showed up for the most recent occurance @@ represents information edited for security reasons:
01/30/03 12:34:14
AMQ9202: Remote host '@@' not available, retry
later.
EXPLANATION:
The attempt to allocate a conversation using TCP/IP to host '@@' was not successful. However the error may be a
transitory one and it may be possible to successfully allocate a TCP/IP
conversation later.
ACTION:
Try the connection again later. If the failure persists, record the error
values and contact your systems administrator. The return code from TCP/IP is
10061 (X'274D'). The reason for the failure may be that this host cannot reach
the destination host. It may also be possible that the listening program at
host '@@' was not running. If this is the
case, perform the relevant operations to start the TCP/IP listening program,
and try again.
-------------------------------------------------------------------------------
01/30/03 12:34:14
AMQ9999: Channel program ended abnormally.
EXPLANATION:
Channel program 'TO_QM_Development' ended abnormally.
ACTION:
Look at previous error messages for channel program 'TO_QM_Development' in the
error files to determine the cause of the failure.
-------------------------------------------------------------------------------
so is there a network communication error, or is the channel TO_QM_Development causing some kind of problem?
EDIT:
just an update, i disabled the TO_QM_Development cluster, because it was not setup by me, and is being used for nothing.... no clue where it came from.
EDIT 2: Since removing this, no such error has appeared, but see the below reply for more info
Last edited by tekn0wledg on Thu Jan 30, 2003 11:33 am; edited 1 time in total |
|
Back to top |
|
 |
tekn0wledg |
Posted: Thu Jan 30, 2003 11:26 am Post subject: |
|
|
Novice
Joined: 15 Jan 2003 Posts: 16
|
update: i thought removing the cluster would fix the problem, and i removed all remote connections to the Queue Manager from remote machines, hoping this would clear the TCP/IP error, and it has. but the 2058 error still exists, and no errors are being dumped to the MQ log showing what the problem is.... unless it's in another log file somewhere
also i checked the Dr. Watson log file, and here is the stack information:
amqmtmgr!tmzstMQGET (FPO: [10,0,3])
amqzst!zstMQGET (FPO: [10,0,0])
mqm!MQGET (FPO: [9,0,2])
mqm!MQGETstd (FPO: [9,0,0])
!_vbaObjSet
the error occurs after the vbaObjSet i am guessing. |
|
Back to top |
|
 |
eeeeej |
Posted: Wed Jun 25, 2003 10:17 am Post subject: |
|
|
Newbie
Joined: 06 Nov 2002 Posts: 4
|
Probably a little late, but I had the same problem when building my production W2K box. During set-up, the machine obtained its IP address via DHCP (eventually it will be static). I was receiving 2058's until I executed the following at the command prompt:
Ipconfig /flushdns |
|
Back to top |
|
 |
|