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 » User Exits » Upgrade from 5.3.12 to 6.0.2.5 - Channel Exit issue

Post new topic  Reply to topic
 Upgrade from 5.3.12 to 6.0.2.5 - Channel Exit issue « View previous topic :: View next topic » 
Author Message
LouML
PostPosted: Mon Nov 10, 2008 6:50 am    Post subject: Upgrade from 5.3.12 to 6.0.2.5 - Channel Exit issue Reply with quote

Partisan

Joined: 10 Nov 2005
Posts: 305
Location: Jersey City, NJ / Bethpage, NY

We upgraded from 5.3.12 to 6.0.2.5 and I'm now having a channel exit issue. I'm on a Sun Solaris 5.9 box.

I've tried to recompile my channel exit but I still get the following errors:

Code:
----- amqrccca.c : 822 --------------------------------------------------------
11/10/08 09:31:20 - Process(8616.1) User(mqm) Program(runmqchl_nd)
AMQ9002: Channel 'CH.SENDER' is starting.

EXPLANATION:
Channel 'CH.SENDER' is starting.
ACTION:
None.
-------------------------------------------------------------------------------
11/10/08 09:31:20 - Process(8616.1) User(mqm) Program(runmqchl_nd)
AMQ6174: The dynamically loadable shared library '<NULL>' was not found. The
system returned error number '2' and error message 'No such file or directory'.
The queue manager will continue without this module.

EXPLANATION:
This message applies to UNIX systems. The shared library '<NULL>' was not
found.
ACTION:
Check that the file exists, and is either fully qualified or is in the
appropriate director, also check the file access permissions.
-------------------------------------------------------------------------------
11/10/08 09:31:20 - Process(8616.1) User(mqm) Program(runmqchl_nd)
AMQ9535: User exit not valid.

EXPLANATION:
Channel program 'CH.SENDER' ended because user exit
'Exit.so(MQMDH001)' is not valid.
ACTION:
Ensure that the user exit is specified correctly in the channel definition, and
that the user exit program is correct and available.
----- amqrexta.c : 5323 -------------------------------------------------------
11/10/08 09:31:20 - Process(8616.1) User(mqm) Program(runmqchl_nd)
AMQ9999: Channel program ended abnormally.

EXPLANATION:
Channel program 'CH.SENDER' ended abnormally.
ACTION:
Look at previous error messages for channel program 'CH.SENDER' in the
error files to determine the cause of the failure.
----- amqrccca.c : 822 --------------------------------------------------------

bash-2.05$ echo "dis chl(CH.SENDER)" | runmqsc QM.PROD
5724-H72 (C) Copyright IBM Corp. 1994, 2005.  ALL RIGHTS RESERVED.
Starting MQSC for queue manager QM.PROD.


     1 : dis chl(CH.SENDER)
AMQ8414: Display Channel details.
   CHANNEL(CH.SENDER)              CHLTYPE(SDR)
   ALTDATE(2008-11-08)                     ALTTIME(07.12.53)
   BATCHHB(0)                              BATCHINT(0)
   BATCHSZ(50)                             COMPHDR(NONE)
   COMPMSG(NONE)                           CONNAME(10.10.10.10(1414))
   CONVERT(YES)                            DESCR()
   DISCINT(6000)                           HBINT(300)
   KAINT(AUTO)                             LOCLADDR( )
   LONGRTY(999999999)                      LONGTMR(1200)
   MAXMSGL(4194304)                        MCANAME( )
   MCATYPE(PROCESS)                        MCAUSER( )
   MODENAME( )                             MONCHL(OFF)
   MSGDATA( )                              MSGEXIT( )
   NPMSPEED(FAST)                          PASSWORD( )
   RCVDATA( )                              RCVEXIT( )
   SCYDATA( )                              SCYEXIT(Exit.so(MQMDH001))
   SENDDATA( )                             SENDEXIT( )
   SEQWRAP(999999999)                      SHORTRTY(10)
   SHORTTMR(60)                            SSLCIPH( )
   SSLPEER( )                              STATCHL(OFF)
   TPNAME( )                               TRPTYPE(TCP)
   USERID( )                               XMITQ(PDTC01)
