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 Discussion » IBM Supplied API Exit not working

Post new topic  Reply to topic Goto page 1, 2  Next
 IBM Supplied API Exit not working « View previous topic :: View next topic » 
Author Message
j1
PostPosted: Wed Apr 12, 2006 7:33 am    Post subject: IBM Supplied API Exit not working Reply with quote

Centurion

Joined: 23 Jun 2003
Posts: 139

Hi All,

Im trying to get the IBM supplied API exit amqsaxe located in /opt/mqm/samp/bin to work. But no trace files are generated. here is what I have done: Updated the qm.ini with the appropriate entries. Here is what my qm.ini looks like :

Quote:

#*******************************************************************#
#* Module Name: qm.ini *#
#* Type : WebSphere MQ queue manager configuration file *#
# Function : Define the configuration of a single queue manager *#
#* *#
#*******************************************************************#
#* Notes : *#
#* 1) This file defines the configuration of the queue manager *#
#* *#
#*******************************************************************#
ExitPath:
# ExitsDefaultPath=/var/mqm/exits/
# ExitsDefaultPath64=/var/mqm/exits64/
#* *#
#* *#
Log:
LogPrimaryFiles=3
LogSecondaryFiles=2
LogFilePages=1024
LogType=CIRCULAR
LogBufferPages=0
LogPath=/var/mqm/log/QMTEST/
LogWriteIntegrity=TripleWrite
Service:
Name=AuthorizationService
EntryPoints=13
ServiceComponent:
Service=AuthorizationService
Name=MQSeries.UNIX.auth.service
Module=/opt/mqm/lib64/amqzfu
ComponentDataSize=0

ApiExitLocal:
Sequence=100
Function=EntryPoint
Module=/opt/mqm/samp/bin/amqsaxe
Name=SampleApiExit


I have also set MQS_TRACE_LOGFILE to '/tmp/MqiTrace'

I am trying to do a local amqput...
Back to top
View user's profile Send private message
wschutz
PostPosted: Wed Apr 12, 2006 8:04 am    Post subject: Reply with quote

Jedi Knight

Joined: 02 Jun 2005
Posts: 3316
Location: IBM (retired)

What did you set for MQAPI_TRACE_OPTIONS and MQAPI_TRACE_LOGFILE in the environment?

btw, mine are set to:

MQAPI_TRACE_LOGFILE=/tmp/mqapi.trace
MQAPI_TRACE_OPTIONS=18
_________________
-wayne
Back to top
View user's profile Send private message Send e-mail AIM Address
RogerLacroix
PostPosted: Wed Apr 12, 2006 8:14 am    Post subject: Reply with quote

Jedi Knight

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

Hello j1,

First off, don't double post:
http://www.mqseries.net/phpBB2/viewtopic.php?t=11268

Secondly, did you read the following posting?
http://www.mqseries.net/phpBB2/viewtopic.php?t=20523

Thirdly, what research / searches have you done? Did you try Google or mqseries.net ? Because doing a simple search for xecU_S_LOAD_FAILED would give you:
http://mqseries.net/phpBB/viewtopic.php?p=99882

Which is mostly likely your problem (except for setting the environment variables).

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
j1
PostPosted: Wed Apr 12, 2006 10:07 am    Post subject: Reply with quote

Centurion

Joined: 23 Jun 2003
Posts: 139

Thansk wschutz,

Hi Roger,

Quote:
First off, don't double post:


First off, if u look carefully, my other post refers to an ERROR which I am not referring to here..I am not getting any errors any more in this case. just no output.

Quote:
Secondly, did you read the following posting?
http://www.mqseries.net/phpBB2/viewtopic.php?t=20523


As you may have noticed in my previous post, I have been trying to get this to Work for two days now and have ample amounts of attempting to test and searchhing not only in google and mqseries.net but also the v6 infocenter. Also, this is not a custom written exit but a simple matter of getting the IBM supplied exit to work...

With reference to ur third post, that posting you mention is also referenced in the earlier posting where I posted and both these postings basically talk about compiling and linking options.
Back to top
View user's profile Send private message
wschutz
PostPosted: Wed Apr 12, 2006 10:59 am    Post subject: Reply with quote

Jedi Knight

Joined: 02 Jun 2005
Posts: 3316
Location: IBM (retired)

so, any joy with the environment variables?
_________________
-wayne
Back to top
View user's profile Send private message Send e-mail AIM Address
j1
PostPosted: Wed Apr 12, 2006 11:35 am    Post subject: Reply with quote

