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 » IBM MQ Java / JMS » JVM Crash on Solaris with MQ 6

Post new topic  Reply to topic
 JVM Crash on Solaris with MQ 6 « View previous topic :: View next topic » 
Author Message
swmk18
PostPosted: Mon May 11, 2009 7:58 pm    Post subject: JVM Crash on Solaris with MQ 6 Reply with quote

Newbie

Joined: 11 May 2009
Posts: 2

Hi Experts,

JVM got crashed, what I believe, at creating Queue Manager from Java. I could see some native library from error dump.

Here is a part of error dump.

#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
# SIGSEGV (0xb) at pc=0xb2a6af3c, pid=11446, tid=21
#
# Java VM: Java HotSpot(TM) Server VM (1.5.0_16-b02 mixed mode)
# Problematic frame:
# C [libmqmcs.so+0x6af3c] xtrEstablishTraceStatus+0xcc
#

--------------- T H R E A D ---------------

Current thread (0x00300798): JavaThread "FTI Thread" [_thread_in_native, id=21]

siginfo:si_signo=11, si_errno=0, si_code=1, si_addr=0xfac803e0

Registers:
O0=0x00000000 O1=0xb2d7db4c O2=0x00001464 O3=0x00002800
O4=0x00001000 O5=0x0000117c O6=0xb2d7dae8 O7=0xb2bbe3e0
G1=0xfac80000 G2=0x00000000 G3=0x00002800 G4=0x000028d8
G5=0xb2b8c0ac G6=0x00000000 G7=0xfb969a00 Y=0x00000000
PC=0xb2a6af3c nPC=0xb2a6af40


Top of Stack: (sp=0xb2d7dae8)
0xb2d7dae8: fac80000 00000000 00000000 00000000
0xb2d7daf8: 00000000 00001000 00001074 b2b8c148
0xb2d7db08: 00000000 00659c48 b2b87554 b2bbed68
0xb2d7db18: 00002800 0000284c b2d7db50 b2a4fdc8
0xb2d7db28: 00312b38 00000004 6a617661 00000000
0xb2d7db38: 00000000 00000000 00000000 00000000
0xb2d7db48: 00000000 00659c48 00000000 b2b87554
0xb2d7db58: 00000000 b2bbed68 00000000 00000000

Instructions: (pc=0xb2a6af3c)
0xb2a6af2c: e0 06 e0 34 9a 03 21 7c de 06 80 0d e4 03 e0 00
0xb2a6af3c: e2 04 23 e0 80 a4 80 11 22 48 00 05 d6 06 e0 28