One MQSC command read.
No commands have a syntax error.
All valid MQSC commands were processed.
bash-2.05$

_________________
Yeah, well, you know, that's just, like, your opinion, man. - The Dude


Last edited by LouML on Mon Nov 10, 2008 9:33 am; edited 1 time in total
Back to top
View user's profile Send private message
mqjeff
PostPosted: Mon Nov 10, 2008 7:18 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

Did you build both a 32-bit and a 64-bit version of your exit?

Did you configure the qmgr to know about both versions?
Back to top
View user's profile Send private message
LouML
PostPosted: Mon Nov 10, 2008 7:30 am    Post subject: Reply with quote

Partisan

Joined: 10 Nov 2005
Posts: 305
Location: Jersey City, NJ / Bethpage, NY

I see that I did not alter the qm.ini file to mention exits64.

Can I compile the Exit for 64 bit and copit to /var/mqm/exits ?
_________________
Yeah, well, you know, that's just, like, your opinion, man. - The Dude
Back to top
View user's profile Send private message
bruce2359
PostPosted: Mon Nov 10, 2008 7:40 am    Post subject: Reply with quote

Poobah

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

Quote:
I see that I did not alter the qm.ini file to mention exits64.

Excellent.
Quote:
Can I compile the Exit for 64 bit and copit to /var/mqm/exits ?

What happens when you try?
_________________
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
LouML
PostPosted: Mon Nov 10, 2008 7:57 am    Post subject: Reply with quote

Partisan

Joined: 10 Nov 2005
Posts: 305
Location: Jersey City, NJ / Bethpage, NY

doesn't help.

I get the same error no matter what. I can even remove the exit object from the exits and exits64 directory and still get the same error. It's like it's not even looking there.
_________________
Yeah, well, you know, that's just, like, your opinion, man. - The Dude
Back to top
View user's profile Send private message
LouML
PostPosted: Mon Nov 10, 2008 8:01 am    Post subject: Reply with quote

Partisan

Joined: 10 Nov 2005
Posts: 305
Location: Jersey City, NJ / Bethpage, NY

I migrated 5.3.12 to 6.0.2.5 instead of deleting the queue manger and rebuiliding from scratch.

I'm thinking these are my options in order of severity:

A - Bring down the queue manager and fix the ini files and restart (and hope)

B - Bring down the queue manager and recreate it and restart

C - Bring down the queue manager and restore the 5.3.12 version (/opt/mqm and /var/mqm) and restart
_________________
Yeah, well, you know, that's just, like, your opinion, man. - The Dude
Back to top
View user's profile Send private message
RogerLacroix
PostPosted: Mon Nov 10, 2008 2:22 pm    Post subject: Reply with quote

Jedi Knight

Joined: 15 May 2001
Posts: 3253
Location: London, ON Canada

Hi,

Rules for channel security exits:
1) A security exit on WMQ v5.3 for Solaris required a 32-bit shared library.

2) A security exit on WMQ v6 or v7 for Solaris requires a 64-bit ONLY shared library.

Questions:
a) Does your QMgr IniFile have the following entries?
Code:
ExitPath:
   ExitsDefaultPath=/var/mqm/exits/
   ExitsDefaultPath64=/var/mqm/exits64/


b) Put your exits in the correct directory then do the following:
Code:
cd /var/mqm/exits64
file Exit.so
ldd Exit.so


Are your exits build correctly? (64-bit and after resolves correctly)

Regards,
Roger Lacroix
Capitalware Inc.
_________________
Capitalware: Transforming tomorrow into today.
Connected to MQ!
Twitter
Back to top
View user's profile Send private message Visit poster's website
PeterPotkay
PostPosted: Mon Nov 10, 2008 2:36 pm    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7716

What if you fully path the value you have in SCYEXIT?
Code:
SCYEXIT(/var/mqm/exits64/Exit.so(MQMDH001))


Do you have this in your qm.ini?
Code:
ExitPath:
   ExitsDefaultPath=/var/mqm/exits/
   ExitsDefaultPath64=/var/mqm/exits64/