Centurion

Joined: 23 Jun 2003
Posts: 139

Yup, while the exit is now loading, and generating trace files the MQCONN calls are failing with an MQRC 2374 ' MQRC_API_EXIT_ERROR'. could it be an issue with the LD_LIBRARY_PATH, where the exit is not finding oneof the libmqm files ? I have set it to include /opt/mqm/lib , /usr/lib/usr/local/lib etc ..
Back to top
View user's profile Send private message
wschutz
PostPosted: Wed Apr 12, 2006 11:44 am    Post subject: Reply with quote

Jedi Knight

Joined: 02 Jun 2005
Posts: 3316
Location: IBM (retired)

Quote:
Programmer Response:
Consult the FFST record to obtain more detail about the problem.
??
_________________
-wayne
Back to top
View user's profile Send private message Send e-mail AIM Address
j1
PostPosted: Wed Apr 12, 2006 12:10 pm    Post subject: Reply with quote

Centurion

Joined: 23 Jun 2003
Posts: 139

Apparently it is failing in the 'zutCallApiExitsAfterConn' part. The only thing I see in the Trace History is :
Quote:

-----{ xcsGetEnvironmentString
-----} xcsGetEnvironmentString rc=xecE_E_ENV_VAR_NOT_FOUND


Does that mean that the trace file currently being generated is for the CallApiExitsBEFOREConn part. How do i find out which env var is beng referred to ...
Back to top
View user's profile Send private message
j1
PostPosted: Wed Apr 12, 2006 12:39 pm    Post subject: Reply with quote

Centurion

Joined: 23 Jun 2003
Posts: 139

Could it be a shared memory issue. I see the 'Comment1' at the bottom of the FFST header says 'SIGBUS'. The last time i saw 'SIGBUS' errors it was diagnosed as a shared memory issue. the first pata of the FFST is below :
Quote:

+-----------------------------------------------------------------------------+
| |
| WebSphere MQ First Failure Symptom Report |
| ========================================= |
| |
| Date/Time :- Wednesday April 12 16:35:02 EDT 2006 |
| Host Name :- xxxxx22 (SunOS 5.9) |
| PIDS :- 5724H7203 |
| LVLS :- 6.0.1.0 |
| Product Long Name :- WebSphere MQ for Solaris (SPARC platform) |
| Vendor :- IBM |
| Probe Id :- XC130004 |
| Application Name :- MQM |
| Component :- xehExceptionHandler |
| SCCS Info :- lib/cs/unix/amqxerrx.c, 1.214.1.3 |
| Line Number :- 1323 |
| Build Date :- Oct 21 2005 |
| CMVC level :- p600-100-051021 |
| Build Type :- IKAP - (Production) |
| UserID :- 00001002 (mqm) |
| Program Name :- amqsput |
| Addressing mode :- 64-bit |
| Process :- 3160 |
| Thread :- 1 |
| QueueManager :- NEW |
| ConnId(1) IPCC :- 78 |
| Major Errorcode :- STOP |
| Minor Errorcode :- OK |
| Probe Type :- HALT6109 |
| Probe Severity :- 1 |
| Probe Description :- AMQ6109: An internal WebSphere MQ error has occurred. |
| FDCSequenceNumber :- 0 |
| Arith1 :- 10 a |
| Comment1 :- SIGBUS |
| |
+-----------------------------------------------------------------------------+
Back to top
View user's profile Send private message
wschutz
PostPosted: Wed Apr 12, 2006 3:38 pm    Post subject: Reply with quote

Jedi Knight

Joined: 02 Jun 2005
Posts: 3316
Location: IBM (retired)

Well, I see now why you originally set: MQS_TRACE_LOGFILE
http://publib.boulder.ibm.com/infocenter/wmqv6/v6r0/topic/com.ibm.mq.csqzal.doc/saxe0.htm
I've sent feedback to the ID folks about that error....

can you try specifying amqsaxe_r ? (since, at least on my aix system, amqsput is linked with the _r libraries). Maybe it doesn't make a difference, but its worth a shot.

UPDATE: First, i see there is no amqsaxe_r in the samp/bin directory, so obviously that will not work. Second, I can reproduce your error on my test Solaris machine (I get SIGBUS as well)... I think its time for you to open a problem report with IBM.

btw...have you applied FP1 yet?
_________________
-wayne
Back to top
View user's profile Send private message Send e-mail AIM Address
j1
PostPosted: Thu Apr 13, 2006 5:24 am    Post subject: Reply with quote