Stack: [0xb2d00000,0xb2d80000), sp=0xb2d7dae8, free space=502k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [libmqmcs.so+0x6af3c] xtrEstablishTraceStatus+0xcc
C [libmqmcs.so+0x4fdd0] xcsInitialize+0x4e4
C [libmqz.so+0x70748] zstInitCS+0x144
C [libmqz.so+0x5ed90] zstMQConnect+0x8e0
C [libmqz.so+0x5d794] zstMQCONNX+0x190
C [libmqm.so+0x28ae4] MQCONNX+0x10c
C [libmqjbnd05.so+0x6af8] Java_com_ibm_mq_server_MQSESSION__1MQCONNX+0x1ac
j com.ibm.mq.server.MQSESSION._MQCONNX(Ljava/lang/String;Lcom/ibm/mq/MQConnectionOptions;Lcom/ibm/mq/Pint;Lcom/ibm/mq/Pint;Lcom/ibm/mq/Pint;)V+-133917
j com.ibm.mq.server.MQSESSION._MQCONNX(Ljava/lang/String;Lcom/ibm/mq/MQConnectionOptions;Lcom/ibm/mq/Pint;Lcom/ibm/mq/Pint;Lcom/ibm/mq/Pint;)V+0
j com.ibm.mq.server.MQSESSION.MQCONN(Ljava/lang/String;Lcom/ibm/mq/Pint;Lcom/ibm/mq/Pint;Lcom/ibm/mq/Pint;Lcom/ibm/mq/Pthrowable;)V+111
v ~C2IAdapter
J com.ibm.mq.MQManagedConnectionJ11.<init>(Ljava/lang/String;Ljava/util/Hashtable;Ljavax/resource/spi/ConnectionRequestInfo;Lcom/ibm/mq/MQManagedConnectionFactory;)V
v ~I2CAdapter
j com.ibm.mq.MQBindingsManagedConnectionFactoryJ11._createManagedConnection(Ljavax/resource/spi/ConnectionRequestInfo;Z)Lcom/ibm/mq/MQManagedConnectionJ11;+340
j com.ibm.mq.MQBindingsManagedConnectionFactoryJ11.createManagedConnection(Ljavax/resource/spi/ConnectionRequestInfo;)Lcom/ibm/mq/MQManagedConnectionJ11;+3
j com.ibm.mq.StoredManagedConnection.<init>(Lcom/ibm/mq/MQManagedConnectionFactory;Ljavax/resource/spi/ConnectionRequestInfo;Lcom/ibm/mq/ManagedConnectionStore;Lcom/ibm/mq/PoolScavenger;Lcom/ibm/mq/MQSimpleConnectionManager;)V+61
j com.ibm.mq.MQSimpleConnectionManager.allocateConnection(Lcom/ibm/mq/MQManagedConnectionFactory;Ljavax/resource/spi/ConnectionRequestInfo;)Ljava/lang/Object;+243
j com.ibm.mq.MQQueueManagerFactory.obtainBaseMQQueueManager(Ljava/lang/String;Ljava/util/Hashtable;Lcom/ibm/mq/MQConnectionManager;)Lcom/ibm/mq/MQQueueManager;+31
j com.ibm.mq.MQQueueManagerFactory.procure(Ljava/lang/String;Ljava/util/Hashtable;Lcom/ibm/mq/MQConnectionManager;Ljavax/resource/spi/ConnectionManager;)Lcom/ibm/mq/MQQueueManager;+78
j com.ibm.mq.MQQueueManagerFactory.constructQueueManager(Lcom/ibm/mq/QueueManagerFactoryProperties;)Lcom/ibm/mq/MQQueueManager;+71
j com.ibm.mq.MQQueueManagerFactory.createQueueManager(ILcom/ibm/mq/QueueManagerFactoryProperties;)Lcom/ibm/mq/MQQueueManager;+155
j com.ibm.mq.MQQueueManager.<init>(Ljava/lang/String;)V+134

I'm not sure whether I am at the right place to seek for advise. But I believe there would be some experts who knows the cause.

Thanks a lot for your help.
Back to top
View user's profile Send private message
Vitor
PostPosted: Mon May 11, 2009 11:36 pm    Post subject: Re: JVM Crash on Solaris with MQ 6 Reply with quote

Grand High Poobah

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

swmk18 wrote:
JVM got crashed, what I believe, at creating Queue Manager from Java.


Am I correct in saying that what you mean is your application was attempting to create a Queue Manager object (as I notice a failed connection in the dump) rather than using a Java application to actually create a Queue Manager on the server?

In either event, could you post a snippet of the code in question? Also the maintenance level of the WMQv6 in use.

You mention Solaris? Which version, and is this a zoned machine?

swmk18 wrote:
I'm not sure whether I am at the right place to seek for advise. But I believe there would be some experts who knows the cause.


Your faith in us is touching.....
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
Vitor
PostPosted: Mon May 11, 2009 11:39 pm    Post subject: Reply with quote

Grand High Poobah

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

Moved to potentially more relevant section (what I choose to believe the poster meant when he wondered about being in "the right place")


_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
swmk18
PostPosted: Tue May 12, 2009 12:58 am    Post subject: Reply with quote

Newbie

Joined: 11 May 2009
Posts: 2

Hi Vitor,

Thanks for your reply. Here is some snippets.