And I assume you read the section here on Exits?
http://publib.boulder.ibm.com/infocenter/wmqv6/v6r0/topic/com.ibm.mq.csqzao.doc/mi10150_.htm
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
mqjeff
PostPosted: Mon Nov 10, 2008 5:37 pm    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

RogerLacroix wrote:
2) A security exit on WMQ v6 or v7 for Solaris requires a 64-bit ONLY shared library.

Unless the application or MCA is a 32-bit processs.
Back to top
View user's profile Send private message
LouML
PostPosted: Tue Nov 11, 2008 4:18 am    Post subject: Reply with quote

Partisan

Joined: 10 Nov 2005
Posts: 305
Location: Jersey City, NJ / Bethpage, NY

Thanks to all for the information.

The first problem was - the missing ExitsDefaultPath64=/var/mqm/exits64 in the qm.ini file.
This is the first time I migrated a QM from 5.3.12 to 6.0.2.5. In past 5.3.12 to 6.0.2.5 upgrades, I've deleted the QM and rebuilt a fresh copy. When I've built the QM from scratch, the exits64 line was already in the qm.ini file. In this migration, it was not put in (of course I was supposed to add it manually but missed it)

The second problem was - The previous admin did not leave any security exit code around. While the security exit code is standard, I did not have the proper userid and password for the two specific channels that required security exits. This, compounded with an out-of-date gcc compiler, delayed us in getting the exits compiled.

We got the exits compiled, added the ExitsDefaultPath64 to the qm.ini file and recycled the QM.

While this fixed the problem, bringing down a production QM midday caused a multitude of other problems, that kept us busy the rest of the day.

All in all, a messy day. but we got through it.

Again, thanks to all for the swift replies.
_________________
Yeah, well, you know, that's just, like, your opinion, man. - The Dude
Back to top
View user's profile Send private message
JosephGramig
PostPosted: Tue Nov 11, 2008 1:27 pm    Post subject: Reply with quote

Grand Master

Joined: 09 Feb 2006
Posts: 1231
Location: Gold Coast of Florida, USA

Code:
ExitPath:
   ExitsDefaultPath=/var/mqm/exits/
   ExitsDefaultPath64=/var/mqm/exits64/


It is my understanding that the '/' should not be at the end of the line. The Info Center agrees, but you know, if you build a new QMGR on any UNIX platform, it will have that dang '/'.

Of course, a fully qualified path solves all, but still...
Back to top
View user's profile Send private message AIM Address
fjb_saper
PostPosted: Tue Nov 11, 2008 2:50 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20696
Location: LI,NY

Moved to user Exits
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
gbaddeley
PostPosted: Tue Nov 11, 2008 3:35 pm    Post subject: Reply with quote

Jedi

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

You fell for the trap that upgrading from MQ 5.3 to 6.0 of an existing queue manager does not add ExitsDefaultPath64 to qm.ini. If you recreate the qmgr under MQ 6.0 it will appear. Editing qm.ini is the other option.

MQ doesn't seem to care if there is or isn't a '/' on the end of the value.
_________________
Glenn
Back to top
View user's profile Send private message
RogerLacroix
PostPosted: Wed Nov 12, 2008 8:26 pm    Post subject: Reply with quote

Jedi Knight

Joined: 15 May 2001
Posts: 3253
Location: London, ON Canada

Hi Jeff,

mqjeff wrote:
RogerLacroix wrote:
2) A security exit on WMQ v6 or v7 for Solaris requires a 64-bit ONLY shared library.

Unless the application or MCA is a 32-bit processs.


For WMQ v6 or v7 on Solaris, the MCA requires channel security to be 64-bit (never 32-bit).

As noted in the original posting, the user was referencing sender channel (QMgr-to-QMgr).

For a client application that is using a CLNTCONN channel then yes either 32-bit or 64-bit channel security exit is required. It depends on if the application is 32-bit or 64-bit.

Note: I'm knee deep in this stuff everyday, so if I don't have it straight then I'm in big trouble.

Regards,
Regards,
Roger Lacroix
Capitalware Inc.
_________________
Capitalware: Transforming tomorrow into today.
Connected to MQ!
Twitter
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » User Exits » Upgrade from 5.3.12 to 6.0.2.5 - Channel Exit issue
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.