Author |
Message
|
bgoldstein |
Posted: Fri Sep 22, 2006 6:00 am Post subject: XAER_RMERR(-3) return code from xa_start |
|
|
Novice
Joined: 14 Feb 2002 Posts: 19 Location: Ameren Services, St.Louis,Mo., USA
|
Has anyone run into the following problem and can anyone recommend a way to fix it?
I just started upgrading to Mqseries version 6 (6.0.1.1). I have an application that uses a Java application program (Java 1.5.0.02) coded with the Mqseries base classes to select rows from an Oracle 9i (9.2.0.7) database and put messages on Mqseries. I receive the XAER_RMERR(-3) return code from xa_start when executing the MQBEGIN in the Java program. I am running on an Itanium server with HP-UX (11.23). I have recompiled my jdbcora load switch file in both 32-bit and 64-bit execution mode. I have done MQ traces and Java traces. I can see from the MQ trace that the xa_open call completes with a normal return code. This problem actually crashes the JVM giving me a core dump. I have not been able to get any kind of "ORA-?????" message from Oracle, or any other indication of what the problem is from the Oracle side. I have my debugging flag set to "0x7" and receive very little feedback (none useful) in my xatm log file. I do know that when the database was installed the initjvm.sql and initxa.sql members were not run. I had the DBA run these, but that had no effect on the problem. I also had them grant select authority to the "DBA_PENDING_TRANSACTIONS" table. I have opened an issue with IBM and they are working with me to resolve the problem. I thought that I would just throw this email out to the community while IBM is evaluating all of the doc that I sent them.
I don't see a lot of meaningful information, except that Oracle is returning with a XAER_RMERR(-3) return code.
Any ideas?
Thank you,
Barry _________________ +
| Barry Goldstein
| Ameren Services
| Saint Louis, Missouri
| bgoldstein@ameren.com
| (314) 554-4351
+ |
|
Back to top |
|
 |
jefflowrey |
Posted: Fri Sep 22, 2006 6:05 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Does the queue manager successfully start after you configured it to be the XA resource coordinator? _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
bgoldstein |
Posted: Fri Sep 22, 2006 6:16 am Post subject: Queue manager starts |
|
|
Novice
Joined: 14 Feb 2002 Posts: 19 Location: Ameren Services, St.Louis,Mo., USA
|
Yes, the queue manager starts normally and I receive no error messages. This leads me to believe that the queue manager is connecting to the database at startup time and working as it should. I have in the past received errors at startup time and then the program receives a 2121 when it does a MQBEGIN. This looks like a different situation.
Thank you,
Barry _________________ +
| Barry Goldstein
| Ameren Services
| Saint Louis, Missouri
| bgoldstein@ameren.com
| (314) 554-4351
+ |
|
Back to top |
|
 |
jefflowrey |
Posted: Fri Sep 22, 2006 6:32 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Is it a 32-bit Oracle instance? A 64-bit Oracle instance?
Can you use the C sample programs that use xa successfully? (amsxa*) _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
bgoldstein |
Posted: Fri Sep 22, 2006 7:04 am Post subject: |
|
|
Novice
Joined: 14 Feb 2002 Posts: 19 Location: Ameren Services, St.Louis,Mo., USA
|
It is a 64-bit oracle instance. I have not tried the xa sample programs. It will take a little effort to set this up for c-programs, but I will try to do it either this afternoon or on Monday. I would like to know if it works outside of Java and if I can get more information using a c-program. _________________ +
| Barry Goldstein
| Ameren Services
| Saint Louis, Missouri
| bgoldstein@ameren.com
| (314) 554-4351
+ |
|
Back to top |
|
 |
mvic |
Posted: Fri Sep 22, 2006 7:24 am Post subject: Re: XAER_RMERR(-3) return code from xa_start |
|
|
 Jedi