Code:
public MQUtility (String in_managername) throws MQUtilityException {
        super ();
       
        MQException.log = null;        // turn off default logging.
        queues = new Vector ();
        pattern = -1;
       
        try {
            qmgr = new MQQueueManager (in_managername);
        }
        catch (MQException mqe)
        {
            throw new MQUtilityException(mqe.getMessage(), mqe);
        }
    }

    /**
     * Open a queue on given MQ Manager, returns the MQQueue handle.
     */
    public MQQueue openQueue (String in_queuename, char in_mode, int in_pattern) throws MQUtilityException {
       
       if (pattern == -1) {
          pattern = in_pattern;
       }
       
       try {
            int openOptions = 0;
            switch (in_mode) {
                case 'w':
                {
                    openOptions = MQC.MQOO_FAIL_IF_QUIESCING | MQC.MQOO_OUTPUT;
                    pmo = new MQPutMessageOptions ();
                    pmo.options = MQC.MQPMO_NEW_MSG_ID | MQC.MQPMO_FAIL_IF_QUIESCING;
                   
                    if (pattern == MQPatterns.PSEUDO_SYNC_UPD) {
                        pmo.options |= MQC.MQPMO_SYNCPOINT;
                    }
                    break;
                }
                case 'r':
                {
                    openOptions = MQC.MQOO_FAIL_IF_QUIESCING | MQC.MQOO_BROWSE | MQC.MQOO_INPUT_AS_Q_DEF;
                    gmo = new MQGetMessageOptions ();
                    gmo.options = MQC.MQGMO_FAIL_IF_QUIESCING | MQC.MQGMO_WAIT;
                   
                    if (pattern == MQPatterns.PSEUDO_SYNC_UPD) {
                        gmo.options |= MQC.MQGMO_SYNCPOINT;
                    }
                    else if (pattern == MQPatterns.PSEUDO_SYNC_INQ ||
                        pattern == MQPatterns.PSEUDO_SYNC_UPD) {
                       
                        gmo.waitInterval = 10000;    // 10 sec timeout
                        gmo.matchOptions = MQC.MQMO_MATCH_CORREL_ID;
                       
                    }
                    else if (pattern == MQPatterns.ASYNC_UPD_ACK) {
                        gmo.waitInterval = 10000;    // 10 sec timeout
                    }
                    else if (pattern == MQPatterns.SERVER) {
                        gmo.waitInterval = MQC.MQWI_UNLIMITED;
                    }
                    break;
                }
                default:
                {
                    throw new MQUtilityException("Invalid mode");
                }
            }
           
            String dynamicQueueName = null;
            if (pattern == MQPatterns.PSEUDO_SYNC_INQ ||
                pattern == MQPatterns.ASYNC_INQ ||
                pattern == MQPatterns.PSEUDO_SYNC_UPD) {
                dynamicQueueName = "mqPattern*";
            }
           
            MQQueue mqQueue = qmgr.accessQueue (in_queuename, openOptions, null, dynamicQueueName, null);
            queues.addElement (mqQueue);
           
            return mqQueue;
        }
        catch (MQException mqe) {
            throw new MQUtilityException(mqe.getMessage(), mqe);
        }
    }


Be waiting for your advise. [/code]
Back to top
View user's profile Send private message
Vitor
PostPosted: Tue May 12, 2009 1:14 am    Post subject: Reply with quote

Grand High Poobah

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

swmk18 wrote:
Be waiting for your advise.


Given my level of Java knowledge, I'm unconvinced it'd be worth waiting for.

On the understanding I barely know what I'm talking about with Java (and someone more expert will be along in a minute I'm sure) are you trying to establish a client or a server connection here? How have you configured for that, and what environment is the Java running in generally?

It would also help if you answered my other questions on levels and versions.
_________________
Honesty is the best policy.
Insanity is the best defence.
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 » IBM MQ Java / JMS » JVM Crash on Solaris with MQ 6
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.