Centurion

Joined: 23 Jun 2003
Posts: 139

Quote:

$ dspmqver
Name: WebSphere MQ
Version: 6.0.1.0
CMVC level: p600-100-051021
BuildType: IKAP - (Production)


Raised PMR with IBM.
Back to top
View user's profile Send private message
j1
PostPosted: Thu Apr 13, 2006 9:06 am    Post subject: Reply with quote

Centurion

Joined: 23 Jun 2003
Posts: 139

Looks like the culprit may be that the IBM supplied exit is 32-bit, but MQ is looking for 64 bit libraries.
Quote:

----- amqzxmpa.c : 420 --------------------------------------------------------
04/13/06 12:57:07 - Process(6583.1) User(mqm) Program(amqzxma0_nd)
AMQ6256: The system could not dynamically load the shared library
'/opt/mqm/samp/amqsaxe'. The queue manager will continue without this module.

EXPLANATION:
This message applies to UNIX systems. The shared library
'/opt/mqm/samp/amqsaxe' failed to load as it is probably a 32-bit library, a 64-bit library is required. Note that MQ tried to find a 64-bit library named '/opt/mqm/samp64/amqsaxe', but failed. The following message gives details of the original failure.
ACTION:
Supply the name of a 64-bit library.
----- amqxufnx.c : 2054 -------------------------------------------------------



I compiled and linked using the below options:
Quote:

/opt/SUNWspro/bin/cc -I/opt/mqm/inc -KPIC -mt -L/opt/mqm/lib64 -R/opt/mqm/lib64 -hEntryPoint -dy -G -lmqmzf -lmqm -lmqmcs -lmqmzse amqsaxe0.c -o amqsaxe


It still gives the same error. Is there anything I am doing wrong here. Also, can Mq be forced to use the 32-bit exit instead

update : Pls ignore this reply. This was the copy of the exit I compiled in /opt/mqm/samp. The one in bin is still throwing errors after the conn call.
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Thu Apr 13, 2006 9:25 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

You have to have an exit in both the 64 bit and the 32 bit locations, as I understand it.

So you need to compile a 32 bit exit and put it in /opt/mqm/samp, and a 64bit exit and put it in /opt/mqm/samp64.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
wschutz
PostPosted: Thu Apr 13, 2006 10:13 am    Post subject: Reply with quote

Jedi Knight

Joined: 02 Jun 2005
Posts: 3316
Location: IBM (retired)

Jeff's correct, you'll need both the 32 and 64 bit libraries. I would suggest compiling fresh copies into /var/mqm/exits and /var/mqm/exits64.

I think the link for doing the compile was previously given.

The doc seems to be wrong, it suggests that if you run a 64 bit executale (as amqsput is), you only need the 64 bit libraries, when in fact, you do need both (I got it working).

http://publib.boulder.ibm.com/infocenter/wmqv6/v6r0/topic/com.ibm.mq.csqzao.doc/wmqm1410.htm
_________________
-wayne
Back to top
View user's profile Send private message Send e-mail AIM Address
j1
PostPosted: Thu Apr 13, 2006 12:24 pm    Post subject: Reply with quote

Centurion

Joined: 23 Jun 2003
Posts: 139

Ok, I still cant seem to get it to work . IBM suggests to put the exit in /var/mqm/exits64, so heres the Compile statement :
Quote:

/opt/SUNWspro/bin/cc -xarch=v9 -xcode=pic32 -mt -G -hEntryPoint -o /var/mqm/exits64/amqsaxe amqsaxe0.c -I/opt/mqm/inc -L/opt/mqm/lib64 -R/opt/mqm/lib64 -R/usr/lib/64 -lmqm -lmqmcs -lmqmzse -lmqmzf -lsocket -lnsl -ldl
and
/opt/SUNWspro/bin/cc -xarch=v8plus -xcode=pic32 -mt -G -hEntryPoint -o /var/mqm/exits/amqsaxe amqsaxe0.c -I/opt/mqm/inc -L/opt/mqm/lib -R/opt/mqm/lib -R/usr/lib/32 -lmqm -lmqmcs -lmqmzse -lmqmzf -lsocket -lnsl -ldl

LD_LIBRARY_PATH includes /opt/mqm/lib:/opt/mqm/lib64

wschutz, what else did you do different. I put the exits in /var/mqm/exits64 and /var/mqm/exits since thats what the Documentation suggests and the samp64 drectory dosent exist on solaris.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum Index » General Discussion » IBM Supplied API Exit not working
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.