Joined: 09 Mar 2004 Posts: 2080
|
bgoldstein wrote: |
.
.
I receive the XAER_RMERR(-3) return code from xa_start when executing the MQBEGIN in the Java program. I am running on an Itanium server with HP-UX (11.23). I have recompiled my jdbcora load switch file in both 32-bit and 64-bit execution mode. I have done MQ traces and Java traces.
.
. |
Excellent quality problem description.
I think I will end up recommending you to call IBM support with this. If you provide a problem description like the above, it should quickly get through to the right team.
Additionally, it might be useful to see some of the MQ trace you have collected. And I wonder if you collected the following trace. Try
Code: |
$ export XAJTA_TRACEFILE=xajta
$ # recreate failure |
... and please post here some relevant contents from the resulting xajtaPID.trc file in the current working directory. (PID is the pid of the JVM). |
|
Back to top |
|
 |
bgoldstein |
Posted: Fri Sep 22, 2006 7:48 am Post subject: |
|
|
Novice
Joined: 14 Feb 2002 Posts: 19 Location: Ameren Services, St.Louis,Mo., USA
|
Here is the output from the XAJTA trace:
MQStart called
Process id: 6772
Database switch flags : 0
Database name: Oracle_XA
XA to JTA return code conversion is on (default)
Yippe a JVM - JavaVM* 7eec2620
XA_Open called
Process id: 6772
Open string: Oracle_XA+Acc=P/**********/************+SesTm=30+DbgFl=0xf+LogDir=/home/mqm/xatm/log+DB=pwb+Threads=true
RMId: 1
flags: 00000000
Issuing call via Java Java XAOpen returned 0
XA_Start called
Process id: 6772
RMId: 1
flags: 00000000
Xid Format : 5067085
Xid gtrid length : 16 data:4512b56a200016065351484231443035
Xid bqual length : 4 data:00000001
Issuing call via Java Java XAStart returned -3
This matches the information that I already have, but I don't think it gives much more. I do have a problem open with IBM. Hopefully, they will come up with something more for me. I imagine that they are probably trying to reproduce my problem, but they have not gotten back to me since I provided my last set of documentation. _________________ +
| Barry Goldstein
| Ameren Services
| Saint Louis, Missouri
| bgoldstein@ameren.com
| (314) 554-4351
+ |
|
Back to top |
|
 |
mvic |
Posted: Fri Sep 22, 2006 8:06 am Post subject: |
|
|
 Jedi
Joined: 09 Mar 2004 Posts: 2080
|
bgoldstein wrote: |
+Threads=true |
The last time I looked at this stuff (years ago, now, I'm afraid) when using a library named jdbcora to match JTA to XA - which is what you're doing here - you had to
(a) omit +Threads=true from the xa_open string, and
(b) use ThreadOfControl=PROCESS
in the XAResourceManager stanza in the qm.ini file. What happens if you do both of these things?
There are some related details (including the mention of ThreadOfControl=PROCESS) at http://publib.boulder.ibm.com/infocenter/wmqv6/v6r0/topic/com.ibm.mq.csqzaw.doc/jtajdbc.htm |
|
Back to top |
|
 |
bgoldstein |
Posted: Fri Oct 06, 2006 12:51 pm Post subject: Problem solved |
|
|
Novice
Joined: 14 Feb 2002 Posts: 19 Location: Ameren Services, St.Louis,Mo., USA
|
We have an answer to this problem that came from Oracle. We opened a TAR (PMR) with them and they came up with the solution. We were using classes12.zip (java 1.2 jdbc drivers) with Java 1.5 and they do not support that configuration. Instead, we needed to use ojdbc14.jar (java 1.4 jdbc drivers). Be careful because the ones for Oracle 9iR2 are very old and don't appear to be patched. Oracle recommended that we use the ojdbc14.jar file from 10.2.0.2 and this worked.
As I thought, once the xaer_rmerr went away the JVM stopped crashing. I still think IBM has some kind of error handling problem, but it isn't bothering me now since I eliminated the situation causing it. _________________ +
| Barry Goldstein
| Ameren Services
| Saint Louis, Missouri
| bgoldstein@ameren.com
| (314) 554-4351
+ |
|
Back to top |
|
 |
|