Native code don't find env var

Hi,
I have an application which calls functions from a .so library via JNI. The problem
is: .so library needs access an environment variable. My EJB calls a single java
class where are defined native methods from the .so library. If I implement a main
method in the single class and run it using java, the class run property (the env
var exists). But, when the .so library are invoked by EJB, it reports env var is
needed.
Weblogic is called from a build.xml from ant.
I already tried:
- use <sysproperty>
- -D
The .so is a product especific api, so re-write its code are out of solution...
Thank you for the help.

I have the same problem. I downloaded version 1.4.1 today. I compile the .java program clean. However, I must execute this command from the bin library, otherwise it says bad command or file. Once the .class file is created I execute the java File.class statement. The error I get is: "Exception in thread "main" java.lang.NoClassDefFoundError: File".
My regional settings is USA/English. Any other suggestions?

Similar Messages

  • Calling existing C++ dll from native code causes an ACCESS_VIOLATION

    Hi everyone,
    I'm having issues creating a Java app to call an existing c++ DLL. I've done extensive searching for a solution and found lots of goodies, but nothing to fix my problem yet.
    I've gone through the JNI tutorial and created my java class, used javah, and created my native code according to the tutorial.
    I'm new to dealing with DLLs so I'm not sure if there are some steps that I'm not taking.
    The issue comes when I run the program. I get an EXCEPTION_ACCESS_VIOLATION.
    the DLL I'm trying to call makes a call to a device on the USB port. I also have the source code and header files for the DLL but thought it would be easier to just have to deal with the already built DLL.
    After putting some print statements in the native function, the violation comes when I try to call the function in the external DLL. The DLL itself loads correctly (as far as I know).
    Here my native method that will load the external dll. I got the code to call the DLL method from:
    http://goff.nu/techarticles/development/cpp/calldll.html
    JNIEXPORT void JNICALL
    Java_OCPMControl_OCPMSetPixelCount (JNIEnv *env, jobject obj, jint pixelCount)
    //load the dll
    HINSTANCE ocpmSerialDLL = LoadLibrary("OCPMSerialDLL");
    /* get pointer to the function in the dll*/
    FARPROC myDLLFunction = GetProcAddress(HMODULE(ocpmSerialDLL), "OCPMSetPixelCount");
    /* Define the Function in the DLL for reuse. This is just prototyping
    * the dll's function. A mock of it. Use "stdcall" for maximum compatibility.
    typedef void (__stdcall * FUNC)(enum ePixelNum);
    FUNC MyFunction;
    MyFunction = FUNC(myDLLFunction);
    printf("Calling function\n");
    /* The actual call to the function contained in the dll */
    MyFunction(PIXEL256);
    /* Release the Dll */
    FreeLibrary(ocpmSerialDLL);
    When I run the program, I get the following error:
    An unexpected exception has been detected in native code outside the VM.
    Unexpected Signal : EXCEPTION_ACCESS_VIOLATION (0xc0000005) occurred at PC=0x182
    91E6B
    Function=[Unknown.]
    Library=C:\sun\MyJava\ocpm\src\OCPMSerialDLL.dll
    NOTE: We are unable to locate the function name symbol for the error
    just occurred. Please refer to release documentation for possible
    reason and solutions.
    Current Java thread:
    at OCPMControl.OCPMSetPixelCount(Native Method)
    at OCPMControl.getData(OCPMControl.java:167)
    at OCPMService.main(OCPMService.java:46)
    Dynamic libraries:
    0x00400000 - 0x00406000 c:\sun\j2sdk1.4.2_03\bin\java.exe
    0x77F80000 - 0x77FFD000 C:\WINNT\system32\ntdll.dll
    0x7C2D0000 - 0x7C332000 C:\WINNT\system32\ADVAPI32.dll
    0x7C570000 - 0x7C628000 C:\WINNT\system32\KERNEL32.DLL
    0x77D30000 - 0x77DA1000 C:\WINNT\system32\RPCRT4.DLL
    0x78000000 - 0x78045000 C:\WINNT\system32\MSVCRT.dll
    0x08000000 - 0x08138000 c:\sun\j2sdk1.4.2_03\jre\bin\client\jvm.dll
    0x77E10000 - 0x77E75000 C:\WINNT\system32\USER32.dll
    0x77F40000 - 0x77F7E000 C:\WINNT\system32\GDI32.DLL
    0x77570000 - 0x775A0000 C:\WINNT\system32\WINMM.dll
    0x10000000 - 0x10007000 c:\sun\j2sdk1.4.2_03\jre\bin\hpi.dll
    0x007C0000 - 0x007CE000 c:\sun\j2sdk1.4.2_03\jre\bin\verify.dll
    0x007D0000 - 0x007E9000 c:\sun\j2sdk1.4.2_03\jre\bin\java.dll
    0x007F0000 - 0x007FD000 c:\sun\j2sdk1.4.2_03\jre\bin\zip.dll
    0x18270000 - 0x1827E000 C:\sun\MyJava\ocpm\src\OCPMNative.dll
    0x18290000 - 0x182AA000 C:\sun\MyJava\ocpm\src\OCPMSerialDLL.dll
    0x68120000 - 0x681A1000 C:\sun\MyJava\ocpm\src\instrsup.dll
    0x76B30000 - 0x76B6E000 C:\WINNT\system32\comdlg32.dll
    0x70A70000 - 0x70AD5000 C:\WINNT\system32\SHLWAPI.DLL
    0x71710000 - 0x71794000 C:\WINNT\system32\COMCTL32.DLL
    0x782F0000 - 0x78538000 C:\WINNT\system32\SHELL32.DLL
    0x77920000 - 0x77943000 C:\WINNT\system32\imagehlp.dll
    0x72A00000 - 0x72A2D000 C:\WINNT\system32\DBGHELP.dll
    0x690A0000 - 0x690AB000 C:\WINNT\system32\PSAPI.DLL
    Heap at VM Abort:
    Heap
    def new generation total 576K, used 140K [0x10010000, 0x100b0000, 0x104f0000)
    eden space 512K, 27% used [0x10010000, 0x10033368, 0x10090000)
    from space 64K, 0% used [0x10090000, 0x10090000, 0x100a0000)
    to space 64K, 0% used [0x100a0000, 0x100a0000, 0x100b0000)
    tenured generation total 1408K, used 0K [0x104f0000, 0x10650000, 0x14010000)
    the space 1408K, 0% used [0x104f0000, 0x104f0000, 0x104f0200, 0x10650000)
    compacting perm gen total 4096K, used 1012K [0x14010000, 0x14410000, 0x1801000
    0)
    the space 4096K, 24% used [0x14010000, 0x1410d1f0, 0x1410d200, 0x14410000)
    Local Time = Wed May 12 10:53:56 2004
    Elapsed Time = 10
    # The exception above was detected in native code outside the VM
    # Java VM: Java HotSpot(TM) Client VM (1.4.2_03-b02 mixed mode)
    # An error report file has been saved as hs_err_pid2120.log.
    # Please refer to the file for further information.
    Is there something else I have to do to tell the JVM that the external DLL call isn't an Access Violation?
    Would it be easier to use the source files instead?
    Thanks to anyone who can help me out here!
    Scott Campbell

    Thanks,
    The problem has been solved. I wasn't linking the dll properly to access the external DLL and thus, my native DLL was looking for methods that it didn't know how to find. which was easily solved by adding a few options when creating my native dll.
    Here is the link I found to solve the problem incase anyone else has issues like this. It is regarding implicit v.s. explicit linking to external DLLs in using visual C++.
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/_core_link_an_executable_to_a_dll.asp
    Scott.

  • [JNI Beginner] GC of Java arrays returned by the native code

    Hello all,
    I am beginning with JNI, to integrate a C library that pilots an industrial equipment, into a java UI. This library enables to exchange various proprietary PDUs (protocol data units), with the equipment, up and down (request/replies). Both requests and replies are arrays of bytes (+char*+).
    "Request" byte arrays are constructed by Java code, which passes them to the JNI code that glues with the lib. "Reply" byte arrays are returned to the Java code, which analyzes them.
    The "return reply" part is very similar to this [tutorial example|http://java.sun.com/developer/onlineTraining/Programming/JDCBook/jniexamp.html] , which returns bytes read from a file. However there's something I don't understand with regard to garbage collection of the returned byte array:
    - in this stock example, the C code creates a Java byte array fills it, and simply returns it (example code stripped to highlight only the parts relevant to my question):
        jByteArray=(*env)->NewByteArray(env, size);
        (*env)->SetByteArrayRegion(env, jByteArray, 0, size, (jbyte *)sourceBytes);
        return (jByteArray);What will happen to this Java array (jByteArray) with regard to garbage collection?
    - if it's no more referenced (the example Java code just systemouts it and forgets it), will it be eligible to GC?
    - if it is referenced by a Java variable (in my case, I plan to keep a reference to several replies as the business logic requires to analyze several of them together), do regular Java language GC rules apply, and prevent eligibility of the array to GC as long as it's referenced?
    That may sound obvious, but what mixes me up is that the same tutorial describes memory issues in subsequent chapters: spécifically, the section on "passing arrays states that:
    [in the example] the array is returned to the calling Java language method, which in turn, garbage collects the reference to the array when it is no longer usedThis seems to answer "yes" to both my questions above :o) But it goes on:
    The array can be explicitly freed with the following call:
    {code} (*env)-> ReleaseByteArrayElements(env, jByteArray, (jbyte *)sourceBytes, 0);{code}Under what circumstances would one need to explicitly free jByteArray when it's about to be returned to the Java calling method? Or does this sentence apply to completely different situations (such as, when the array is +not+ returned as is to a Java method)?
    The tutorial's next section has a much-expected +memory issues+ paragraph, from which I quote:
    By default, JNI uses local references when creating objects inside a native method. This means when the method returns, the references are eligible to be garbage collected.I assume this means, +unless the references are assigned, in the Java code, to a Java variable+, right?
    If you want an object to persist across native method calls, use a global reference instead. A global reference is created from a local reference by calling NewGlobalReference on the the local reference.I assume this enables the C code to maintain a global reference to a java object even if it's not referenced anymore from the Java variables, right?
    I also checked the [JNI specification|http://download-llnw.oracle.com/javase/6/docs/technotes/guides/jni/spec/design.html#wp1242] , but this didn't clear the doubt completely:
    *Global and Local References*
    The JNI divides object references used by the native code into two categories: local and global references. Local references are valid for the duration of a native method call, and are automatically freed after the native method returns. Global references remain valid until they are explicitly freed.
    Objects are passed to native methods as local references. All Java objects returned by JNI functions are local references. The JNI allows the programmer to create global references from local references. JNI functions that expect Java objects accept both global and local references. A native method may return a local or global reference to the VM as its resultAgain I assume the intent is that Global references are meant for objects that have to survive across native calls, regardless of whether they are referenced by Java code. But what worries me is that combining both sentences end up in +All Java objects returned by JNI functions are local references (...) and are automatically freed after the native method returns.+.
    Could you clarify how to make sure that my Java byte arrays, be they allocated in C code, behave consistently with a Java array allocated in Java code (I'm familiar already with GC of "regular" Java objects)?
    Thanks in advance, and best regards,
    J.

    jduprez wrote:
    Hello all,
    I am beginning with JNI, to integrate a C library that pilots an industrial equipment, into a java UI. This library enables to exchange various proprietary PDUs (protocol data units), with the equipment, up and down (request/replies). Both requests and replies are arrays of bytes (+char*+).
    "Request" byte arrays are constructed by Java code, which passes them to the JNI code that glues with the lib. "Reply" byte arrays are returned to the Java code, which analyzes them.
    The "return reply" part is very similar to this [tutorial example|http://java.sun.com/developer/onlineTraining/Programming/JDCBook/jniexamp.html] , which returns bytes read from a file. However there's something I don't understand with regard to garbage collection of the returned byte array:
    - in this stock example, the C code creates a Java byte array fills it, and simply returns it (example code stripped to highlight only the parts relevant to my question):
        jByteArray=(*env)->NewByteArray(env, size);
    (*env)->SetByteArrayRegion(env, jByteArray, 0, size, (jbyte *)sourceBytes);
    return (jByteArray);What will happen to this Java array (jByteArray) with regard to garbage collection?It will be collected when it is no longer referenced.
    The fact that you created it in jni doesn't change that.
    The array can be explicitly freed with the following call:
    (*env)-> ReleaseByteArrayElements(env, jByteArray, (jbyte *)sourceBytes, 0);Under what circumstances would one need to explicitly free jByteArray when it's about to be returned to the Java calling method? Or does this sentence apply to completely different situations (such as, when the array is not returned as is to a Java method)?
    Per what the tutorial says it is either poorly worded or just wrong.
    An array which has been properly initialized it a just a java object. Thus it can be freed like any other object.
    Per your original question that does not concern you because you return it.
    In terms of why you need to explicitly free local references.
    [http://download-llnw.oracle.com/javase/6/docs/technotes/guides/jni/spec/design.html#wp16785]
    The tutorial's next section has a much-expected memory issues paragraph, from which I quote:
    By default, JNI uses local references when creating objects inside a native method. This means when the method returns, the references are eligible to be garbage collected.I assume this means, unless the references are assigned, in the Java code, to a Java variable, right?As stated it is not precise.
    The created objects are tracked by the VM. When they are eligible to be collected they are.
    If you create a local reference and do NOTHING that creates an active reference elsewhere then when the executing thread returns to the VM then the local references are eligible to be collected.
    >
    If you want an object to persist across native method calls, use a global reference instead. A global reference is created from a local reference by calling NewGlobalReference on the the local reference.That is not precise. The scope is the executing thread. You can pass a local reference to another method without problem.
    I assume this enables the C code to maintain a global reference to a java object even if it's not referenced anymore from the Java variables, right?
    It enables access to it to be insured across multiple threads in terms of execution scope. Normally you should not use them.

  • JNDI and env. vars. in ejb-jar.xml

    I have been trying for several days now to have my EJB session bean access
    its env. vars. stored in the ejb-jar.xml document. I have been unsuccessful.
    The only place I have been able to store my env. vars. is in the web.xml
    document outside my .jar file. Although workable, it would be preferable to
    store them in the ejb-jar.xml document in my .jar file.
    I am hoping some one can help me. I am using the following code in my ejb:
    Context init = new InitialContext();
    Context env = (Context)init.lookup("java:comp/env");
    m_bTruncCorporate =
    ((Boolean)env.lookup(MICRworks.MICR_ENV_TRUNCORP)).booleanValue();
    m_strOptPath = (String)env.lookup(MICRworks.MICR_ENV_OPFLPATH);
    m_strOptAccount = (String)env.lookup(MICRworks.MICR_ENV_OPFLACCT);
    m_strOptRouting = (String)env.lookup(MICRworks.MICR_ENV_OPFLROUT);
    My ejb-jar.xml follows:
    <!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise
    JavaBeans 2.0//EN' 'http://java.sun.com/dtd/ejb-jar_2_0.dtd'>
    <ejb-jar>
    <enterprise-beans>
    <session>
    <ejb-name>MICRworksBean</ejb-name>
    <home>USDataworks.MICRworks.MICRworksHome</home>
    <remote>USDataworks.MICRworks.MICRworks</remote>
    <ejb-class>USDataworks.MICRworks.MICRworksBean</ejb-class>
    <session-type>Stateless</session-type>
    <transaction-type>Container</transaction-type>
    <env-entry>
    <description>Flag indicating whether to convert corporate
    checks</description>
    <env-entry-name>TruncateCorporate</env-entry-name>
    <env-entry-type>java.lang.Boolean</env-entry-type>
    <env-entry-value>true</env-entry-value>
    </env-entry>
    <env-entry>
    <description>Location of the 1For1 exclusion files</description>
    <env-entry-name>OptionFilePath</env-entry-name>
    <env-entry-type>java.lang.String</env-entry-type>
    <env-entry-value>http://localhost:7001/MICRworksLite/files/</env-entry-value
    >
    </env-entry>
    <env-entry>
    <description>Name of the 1For1 account exclusions file</description>
    <env-entry-name>OptionFileAccount</env-entry-name>
    <env-entry-type>java.lang.String</env-entry-type>
    <env-entry-value>account_file.txt</env-entry-value>
    </env-entry>
    <env-entry>
    <description>Name of the 1For1 routing exclusion file</description>
    <env-entry-name>OptionFileRouting</env-entry-name>
    <env-entry-type>java.lang.String</env-entry-type>
    <env-entry-value>routing_file.txt</env-entry-value>
    </env-entry>
    </session>
    </enterprise-beans>
    <assembly-descriptor>
    <container-transaction>
    <method>
    <ejb-name>MICRworksBean</ejb-name>
    <method-name>*</method-name>
    </method>
    <trans-attribute>Supports</trans-attribute>
    </container-transaction>
    </assembly-descriptor>
    </ejb-jar>
    and my weblogic-ejb-jar.xml:
    <!DOCTYPE weblogic-ejb-jar PUBLIC '-//BEA Systems, Inc.//DTD WebLogic 7.0.0
    EJB//EN' 'http://www.bea.com/servers/wls700/dtd/weblogic-ejb-jar.dtd'>
    <weblogic-ejb-jar>
    <weblogic-enterprise-bean>
    <ejb-name>MICRworksBean</ejb-name>
    <stateless-session-descriptor>
    <pool>
    </pool>
    <stateless-clustering>
    </stateless-clustering>
    </stateless-session-descriptor>
    <transaction-descriptor>
    </transaction-descriptor>
    <jndi-name>MICRworksBean</jndi-name>
    </weblogic-enterprise-bean>
    </weblogic-ejb-jar>
    My feeling is that I am missing some sort of reference in the
    weblogic-ejb-jar.xml that points to the ejb-jar.xml but I have tried several
    things without success.
    I would appreciate any help I can get...especially if it contains specific
    code I can use as I am rather new to writing and deploying ejbs!
    Thanx in advance. Marek :-)

    Thanks for the reference. I was using another book as a reference (Using
    Java 2 Enterprise Edition by Mark Wutka) which had the same sort of example
    and as you can see below, I coded my bean as they suggest...I'm still unable
    to access the env. vars.!
    I deployed by bean using WebLogic's Builder and but didn't create any sort
    of application. I let WebLogic do what it would on its own. The WebLogic
    documentation seemed to indicate for simple testing this would work
    fine...is it wrong?
    btw. MICRworks.MICR_ENV_TRUNCORP equates to "TruncateCorporate" as you
    probably guessed.
    The WebLogic Admin Console shows the environment variables in the EJB
    Descriptors for my EJB but they do not show up when I view the JNDI tree for
    my server. I have taken this to mean that the deployment tool is not
    binding my env. vars. for some reason which would explain why my bean can't
    find them.
    I know it must be something stupid I am doing (or not doing) but I just
    can't see it. Please help!
    "Ryan LeCompte" <[email protected]> wrote in message
    news:[email protected]...
    >
    Hello Marek,
    I would suggest that you download the free book "Mastering EJB 2ndEdition" by
    Ed Roman, Scott Ambler, and Tyler Jewell. The source code for the book isalso
    freely available and is meant to be deployed specifically on WebLogic.Look for
    a sample application called "Jasmine", which shows how to use environmententries.
    You will see a concrete example of how they are defined and later accessedfrom
    within EJBs. The book and source code are available at the followingaddress:
    >
    http://www.theserverside.com/books/masteringEJB/index.jsp
    Best regards,
    Ryan LeCompte
    [email protected]
    http://www.louisiana.edu/~rml7669
    "Marek Kossak" <[email protected]> wrote:
    I have been trying for several days now to have my EJB session bean
    access
    its env. vars. stored in the ejb-jar.xml document. I have beenunsuccessful.
    The only place I have been able to store my env. vars. is in the web.xml
    document outside my .jar file. Although workable, it would be preferable
    to
    store them in the ejb-jar.xml document in my .jar file.
    I am hoping some one can help me. I am using the following code in my
    ejb:
    Context init = new InitialContext();
    Context env = (Context)init.lookup("java:comp/env");
    m_bTruncCorporate =
    ((Boolean)env.lookup(MICRworks.MICR_ENV_TRUNCORP)).booleanValue();
    m_strOptPath = (String)env.lookup(MICRworks.MICR_ENV_OPFLPATH);
    m_strOptAccount = (String)env.lookup(MICRworks.MICR_ENV_OPFLACCT);
    m_strOptRouting = (String)env.lookup(MICRworks.MICR_ENV_OPFLROUT);
    My ejb-jar.xml follows:
    <!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise
    JavaBeans 2.0//EN' 'http://java.sun.com/dtd/ejb-jar_2_0.dtd'>
    <ejb-jar>
    <enterprise-beans>
    <session>
    <ejb-name>MICRworksBean</ejb-name>
    <home>USDataworks.MICRworks.MICRworksHome</home>
    <remote>USDataworks.MICRworks.MICRworks</remote>
    <ejb-class>USDataworks.MICRworks.MICRworksBean</ejb-class>
    <session-type>Stateless</session-type>
    <transaction-type>Container</transaction-type>
    <env-entry>
    <description>Flag indicating whether to convert corporate
    checks</description>
    <env-entry-name>TruncateCorporate</env-entry-name>
    <env-entry-type>java.lang.Boolean</env-entry-type>
    <env-entry-value>true</env-entry-value>
    </env-entry>
    <env-entry>
    <description>Location of the 1For1 exclusion files</description>
    <env-entry-name>OptionFilePath</env-entry-name>
    <env-entry-type>java.lang.String</env-entry-type>
    <env-entry-value>http://localhost:7001/MICRworksLite/files/</env-entry-valu
    e
    >>>
    </env-entry>
    <env-entry>
    <description>Name of the 1For1 account exclusions file</description>
    <env-entry-name>OptionFileAccount</env-entry-name>
    <env-entry-type>java.lang.String</env-entry-type>
    <env-entry-value>account_file.txt</env-entry-value>
    </env-entry>
    <env-entry>
    <description>Name of the 1For1 routing exclusion file</description>
    <env-entry-name>OptionFileRouting</env-entry-name>
    <env-entry-type>java.lang.String</env-entry-type>
    <env-entry-value>routing_file.txt</env-entry-value>
    </env-entry>
    </session>
    </enterprise-beans>
    <assembly-descriptor>
    <container-transaction>
    <method>
    <ejb-name>MICRworksBean</ejb-name>
    <method-name>*</method-name>
    </method>
    <trans-attribute>Supports</trans-attribute>
    </container-transaction>
    </assembly-descriptor>
    </ejb-jar>
    and my weblogic-ejb-jar.xml:
    <!DOCTYPE weblogic-ejb-jar PUBLIC '-//BEA Systems, Inc.//DTD WebLogic
    7.0.0
    EJB//EN' 'http://www.bea.com/servers/wls700/dtd/weblogic-ejb-jar.dtd'>
    <weblogic-ejb-jar>
    <weblogic-enterprise-bean>
    <ejb-name>MICRworksBean</ejb-name>
    <stateless-session-descriptor>
    <pool>
    </pool>
    <stateless-clustering>
    </stateless-clustering>
    </stateless-session-descriptor>
    <transaction-descriptor>
    </transaction-descriptor>
    <jndi-name>MICRworksBean</jndi-name>
    </weblogic-enterprise-bean>
    </weblogic-ejb-jar>
    My feeling is that I am missing some sort of reference in the
    weblogic-ejb-jar.xml that points to the ejb-jar.xml but I have tried
    several
    things without success.
    I would appreciate any help I can get...especially if it containsspecific
    code I can use as I am rather new to writing and deploying ejbs!
    Thanx in advance. Marek :-)

  • Env vars for C XML parser

    I have had a lot of problems with the Oracle C XML parser. I have put a question in this forum before about SEGV errors when xmlinit is called but I suspects that somthing else (very mystery thing) is the real cause to this problem.
    For now is status that I always gets error 201 when I calls xmlinit. My question is therefore: I have set the ORACLE_HOME to my Oracle installation directory. Do I have to set any more env var when I use the Oracle C parser?
    null

    Yes! When we get the error code 201 from the parser are an error message displayed. It is nearly always when the function xmlinit is called.
    But we do not always get this error. Sometimes do we get a SEGV signal and a core dump when xmlinit is called. Sometimes does it work perfectly. It can be different from one compilation to another and feels very mystery. I have searched for some error that can cause this in my own code but not found anything yet. My own code are relatively robust with a lot of error checks and I am not sure that it is my own code that fails but it is only my own code I have access to :)
    We used the XML Parser 1.01.0.0 until the last week then we found that there are a newer version available. We are now using the version 2.0.7.0.0 instead but without more success than before.
    What I have done for the parser so far is to copy the files lpxus.msb and lpxus.msg to my $ORACLE_HOME/oracore/mesg directory. I have also set the env vars ORA_NLS, ORA_NLS32 and ORA_NLS33 to my $ORACLE_HOME/ocommon/nls/admin/data directory. But I have got the parser to work without have set this env vars sometimes (and sometimes not) and I am really not sure if I have to set them as it says in the README.
    We are using the parser only to parse our XML configuration file through calls to several get-function in the DOM api. The encoding for our XML file is plain US-ASCII and we have experimented with this encoding in the file (<?xml version="1.0" encoding="US-ASCII"?>) and as a param to the functions xmlinit and xmlparse. We have also tried to call this function with no coding at all (a NULL-pointer), the encoding ASCII and UTF-8 with no more success than before. We continues to more or less randomly get SEGV-error, error 201 or a working program.
    The only params we gives to xmlinit is the errcode (the first param) and sometimes an error message handler function and the encoding. Never any other param.
    I think this was a lot of information but I can give more to anyone who need it to help us to get the parser to work. We have spend a lot of time for this now and we'll possibly make a descision about this parser tomorrow. If we not knows that we can get it to work we have to build an another solution without this parser. But it would be a pity because I like the this parser and its apis (if it works).

  • Why native code outside the VM when I use JNI in web application?

    I have a web application by using JBOSS as the server in windows XP environment. I need to call native functions in my servletAction class to check some information. After I start JBOSS and WebServer(tomcat), it works well when I launch the web page to call that native funtions in the first a few times, but after a while when I reopen that page in IE to call native funtions it throws me an unexpected error and shut down the jboss automatically. Could know how to solve it? Thank you guys in advance!
    Error message:
    An unexpected exception has been detected in native code outside the VM.
    Unexpected Signal : EXCEPTION_ACCESS_VIOLATION (0xc0000005) occurred at PC=0x63BA7AD
    Function=[Unknown.]
    Library=C:\WINDOWS\system32\HaspKeyDAO.dll
    NOTE: We are unable to locate the function name symbol for the error
    just occurred. Please refer to release documentation for possible
    reason and solutions.
    Current Java thread:
         at Key.readBlock(Native Method)     
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at org.jboss.invocation.Invocation.performCall(Invocation.java:345)
         at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:214)
         at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:185)
         at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:113)
         at org.jboss.webservice.server.ServiceEndpointInterceptor.invoke(ServiceEndpointInterceptor.java:51)
         at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:48)
         at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:105)
         at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:283)
         at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:149)
         at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:128)
         at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:191)
         at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
         at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:624)
         at org.jboss.ejb.Container.invoke(Container.java:854)
         at sun.reflect.GeneratedMethodAccessor91.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
         at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
         at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
         at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242)
         at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
         at org.jboss.invocation.jrmp.server.JRMPInvoker$MBeanServerAction.invoke(JRMPInvoker.java:775)
         at org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:382)
         at sun.reflect.GeneratedMethodAccessor90.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
         at sun.rmi.transport.Transport$1.run(Transport.java:148)
         at java.security.AccessController.doPrivileged(Native Method)
         at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
         at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
         at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
         at java.lang.Thread.run(Thread.java:534)
    Dynamic libraries:
    0x00400000 - 0x0040B000      C:\j2sdk1.4.2_06\bin\java.exe
    0x7C900000 - 0x7C9B0000      C:\WINDOWS\system32\ntdll.dll
    0x7C800000 - 0x7C8F4000      C:\WINDOWS\system32\kernel32.dll
    0x77DD0000 - 0x77E6B000      C:\WINDOWS\system32\ADVAPI32.dll
    0x77E70000 - 0x77F01000      C:\WINDOWS\system32\RPCRT4.dll
    0x77C10000 - 0x77C68000      C:\WINDOWS\system32\MSVCRT.dll
    0x08000000 - 0x08139000      C:\j2sdk1.4.2_06\jre\bin\client\jvm.dll
    0x77D40000 - 0x77DD0000      C:\WINDOWS\system32\USER32.dll
    0x77F10000 - 0x77F56000      C:\WINDOWS\system32\GDI32.dll
    0x76B40000 - 0x76B6D000      C:\WINDOWS\system32\WINMM.dll
    0x10000000 - 0x10007000      C:\j2sdk1.4.2_06\jre\bin\hpi.dll
    0x00390000 - 0x0039E000      C:\j2sdk1.4.2_06\jre\bin\verify.dll
    0x003B0000 - 0x003C9000      C:\j2sdk1.4.2_06\jre\bin\java.dll
    0x003D0000 - 0x003DD000      C:\j2sdk1.4.2_06\jre\bin\zip.dll
    0x003E0000 - 0x003EF000      C:\j2sdk1.4.2_06\jre\bin\net.dll
    0x71AB0000 - 0x71AC7000      C:\WINDOWS\system32\WS2_32.dll
    0x71AA0000 - 0x71AA8000      C:\WINDOWS\system32\WS2HELP.dll
    0x71A50000 - 0x71A8F000      C:\WINDOWS\System32\mswsock.dll
    0x76F20000 - 0x76F47000      C:\WINDOWS\system32\DNSAPI.dll
    0x76FB0000 - 0x76FB8000      C:\WINDOWS\System32\winrnr.dll
    0x76F60000 - 0x76F8C000      C:\WINDOWS\system32\WLDAP32.dll
    0x03070000 - 0x030AC000      C:\Program Files\NewDotNet\newdotnet6_38.dll
    0x774E0000 - 0x7761D000      C:\WINDOWS\system32\ole32.dll
    0x77120000 - 0x771AC000      C:\WINDOWS\system32\OLEAUT32.dll
    0x77260000 - 0x772FE000      C:\WINDOWS\system32\urlmon.dll
    0x77F60000 - 0x77FD6000      C:\WINDOWS\system32\SHLWAPI.dll
    0x77C00000 - 0x77C08000      C:\WINDOWS\system32\VERSION.dll
    0x771B0000 - 0x77256000      C:\WINDOWS\system32\WININET.dll
    0x77A80000 - 0x77B14000      C:\WINDOWS\system32\CRYPT32.dll
    0x77B20000 - 0x77B32000      C:\WINDOWS\system32\MSASN1.dll
    0x77920000 - 0x77A13000      C:\WINDOWS\system32\SETUPAPI.dll
    0x71B20000 - 0x71B32000      C:\WINDOWS\system32\MPR.dll
    0x76C30000 - 0x76C5E000      C:\WINDOWS\system32\WINTRUST.dll
    0x76C90000 - 0x76CB8000      C:\WINDOWS\system32\IMAGEHLP.dll
    0x7C9C0000 - 0x7D1D4000      C:\WINDOWS\system32\SHELL32.dll
    0x773D0000 - 0x774D2000      C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2180_x-ww_a84f1ff9\comctl32.dll
    0x5D090000 - 0x5D127000      C:\WINDOWS\system32\comctl32.dll
    0x76FC0000 - 0x76FC6000      C:\WINDOWS\system32\rasadhlp.dll
    0x662B0000 - 0x66308000      C:\WINDOWS\system32\hnetcfg.dll
    0x71A90000 - 0x71A98000      C:\WINDOWS\System32\wshtcpip.dll
    0x042C0000 - 0x042C6000      C:\j2sdk1.4.2_06\jre\bin\ioser12.dll
    0x04410000 - 0x04418000      C:\j2sdk1.4.2_06\jre\bin\nio.dll
    0x046A0000 - 0x046A5000      C:\j2sdk1.4.2_06\jre\bin\rmi.dll
    0x047F0000 - 0x0490E000      C:\jboss-4.0.0-winsort\server\default\tmp\native\SharedLib\HaspKeyDAO.dll
    0x04A20000 - 0x04A73000      C:\jboss-4.0.0-winsort\server\default\tmp\native\msc\dll\haspms32.dll
    0x06390000 - 0x064AE000      C:\WINDOWS\system32\HaspKeyDAO.dll
    0x76F50000 - 0x76F58000      C:\WINDOWS\system32\wtsapi32.dll
    0x76360000 - 0x76370000      C:\WINDOWS\system32\WINSTA.dll
    0x5B860000 - 0x5B8B4000      C:\WINDOWS\system32\NETAPI32.dll
    0x59A60000 - 0x59B01000      C:\WINDOWS\system32\DBGHELP.dll
    0x76BF0000 - 0x76BFB000      C:\WINDOWS\system32\PSAPI.DLL
    Heap at VM Abort:
    Heap
    def new generation total 9216K, used 2204K [0x10010000, 0x10a00000, 0x12770000)
    eden space 8256K, 26% used [0x10010000, 0x102370e8, 0x10820000)
    from space 960K, 0% used [0x10820000, 0x10820000, 0x10910000)
    to space 960K, 0% used [0x10910000, 0x10910000, 0x10a00000)
    tenured generation total 121024K, used 39043K [0x12770000, 0x19da0000, 0x30010000)
    the space 121024K, 32% used [0x12770000, 0x14d90ec8, 0x14d91000, 0x19da0000)
    compacting perm gen total 23808K, used 23618K [0x30010000, 0x31750000, 0x34010000)
    the space 23808K, 99% used [0x30010000, 0x31720888, 0x31720a00, 0x31750000)
    Local Time = Thu May 26 11:34:39 2005
    Elapsed Time = 3209
    # The exception above was detected in native code outside the VM
    # Java VM: Java HotSpot(TM) Client VM (1.4.2_06-b03 mixed mode)
    Following is what I am doing:
    I have a key.java file with several native functions.
    In key.cpp I defined the implementation of above functions then created dynamic link library file key.dll. I put the key.dll to WEB-INF/lib/key.dll.
    Then in a servlet Action class, I called new key().keyPresent and new key().readBlock(0, 8, block, p1,p1).
    Public class Key{
    public native int keyPresent(int password1, int password2);
    public native void readBlock(int startMemoryLocation, int size,
    byte[] block, int password1, int password2);
    static {
    System.loadLibrary("Key");
    //A Singleton Class
    private static Key key;
    private Key()
    public static Key getSingletonObject()
    if ( key== null)
    key = new Key();          
    return key;
    public Object clone()
         throws CloneNotSupportedException
    throw new CloneNotSupportedException();
    Key.cpp:
    #include <jni.h>
    #include "Key.h"
    #include <stdio.h>
    #include "hasp.h"
    #include <memory.h>
    JNIEXPORT jint JNICALL Java_Key_keyPresent
    (JNIEnv *env, jobject obj, jint pass1, jint pass2)
         try{
              int keyPresent = 0;
              int p1, p2, p3, p4;
              int seed = 100;
              int port = 0;
              p1 = p2 = p3 = p4 = 0;
              hasp(LOCALHASP_ISHASP, seed, port, 0, 0, &p1, &p2, &p3, &p4);
              if (p1 == 0) {
                   printf("\nNo Hasp exists. Program aborted.\n");
                   return -1;
              if (p3 == HASPERR_VERSION_MISMATCH) {
              printf("Old driver found - please update driver to actual version.\n");
              return 2;
              hasp(LOCALHASP_HASPSTATUS, seed, port, pass1, pass2, &p1, &p2, &p3, &p4);
              if (p3 == 0) {
                   return 4;
              hasp(LOCALHASP_HASPGENERATION, seed, port, pass1, pass2, &p1, &p2, &p3, &p4);
              if (p3) {
                   printf("Failed: haspKey password is not correct!");
                   return 4;
              } else {
                   switch (p1) {
                   case 0:
                   keyPresent = 3;
                                  break;
                   case 1:
                        keyPresent =1;
                        break;
              return keyPresent;
         }catch(...){
              return -999;
    * READBLOCK
    * reads a block of data from the HASP memory
    JNIEXPORT void JNICALL Java_Key_readBlock
    (JNIEnv *env, jobject obj, jint startMemoryLocation, jint nSize, jbyteArray pBlock, jint pass1, jint pass2)
         try{
              int     p1, p2, p3, p4;
              p1 = (startMemoryLocation+1)/2;
              p2 = nSize >> 1;
              jbyte *javablob = env->GetByteArrayElements(pBlock, 0);
              memset(javablob, 0, nSize);
              p4 = (int)javablob;
              int seed = 100;
              int port = 102;
              hasp(MEMOHASP_READBLOCK, seed, port, pass1, pass2, &p1, &p2, &p3, &p4);
              env->ReleaseByteArrayElements(pBlock, javablob, 0);
              if (p3) {
                   printf("Failed. Error number: %d.\n", p3);
              } else {
         }catch(...){
              printf("readBlock function failed");
    }

    the error happens in your native-code which runs outside the VM of course, since its native.
    You access some memory where you don't have rights to do so, in a normal win32-app you would get the "application crashed at 0xdeadbeef"-window, and since java cannon guarantee that your code did not destroy something it shuts down.
    I would try to debug my code withought java in a C++ IDE/Debugger.
    good luck, lg Clemens

  • JVM dies when JNI native code causes a SIGABRT from assertions

    Hi,
    I am wondering whether there is a way to prevent the JVM from dying when the JNI native code hits an assertion.
    #include "NativeTest.h"
    #include <assert.h>
    JNIEXPORT jstring JNICALL Java_NativeTest_sayHello (JNIEnv *env, jobject thisobject, jstring js)
    assert(0);
    return js;
    Calling this code from Java through JNI causes a SIGABRT when assert(0) is hit. This causes the java program to terminate. Is there a way for the JVM to recover from the SIGABRT from the native code?

    929919 wrote:
    I am wondering whether there is a way to prevent the JVM from dying when the JNI native code hits an assertion.There is no way to prevent the VM from exiting if native code does anything that causes an exit.
    An assertion is only one way that can happen.
    So to prevent the VM from exiting - don't run native code. The safe way to execute OS native library is to do the following.
    1. Wrap the library in an executable.
    2. Create a communications API for the executable.
    3. Manage the executable via Java Runtime.exec/ProcessBuilder.
    4. Talk to the executable using the communications API from 2 in the java code.
    The above is safe because if the library exits it exits the executable, not the VM.

  • SIGSEGV in socket accept native code (possibly RMI related)

    Hi,
    We've been having this problem for a while on a 1.4.2 VM (don't recall the exact version), so we upgraded to 1.5.0_03 and it got slightly worse... so we upgraded to 1.5.0_09 and it got much worse. Unfortunately, this is the latest version of the JVM that's packaged/authorised in my organisation so trying later versions isn't possible.
    The problem is a Signal 11 (SIGSEGV) fault during JVM shutdown which appears to be caused by a bug in the native socket accept code. The problem seems to be exhibited by some RMI related code. This client uses RMI to talk to a server, but (as far as I know - it's using a third party closed-source library) it doesn't export any RMI objects of its own, so I'm a bit baffled why there's an RMI TCP Accept thread at all.
    We've googled every conceivable combination of useful-looking terms (including Java_java_net_PlainSocketImpl_socketAccept (with and without the offset), bits of the stack trace, PC addresses, thread names, etc.) and we can turn up one or two things that look like they're related, but really nothing that appears hugely significant.
    Basically, we're really stuck with this and it's a production problem so it's causing us a lot of pain. If anybody out there has the faintest clue, we'd really appreciate it.
    Thanks.
    ====uname -a=====
    (Hostname changed)
    Linux host.domain.blah.com 2.6.9-22.0.2.ELsmp #1 SMP Thu Jan 5 17:13:01 EST 2006 i686 athlon i386 GNU/Linux
    ====hs thing log file====
    (NOTE: Some of the information in here has been obfuscated for commercial sensitivity, but I don't think any of it is relevant)
    # An unexpected error has been detected by HotSpot Virtual Machine:
    # SIGSEGV (0xb) at pc=0xb789bb79, pid=30978, tid=2638416816
    # Java VM: Java HotSpot(TM) Server VM (1.5.0_09-b01 mixed mode)
    # Problematic frame:
    # V [libjvm.so+0x284b79]
    --------------- T H R E A D ---------------
    Current thread (0x08ae81a0): JavaThread "RMI TCP Accept-0" daemon [_thread_in_vm, id=14935]
    siginfo:si_signo=11, si_errno=0, si_code=1, si_addr=0x00000000
    Registers:
    EAX=0x00000000, EBX=0xb7bcfe50, ECX=0x00000002, EDX=0x00000ffc
    ESP=0x9d42ff2c, EBP=0x9d42ff64, ESI=0x08ae81a0, EDI=0x00000008
    EIP=0xb789bb79, CR2=0x00000000, EFLAGS=0x00010213
    Top of Stack: (sp=0x9d42ff2c)
    0x9d42ff2c: 08ae81a0 08ae8260 9d42ff64 9e4e04af
    0x9d42ff3c: 08ae81a0 0a5eec84 00000052 00000001
    0x9d42ff4c: 00000001 9d42ffb4 9e4e02bb 9e4e5184
    0x9d42ff5c: 0a5eec84 0000000b 9d42ffe4 9e4df306
    0x9d42ff6c: 08ae8260 00000000 00000022 0000000b
    0x9d42ff7c: 08ae81a0 afde6cb8 9d42ffc4 9d42ffac
    0x9d42ff8c: 9d42ffa8 00000010 00000000 00000000
    0x9d42ff9c: b7a3f669 00000000 0000c2ff 0000001c
    Instructions: (pc=0xb789bb79)
    0xb789bb69: 00 00 00 06 00 00 00 8b 45 0c 8b 7d 10 c1 ef 02
    0xb789bb79: 8b 10 8b 83 5c 13 00 00 8b 00 8b 4a 04 85 c0 0f
    Stack: [0x9d3b0000,0x9d431000), sp=0x9d42ff2c, free space=511k
    Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
    V [libjvm.so+0x284b79]
    C [libnet.so+0xb306] Java_java_net_PlainSocketImpl_socketAccept+0x276
    j java.net.PlainSocketImpl.socketAccept(Ljava/net/SocketImpl;)V+0
    j java.net.PlainSocketImpl.accept(Ljava/net/SocketImpl;)V+7
    j java.net.ServerSocket.implAccept(Ljava/net/Socket;)V+50
    j java.net.ServerSocket.accept()Ljava/net/Socket;+48
    j sun.rmi.transport.tcp.TCPTransport.run()V+59
    j java.lang.Thread.run()V+11
    v ~StubRoutines::call_stub
    V [libjvm.so+0x266eec]
    V [libjvm.so+0x42da88]
    V [libjvm.so+0x266745]
    V [libjvm.so+0x2667de]
    V [libjvm.so+0x2ddf75]
    V [libjvm.so+0x4cdb13]
    V [libjvm.so+0x42e698]
    C [libpthread.so.0+0x5341]
    Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
    j java.net.PlainSocketImpl.socketAccept(Ljava/net/SocketImpl;)V+0
    j java.net.PlainSocketImpl.accept(Ljava/net/SocketImpl;)V+7
    j java.net.ServerSocket.implAccept(Ljava/net/Socket;)V+50
    j java.net.ServerSocket.accept()Ljava/net/Socket;+48
    j sun.rmi.transport.tcp.TCPTransport.run()V+59
    j java.lang.Thread.run()V+11
    v ~StubRoutines::call_stub
    --------------- P R O C E S S ---------------
    Java Threads: ( => current thread )
    0x09274f88 JavaThread "RMI ConnectionExpiration-[10.72.14.39:40107]" daemon [_thread_blocked, id=11989]
    0x08c9cc20 JavaThread "RMI ConnectionExpiration-[10.72.14.40:40107]" daemon [_thread_blocked, id=11983]
    0x0903aec8 JavaThread "RMI ConnectionExpiration-[10.72.14.40:40112]" daemon [_thread_blocked, id=11982]
    0x08fbc518 JavaThread "RMI ConnectionExpiration-[10.72.14.44:40113]" daemon [_thread_blocked, id=11981]
    0x0813ceb8 JavaThread "RMI ConnectionExpiration-[10.72.13.183:40113]" daemon [_thread_blocked, id=11980]
    0x08a6e7f0 JavaThread "RMI ConnectionExpiration-[10.72.14.40:40110]" daemon [_thread_blocked, id=11979]
    0x08ee22f0 JavaThread "RMI ConnectionExpiration-[10.72.14.44:40109]" daemon [_thread_blocked, id=11978]
    0x090c0ef0 JavaThread "RMI ConnectionExpiration-[10.72.14.39:40118]" daemon [_thread_blocked, id=11977]
    0x091fdfb0 JavaThread "RMI ConnectionExpiration-[10.72.13.183:40109]" daemon [_thread_blocked, id=11976]
    0x087dd5a0 JavaThread "RMI ConnectionExpiration-[10.72.14.39:40110]" daemon [_thread_blocked, id=10595]
    0x091fe340 JavaThread "RMI RenewClean-[10.72.14.39:40110]" daemon [_thread_blocked, id=10594]
    0x08e70220 JavaThread "RMI ConnectionExpiration-[10.72.14.39:53973,com.commerciallysensitive.RMISSLClientSocketFactory@180650e]" daemon [_thread_blocked, id=10593]
    0x087de380 JavaThread "RMI RenewClean-[10.72.14.39:53973,com.commerciallysensitive.RMISSLClientSocketFactory@180650e]" daemon [_thread_blocked, id=10353]
    0x092832e0 JavaThread "RMI RenewClean-[10.72.13.183:40109]" daemon [_thread_blocked, id=10346]
    0x085c2710 JavaThread "RMI RenewClean-[10.72.13.183:40248,com.commerciallysensitive.RMISSLClientSocketFactory@180650e]" daemon [_thread_blocked, id=10336]
    0x08a470a0 JavaThread "RMI ConnectionExpiration-[10.72.14.39:40114]" daemon [_thread_blocked, id=10327]
    0x09471ca8 JavaThread "RMI RenewClean-[10.72.14.39:40114]" daemon [_thread_blocked, id=10326]
    0x08e10e78 JavaThread "RMI ConnectionExpiration-[10.72.14.39:54045,com.commerciallysensitive.RMISSLClientSocketFactory@180650e]" daemon [_thread_blocked, id=10325]
    0x08dc22b8 JavaThread "RMI ConnectionExpiration-[10.72.14.39:40112]" daemon [_thread_blocked, id=10178]
    0x08dc1ae0 JavaThread "RMI RenewClean-[10.72.14.39:40112]" daemon [_thread_blocked, id=10177]
    0x08dc64b8 JavaThread "RMI ConnectionExpiration-[10.72.14.39:54006,com.commerciallysensitive.RMISSLClientSocketFactory@180650e]" daemon [_thread_blocked, id=10176]
    0x08e6ac08 JavaThread "RMI RenewClean-[10.72.14.39:54006,com.commerciallysensitive.RMISSLClientSocketFactory@180650e]" daemon [_thread_blocked, id=10146]
    0x087d94f8 JavaThread "RMI ConnectionExpiration-[10.72.13.183:40111]" daemon [_thread_blocked, id=9948]
    0x087d8df8 JavaThread "RMI RenewClean-[10.72.13.183:40111]" daemon [_thread_blocked, id=9947]
    0x085c30e8 JavaThread "RMI RenewClean-[10.72.13.183:40278,com.commerciallysensitive.RMISSLClientSocketFactory@180650e]" daemon [_thread_blocked, id=9945]
    0x085c3bb0 JavaThread "RMI ConnectionExpiration-[10.72.14.44:40111]" daemon [_thread_blocked, id=8815]
    0x085c1c08 JavaThread "RMI RenewClean-[10.72.14.44:40111]" daemon [_thread_blocked, id=8432]
    0x085c4940 JavaThread "RMI ConnectionExpiration-[10.72.14.44:33150,com.commerciallysensitive.RMISSLClientSocketFactory@180650e]" daemon [_thread_blocked, id=8241]
    0x085c3f10 JavaThread "RMI RenewClean-[10.72.14.44:33150,com.commerciallysensitive.RMISSLClientSocketFactory@180650e]" daemon [_thread_blocked, id=8219]
    0x085bee18 JavaThread "RMI ConnectionExpiration-[10.72.14.39:40116]" daemon [_thread_blocked, id=8106]
    0x085be388 JavaThread "RMI RenewClean-[10.72.14.39:40116]" daemon [_thread_blocked, id=8105]
    0x08e15b68 JavaThread "RMI ConnectionExpiration-[10.72.14.39:54066,com.commerciallysensitive.RMISSLClientSocketFactory@180650e]" daemon [_thread_blocked, id=7006]
    0x085bd3b0 JavaThread "RMI RenewClean-[10.72.14.39:54066,com.commerciallysensitive.RMISSLClientSocketFactory@180650e]" daemon [_thread_blocked, id=6696]
    0x08e152c8 JavaThread "RMI RenewClean-[10.72.14.39:40118]" daemon [_thread_blocked, id=6524]
    0x08a45098 JavaThread "RMI RenewClean-[10.72.14.39:54088,com.commerciallysensitive.RMISSLClientSocketFactory@180650e]" daemon [_thread_blocked, id=5775]
    0x09472c60 JavaThread "RMI RenewClean-[10.72.14.44:40109]" daemon [_thread_blocked, id=5771]
    0x09474e00 JavaThread "RMI RenewClean-[10.72.14.44:33127,com.commerciallysensitive.RMISSLClientSocketFactory@180650e]" daemon [_thread_blocked, id=5769]
    0x08dc1428 JavaThread "RMI RenewClean-[10.72.14.40:40110]" daemon [_thread_blocked, id=5765]
    0x08dc5758 JavaThread "RMI RenewClean-[10.72.14.40:42086,com.commerciallysensitive.RMISSLClientSocketFactory@180650e]" daemon [_thread_blocked, id=5763]
    0x092846f0 JavaThread "RMI RenewClean-[10.72.13.183:40113]" daemon [_thread_blocked, id=5759]
    0x08b6cc00 JavaThread "RMI RenewClean-[10.72.13.183:40295,com.commerciallysensitive.RMISSLClientSocketFactory@180650e]" daemon [_thread_blocked, id=5757]
    0x08b72058 JavaThread "RMI RenewClean-[10.72.14.44:40113]" daemon [_thread_blocked, id=5745]
    0x08b712a0 JavaThread "RMI RenewClean-[10.72.14.44:33186,com.commerciallysensitive.RMISSLClientSocketFactory@180650e]" daemon [_thread_blocked, id=5726]
    0x0a7339b0 JavaThread "RMI RenewClean-[10.72.14.40:40112]" daemon [_thread_blocked, id=5722]
    0x08ad4d58 JavaThread "RMI RenewClean-[10.72.14.40:42110,com.commerciallysensitive.RMISSLClientSocketFactory@180650e]" daemon [_thread_blocked, id=5720]
    0x08fbe770 JavaThread "Scheduler" daemon [_thread_blocked, id=5719]
    0x0997a398 JavaThread "RMI RenewClean-[10.72.14.39:54045,com.commerciallysensitive.RMISSLClientSocketFactory@180650e]" daemon [_thread_blocked, id=15762]
    0x08e1b708 JavaThread "RMI LeaseChecker" daemon [_thread_blocked, id=14942]
    =>0x08ae81a0 JavaThread "RMI TCP Accept-0" daemon [_thread_in_vm, id=14935]
    0x08604250 JavaThread "RMI RenewClean-[10.72.14.39:40107]" daemon [_thread_blocked, id=14931]
    0x08603c78 JavaThread "GC Daemon" daemon [_thread_blocked, id=14930]
    0x0911f558 JavaThread "RMI RenewClean-[10.72.14.40:40107]" daemon [_thread_blocked, id=14920]
    0x08da6e20 JavaThread "Scheduler" daemon [_thread_blocked, id=14902]
    0x08da7db0 JavaThread "CleanUpReference clean up thread" daemon [_thread_blocked, id=14892]
    0x08121920 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=30988]
    0x08120498 JavaThread "CompilerThread1" daemon [_thread_blocked, id=30987]
    0x0811f438 JavaThread "CompilerThread0" daemon [_thread_blocked, id=30986]
    0x0811e308 JavaThread "AdapterThread" daemon [_thread_blocked, id=30985]
    0x0811d578 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=30984]
    0x08110598 JavaThread "Finalizer" daemon [_thread_blocked, id=30983]
    0x081100e0 JavaThread "Reference Handler" daemon [_thread_blocked, id=30982]
    0x0806b288 JavaThread "main" [_thread_blocked, id=30978]
    Other Threads:
    0x0810dbe0 VMThread [id=30981]
    0x08122dc0 WatcherThread [id=30989]
    VM state:not at safepoint (normal execution)
    VM Mutex/Monitor currently owned by a thread: None
    Heap
    PSYoungGen total 19008K, used 8604K [0xafa60000, 0xb1090000, 0xb1090000)
    eden space 16064K, 45% used [0xafa60000,0xb01953c0,0xb0a10000)
    from space 2944K, 41% used [0xb0db0000,0xb0ee1e28,0xb1090000)
    to space 3328K, 0% used [0xb0a10000,0xb0a10000,0xb0d50000)
    PSOldGen total 38592K, used 31818K [0xa4890000, 0xa6e40000, 0xafa60000)
    object space 38592K, 82% used [0xa4890000,0xa67a2bf0,0xa6e40000)
    PSPermGen total 28416K, used 20144K [0xa0890000, 0xa2450000, 0xa4890000)
    object space 28416K, 70% used [0xa0890000,0xa1c3c340,0xa2450000)
    Dynamic libraries:
    004aa000-004bf000 r-xp 00000000 fd:00 1867896 /lib/ld-2.3.4.so
    004bf000-004c0000 r-xp 00015000 fd:00 1867896 /lib/ld-2.3.4.so
    004c0000-004c1000 rwxp 00016000 fd:00 1867896 /lib/ld-2.3.4.so
    004c3000-005e7000 r-xp 00000000 fd:00 1867897 /lib/tls/libc-2.3.4.so
    005e7000-005e8000 r-xp 00124000 fd:00 1867897 /lib/tls/libc-2.3.4.so
    005e8000-005eb000 rwxp 00125000 fd:00 1867897 /lib/tls/libc-2.3.4.so
    005eb000-005ed000 rwxp 005eb000 00:00 0
    005ef000-005f1000 r-xp 00000000 fd:00 1868983 /lib/libdl-2.3.4.so
    005f1000-005f3000 rwxp 00001000 fd:00 1868983 /lib/libdl-2.3.4.so
    005f5000-00616000 r-xp 00000000 fd:00 1868961 /lib/tls/libm-2.3.4.so
    00616000-00618000 rwxp 00020000 fd:00 1868961 /lib/tls/libm-2.3.4.so
    006e3000-006f1000 r-xp 00000000 fd:00 1868984 /lib/tls/libpthread-2.3.4.so
    006f1000-006f3000 rwxp 0000d000 fd:00 1868984 /lib/tls/libpthread-2.3.4.so
    006f3000-006f5000 rwxp 006f3000 00:00 0
    009dd000-009ef000 r-xp 00000000 fd:00 1869140 /lib/libnsl-2.3.4.so
    009ef000-009f1000 rwxp 00011000 fd:00 1869140 /lib/libnsl-2.3.4.so
    009f1000-009f3000 rwxp 009f1000 00:00 0
    08048000-08057000 r-xp 00000000 fd:00 1199000 /usr/java/jdk-1.5.0_09-i386/bin/java
    08057000-08059000 rwxp 0000e000 fd:00 1199000 /usr/java/jdk-1.5.0_09-i386/bin/java
    08059000-0ab15000 rwxp 08059000 00:00 0
    98f9f000-98fa2000 ---p 98f9f000 00:00 0
    98fa2000-99020000 rwxp 98fa2000 00:00 0
    99020000-99023000 ---p 99020000 00:00 0
    99023000-990a1000 rwxp 99023000 00:00 0
    990a1000-990a4000 ---p 990a1000 00:00 0
    990a4000-99122000 rwxp 990a4000 00:00 0
    99122000-99125000 ---p 99122000 00:00 0
    99125000-991a3000 rwxp 99125000 00:00 0
    991a3000-991a6000 rwxp 991a3000 00:00 0
    991a6000-99224000 rwxp 991a6000 00:00 0
    99224000-99227000 ---p 99224000 00:00 0
    99227000-992a5000 rwxp 99227000 00:00 0
    992a5000-992a8000 rwxp 992a5000 00:00 0
    992a8000-99326000 rwxp 992a8000 00:00 0
    99326000-99329000 ---p 99326000 00:00 0
    99329000-993a7000 rwxp 99329000 00:00 0
    993a7000-993aa000 rwxp 993a7000 00:00 0
    993aa000-99428000 rwxp 993aa000 00:00 0
    99428000-9942b000 ---p 99428000 00:00 0
    9942b000-994a9000 rwxp 9942b000 00:00 0
    994a9000-994ac000 ---p 994a9000 00:00 0
    994ac000-9952a000 rwxp 994ac000 00:00 0
    9952a000-9952d000 rwxp 9952a000 00:00 0
    9952d000-995ab000 rwxp 9952d000 00:00 0
    995ab000-995ae000 ---p 995ab000 00:00 0
    995ae000-9962c000 rwxp 995ae000 00:00 0
    9962c000-9962f000 ---p 9962c000 00:00 0
    9962f000-996ad000 rwxp 9962f000 00:00 0
    996ad000-996b0000 rwxp 996ad000 00:00 0
    996b0000-9972e000 rwxp 996b0000 00:00 0
    9972e000-99731000 ---p 9972e000 00:00 0
    99731000-997af000 rwxp 99731000 00:00 0
    997af000-997b2000 ---p 997af000 00:00 0
    997b2000-99830000 rwxp 997b2000 00:00 0
    99830000-99833000 ---p 99830000 00:00 0
    99833000-998b1000 rwxp 99833000 00:00 0
    998b1000-998b4000 ---p 998b1000 00:00 0
    998b4000-99932000 rwxp 998b4000 00:00 0
    99932000-99935000 ---p 99932000 00:00 0
    99935000-999b3000 rwxp 99935000 00:00 0
    999b3000-999b6000 ---p 999b3000 00:00 0
    999b6000-99a34000 rwxp 999b6000 00:00 0
    99a34000-99a37000 ---p 99a34000 00:00 0
    99a37000-99ab5000 rwxp 99a37000 00:00 0
    99ab5000-99ab8000 ---p 99ab5000 00:00 0
    99ab8000-99b36000 rwxp 99ab8000 00:00 0
    99b36000-99b39000 rwxp 99b36000 00:00 0
    99b39000-99bb7000 rwxp 99b39000 00:00 0
    99bb7000-99bba000 ---p 99bb7000 00:00 0
    99bba000-99c38000 rwxp 99bba000 00:00 0
    99c38000-99c3b000 ---p 99c38000 00:00 0
    99c3b000-99cb9000 rwxp 99c3b000 00:00 0
    99cb9000-99cbc000 ---p 99cb9000 00:00 0
    99cbc000-99d3a000 rwxp 99cbc000 00:00 0
    99d3a000-99d3d000 ---p 99d3a000 00:00 0
    99d3d000-99dbb000 rwxp 99d3d000 00:00 0
    99dbb000-99dbe000 rwxp 99dbb000 00:00 0
    99dbe000-99e3c000 rwxp 99dbe000 00:00 0
    99e3c000-99e3f000 ---p 99e3c000 00:00 0
    99e3f000-99ebd000 rwxp 99e3f000 00:00 0
    99ebd000-99ec0000 rwxp 99ebd000 00:00 0
    99ec0000-99f3e000 rwxp 99ec0000 00:00 0
    99f3e000-99f41000 ---p 99f3e000 00:00 0
    99f41000-99fbf000 rwxp 99f41000 00:00 0
    99fbf000-99fc2000 ---p 99fbf000 00:00 0
    99fc2000-9a040000 rwxp 99fc2000 00:00 0
    9a040000-9a043000 ---p 9a040000 00:00 0
    9a043000-9a0c1000 rwxp 9a043000 00:00 0
    9a0c1000-9a0c4000 ---p 9a0c1000 00:00 0
    9a0c4000-9a142000 rwxp 9a0c4000 00:00 0
    9a142000-9a145000 ---p 9a142000 00:00 0
    9a145000-9a1c3000 rwxp 9a145000 00:00 0
    9a1c3000-9a1c6000 ---p 9a1c3000 00:00 0
    9a1c6000-9a244000 rwxp 9a1c6000 00:00 0
    9a244000-9a247000 ---p 9a244000 00:00 0
    9a247000-9a2c5000 rwxp 9a247000 00:00 0
    9a2c5000-9a2c8000 ---p 9a2c5000 00:00 0
    9a2c8000-9a346000 rwxp 9a2c8000 00:00 0
    9a346000-9a349000 ---p 9a346000 00:00 0
    9a349000-9a3c7000 rwxp 9a349000 00:00 0
    9a3c7000-9a3ca000 ---p 9a3c7000 00:00 0
    9a3ca000-9a448000 rwxp 9a3ca000 00:00 0
    9a448000-9a44b000 rwxp 9a448000 00:00 0
    9a44b000-9a4c9000 rwxp 9a44b000 00:00 0
    9a4c9000-9a4cc000 rwxp 9a4c9000 00:00 0
    9a4cc000-9a54a000 rwxp 9a4cc000 00:00 0
    9a54a000-9a54d000 ---p 9a54a000 00:00 0
    9a54d000-9a5cb000 rwxp 9a54d000 00:00 0
    9a5cb000-9a5ce000 rwxp 9a5cb000 00:00 0
    9a5ce000-9a64c000 rwxp 9a5ce000 00:00 0
    9a64c000-9a64f000 ---p 9a64c000 00:00 0
    9a64f000-9a6cd000 rwxp 9a64f000 00:00 0
    9a6cd000-9a6d0000 rwxp 9a6cd000 00:00 0
    9a6d0000-9a74e000 rwxp 9a6d0000 00:00 0
    9a74e000-9a751000 ---p 9a74e000 00:00 0
    9a751000-9a7cf000 rwxp 9a751000 00:00 0
    9a7cf000-9a7d2000 rwxp 9a7cf000 00:00 0
    9a7d2000-9a850000 rwxp 9a7d2000 00:00 0
    9a850000-9a853000 ---p 9a850000 00:00 0
    9a853000-9a8d1000 rwxp 9a853000 00:00 0
    9a8d1000-9a8d4000 rwxp 9a8d1000 00:00 0
    9a8d4000-9a952000 rwxp 9a8d4000 00:00 0
    9a952000-9a955000 ---p 9a952000 00:00 0
    9a955000-9a9d3000 rwxp 9a955000 00:00 0
    9a9d3000-9a9d6000 rwxp 9a9d3000 00:00 0
    9a9d6000-9aa54000 rwxp 9a9d6000 00:00 0
    9aa54000-9aa57000 ---p 9aa54000 00:00 0
    9aa57000-9aad5000 rwxp 9aa57000 00:00 0
    9ae00000-9af58000 rwxp 9ae00000 00:00 0
    9af58000-9b000000 ---p 9af58000 00:00 0
    9b000000-9b1fa000 rwxp 9b000000 00:00 0
    9b1fa000-9b200000 ---p 9b1fa000 00:00 0
    9b200000-9b400000 rwxp 9b200000 00:00 0
    9b400000-9b5f9000 rwxp 9b400000 00:00 0
    9b5f9000-9b600000 ---p 9b5f9000 00:00 0
    9b600000-9b800000 rwxp 9b600000 00:00 0
    9b800000-9ba00000 rwxp 9b800000 00:00 0
    9ba00000-9bb00000 rwxp 9ba00000 00:00 0
    9bb7f000-9bb82000 rwxp 9bb7f000 00:00 0
    9bb82000-9bcfe000 rwxp 9bb82000 00:00 0
    9bcfe000-9bd00000 ---p 9bcfe000 00:00 0
    9bd7d000-9bd80000 ---p 9bd7d000 00:00 0
    9bd80000-9bdfe000 rwxp 9bd80000 00:00 0
    9bdfe000-9be01000 rwxp 9bdfe000 00:00 0
    9be01000-9be7f000 rwxp 9be01000 00:00 0
    9be7f000-9be82000 ---p 9be7f000 00:00 0
    9be82000-9bff2000 rwxp 9be82000 00:00 0
    9bff2000-9c000000 ---p 9bff2000 00:00 0
    9c02c000-9c02f000 rwxp 9c02c000 00:00 0
    9c02f000-9c0ad000 rwxp 9c02f000 00:00 0
    9c0ad000-9c0b0000 rwxp 9c0ad000 00:00 0
    9c0b0000-9c12e000 rwxp 9c0b0000 00:00 0
    9c12e000-9c131000 rwxp 9c12e000 00:00 0
    9c131000-9c1af000 rwxp 9c131000 00:00 0
    9c200000-9c2f8000 rwxp 9c200000 00:00 0
    9c2f8000-9c300000 ---p 9c2f8000 00:00 0
    9c400000-9c4ee000 rwxp 9c400000 00:00 0
    9c4ee000-9c500000 ---p 9c4ee000 00:00 0
    9c57f000-9c582000 rwxp 9c57f000 00:00 0
    9c582000-9c6f4000 rwxp 9c582000 00:00 0
    9c6f4000-9c700000 ---p 9c6f4000 00:00 0
    9c77d000-9c780000 ---p 9c77d000 00:00 0
    9c780000-9c7fe000 rwxp 9c780000 00:00 0
    9c7fe000-9c801000 ---p 9c7fe000 00:00 0
    9c801000-9c87f000 rwxp 9c801000 00:00 0
    9c87f000-9c882000 rwxp 9c87f000 00:00 0
    9c882000-9c9f9000 rwxp 9c882000 00:00 0
    9c9f9000-9ca00000 ---p 9c9f9000 00:00 0
    9ca77000-9ca7a000 rwxp 9ca77000 00:00 0
    9ca7a000-9caf8000 rwxp 9ca7a000 00:00 0
    9caf8000-9cafb000 rwxp 9caf8000 00:00 0
    9cafb000-9cb79000 rwxp 9cafb000 00:00 0
    9cb79000-9cb7c000 rwxp 9cb79000 00:00 0
    9cb7c000-9cbfa000 rwxp 9cb7c000 00:00 0
    9cbfa000-9cbfd000 rwxp 9cbfa000 00:00 0
    9cbfd000-9cc7b000 rwxp 9cbfd000 00:00 0
    9cc7b000-9cc7e000 ---p 9cc7b000 00:00 0
    9cc7e000-9ccfc000 rwxp 9cc7e000 00:00 0
    9cea6000-9cea9000 rwxp 9cea6000 00:00 0
    9cea9000-9cf27000 rwxp 9cea9000 00:00 0
    9cf27000-9cf2a000 rwxp 9cf27000 00:00 0
    9cf2a000-9cfa8000 rwxp 9cf2a000 00:00 0
    9cfa8000-9cfab000 ---p 9cfa8000 00:00 0
    9cfab000-9d029000 rwxp 9cfab000 00:00 0
    9d029000-9d02c000 ---p 9d029000 00:00 0
    9d02c000-9d0aa000 rwxp 9d02c000 00:00 0
    9d0aa000-9d0ad000 ---p 9d0aa000 00:00 0
    9d0ad000-9d12b000 rwxp 9d0ad000 00:00 0
    9d12b000-9d12e000 rwxp 9d12b000 00:00 0
    9d12e000-9d1ac000 rwxp 9d12e000 00:00 0
    9d1ac000-9d1af000 rwxp 9d1ac000 00:00 0
    9d1af000-9d22d000 rwxp 9d1af000 00:00 0
    9d22d000-9d230000 rwxp 9d22d000 00:00 0
    9d230000-9d2ae000 rwxp 9d230000 00:00 0
    9d2ae000-9d2b1000 rwxp 9d2ae000 00:00 0
    9d2b1000-9d32f000 rwxp 9d2b1000 00:00 0
    9d32f000-9d332000 rwxp 9d32f000 00:00 0
    9d332000-9d3b0000 rwxp 9d332000 00:00 0
    9d3b0000-9d3b3000 ---p 9d3b0000 00:00 0
    9d3b3000-9d431000 rwxp 9d3b3000 00:00 0
    9d431000-9d434000 rwxp 9d431000 00:00 0
    9d434000-9d4b2000 rwxp 9d434000 00:00 0
    9d4b2000-9d4b5000 ---p 9d4b2000 00:00 0
    9d4b5000-9d533000 rwxp 9d4b5000 00:00 0
    9d533000-9d536000 ---p 9d533000 00:00 0
    9d536000-9d5b4000 rwxp 9d536000 00:00 0
    9d5b4000-9d5b7000 ---p 9d5b4000 00:00 0
    9d5b7000-9d635000 rwxp 9d5b7000 00:00 0
    9d635000-9d636000 r-xp 00000000 fd:00 1214048 /usr/java/jdk-1.5.0_09-i386/jre/lib/i386/librmi.so
    9d636000-9d637000 rwxp 00000000 fd:00 1214048 /usr/java/jdk-1.5.0_09-i386/jre/lib/i386/librmi.so
    9d637000-9d63a000 rwxp 9d637000 00:00 0
    9d63a000-9d6b8000 rwxp 9d63a000 00:00 0
    9d6b8000-9d6bb000 rwxp 9d6b8000 00:00 0
    9d6bb000-9d739000 rwxp 9d6bb000 00:00 0
    9d739000-9d73c000 ---p 9d739000 00:00 0
    9d73c000-9d7ba000 rwxp 9d73c000 00:00 0
    9d7ba000-9d7bd000 ---p 9d7ba000 00:00 0
    9d7bd000-9d83b000 rwxp 9d7bd000 00:00 0
    9e41e000-9e421000 rwxp 9e41e000 00:00 0
    9e421000-9e49f000 rwxp 9e421000 00:00 0
    9e49f000-9e4d4000 r-xs 00000000 fd:00 2473232 /var/db/nscd/hosts
    9e4d4000-9e4e5000 r-xp 00000000 fd:00 1214046 /usr/java/jdk-1.5.0_09-i386/jre/lib/i386/libnet.so
    9e4e5000-9e4e6000 rwxp 00011000 fd:00 1214046 /usr/java/jdk-1.5.0_09-i386/jre/lib/i386/libnet.so
    9e4e6000-9e4e9000 rwxp 9e4e6000 00:00 0
    9e4e9000-9e567000 rwxp 9e4e9000 00:00 0
    9e567000-9e56a000 ---p 9e567000 00:00 0
    9e56a000-9e5e8000 rwxp 9e56a000 00:00 0
    9f834000-9f9ef000 r-xs 00000000 fd:04 6144498 /blahblah/xerces.jar
    9ffd4000-9ffd5000 ---p 9ffd4000 00:00 0
    9ffd5000-a0055000 rwxp 9ffd5000 00:00 0
    a0055000-a0058000 ---p a0055000 00:00 0
    a0058000-a00d6000 rwxp a0058000 00:00 0
    a00d6000-a00d9000 ---p a00d6000 00:00 0
    a00d9000-a0157000 rwxp a00d9000 00:00 0
    a0157000-a015a000 ---p a0157000 00:00 0
    a015a000-a01d8000 rwxp a015a000 00:00 0
    a01d8000-a01db000 ---p a01d8000 00:00 0
    a01db000-a0259000 rwxp a01db000 00:00 0
    a0259000-a025c000 ---p a0259000 00:00 0
    a025c000-a02da000 rwxp a025c000 00:00 0
    a02da000-a02db000 r-xp 00fb3000 fd:00 969958 /usr/lib/locale/locale-archive
    a02db000-a030d000 r-xp 00f2c000 fd:00 969958 /usr/lib/locale/locale-archive
    a030d000-a050d000 r-xp 00000000 fd:00 969958 /usr/lib/locale/locale-archive
    a050d000-a0510000 ---p a050d000 00:00 0
    a0510000-a058e000 rwxp a0510000 00:00 0
    a058e000-a0591000 ---p a058e000 00:00 0
    a0591000-a060f000 rwxp a0591000 00:00 0
    a060f000-a0610000 ---p a060f000 00:00 0
    a0610000-a0690000 rwxp a0610000 00:00 0
    a0690000-a0691000 ---p a0690000 00:00 0
    a0691000-a0711000 rwxp a0691000 00:00 0
    a0711000-a0712000 ---p a0711000 00:00 0
    a0712000-a07a0000 rwxp a0712000 00:00 0
    a07a0000-a07b2000 rwxp a07a0000 00:00 0
    a07b2000-a07c5000 rwxp a07b2000 00:00 0
    a07c5000-a080b000 rwxp a07c5000 00:00 0
    a080b000-a0819000 rwxp a080b000 00:00 0
    a0819000-a082b000 rwxp a0819000 00:00 0
    a082b000-a083e000 rwxp a082b000 00:00 0
    a083e000-a0883000 rwxp a083e000 00:00 0
    a0883000-a088f000 rwxp a0883000 00:00 0
    a088f000-a2450000 rwxp a088f000 00:00 0
    a2450000-a4890000 rwxp a2450000 00:00 0
    a4890000-a6e40000 rwxp a4890000 00:00 0
    a6e40000-afa60000 rwxp a6e40000 00:00 0
    afa60000-b1090000 rwxp afa60000 00:00 0
    b1093000-b10a6000 rwxp b1093000 00:00 0
    b10a6000-b1153000 rwxp b10a6000 00:00 0
    b1153000-b15e3000 rwxp b1153000 00:00 0
    b15e3000-b4153000 rwxp b15e3000 00:00 0
    b4153000-b49c3000 r-xs 00000000 fd:00 1200731 /usr/java/jdk-1.5.0_09-i386/jre/lib/charsets.jar
    b49c3000-b49d8000 r-xs 00000000 fd:00 1200759 /usr/java/jdk-1.5.0_09-i386/jre/lib/jce.jar
    b49d8000-b4a5d000 r-xs 00000000 fd:00 1200760 /usr/java/jdk-1.5.0_09-i386/jre/lib/jsse.jar
    b4a5d000-b4ac6000 rwxp b4a5d000 00:00 0
    b4ac6000-b70dc000 r-xs 00000000 fd:00 1200767 /usr/java/jdk-1.5.0_09-i386/jre/lib/rt.jar
    b70dc000-b70eb000 r-xp 00000000 fd:00 1214052 /usr/java/jdk-1.5.0_09-i386/jre/lib/i386/libzip.so
    b70eb000-b70ed000 rwxp 0000e000 fd:00 1214052 /usr/java/jdk-1.5.0_09-i386/jre/lib/i386/libzip.so
    b70ed000-b710e000 r-xp 00000000 fd:00 1214032 /usr/java/jdk-1.5.0_09-i386/jre/lib/i386/libjava.so
    b710e000-b7110000 rwxp 00020000 fd:00 1214032 /usr/java/jdk-1.5.0_09-i386/jre/lib/i386/libjava.so
    b7110000-b711b000 r-xp 00000000 fd:00 1214051 /usr/java/jdk-1.5.0_09-i386/jre/lib/i386/libverify.so
    b711b000-b711c000 rwxp 0000b000 fd:00 1214051 /usr/java/jdk-1.5.0_09-i386/jre/lib/i386/libverify.so
    b711c000-b7124000 rwxs 00000000 fd:00 2392802 /tmp/hsperfdata_elm_d/30978
    b7124000-b760e000 r-xs 00000000 fd:00 2473112 /var/db/nscd/passwd
    b760e000-b7614000 r-xp 00000000 fd:00 1214056 /usr/java/jdk-1.5.0_09-i386/jre/lib/i386/native_threads/libhpi.so
    b7614000-b7615000 rwxp 00006000 fd:00 1214056 /usr/java/jdk-1.5.0_09-i386/jre/lib/i386/native_threads/libhpi.so
    b7615000-b7616000 rwxp b7615000 00:00 0
    b7616000-b7617000 r-xp b7616000 00:00 0
    b7617000-b7b71000 r-xp 00000000 fd:00 1214060 /usr/java/jdk-1.5.0_09-i386/jre/lib/i386/server/libjvm.so
    b7b71000-b7bd4000 rwxp 0055a000 fd:00 1214060 /usr/java/jdk-1.5.0_09-i386/jre/lib/i386/server/libjvm.so
    b7bd4000-b7fed000 rwxp b7bd4000 00:00 0
    bfe00000-bfe03000 ---p bfe00000 00:00 0
    bfe03000-c0000000 rwxp bfe03000 00:00 0
    ffffe000-fffff000 ---p 00000000 00:00 0
    VM Arguments:
    jvm_args: -Xmx200M -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+UseParallelGC -XX:+UseAdaptiveSizePolicy -Djava.security.manager -Djava.security.policy=/blah/blah/blah.policy -Dsun.rmi.dgc.client.gcInterval=72000000 -Dsun.rmi.dgc.server.gcInterval=72000000
    java_command: blahblahblah
    Launcher Type: SUN_STANDARD
    Environment Variables:
    JAVA_HOME=/usr/java/jdk-1.5.0_09-i386
    PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin
    LD_LIBRARY_PATH=/usr/java/jdk-1.5.0_09-i386/jre/lib/i386/server:/usr/java/jdk-1.5.0_09-i386/jre/lib/i386:/usr/java/jdk-1.5.0_09-i386/jre/../lib/i386
    Signal Handlers:
    SIGSEGV: [libjvm.so+0x508860], sa_mask[0]=0x7ffbfeff, sa_flags=0x14000004
    SIGBUS: [libjvm.so+0x508860], sa_mask[0]=0x7ffbfeff, sa_flags=0x14000004
    SIGFPE: [libjvm.so+0x42cac0], sa_mask[0]=0x7ffbfeff, sa_flags=0x14000004
    SIGPIPE: [libjvm.so+0x42cac0], sa_mask[0]=0x7ffbfeff, sa_flags=0x14000004
    SIGILL: [libjvm.so+0x42cac0], sa_mask[0]=0x7ffbfeff, sa_flags=0x14000004
    SIGUSR1: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
    SIGUSR2: [libjvm.so+0x42ef10], sa_mask[0]=0x00000000, sa_flags=0x14000004
    SIGHUP: [libjvm.so+0x42e940], sa_mask[0]=0x7ffbfeff, sa_flags=0x14000004
    SIGINT: [libjvm.so+0x42e940], sa_mask[0]=0x7ffbfeff, sa_flags=0x14000004
    SIGQUIT: [libjvm.so+0x42e940], sa_mask[0]=0x7ffbfeff, sa_flags=0x14000004
    SIGTERM: [libjvm.so+0x42e940], sa_mask[0]=0x7ffbfeff, sa_flags=0x14000004
    --------------- S Y S T E M ---------------
    OS:Red Hat Enterprise Linux AS release 4 (Nahant Update 2)
    uname:Linux 2.6.9-22.0.2.ELsmp #1 SMP Thu Jan 5 17:13:01 EST 2006 i686
    libc:glibc 2.3.4 NPTL 2.3.4
    rlimit: STACK 10240k, CORE 0k, NPROC 131071, NOFILE 1024, AS infinity
    load average:30.16 19.62 12.95
    CPU:total 2 (cores per cpu 1, threads per core 1) family 15 model 37 stepping 1, cmov, cx8, fxsr, mmx, sse, sse2, sse3, mmxext, 3dnowext, 3dnow
    Memory: 4k page, physical 8145028k(148604k free), swap 1023k(997k free)
    vm_info: Java HotSpot(TM) Server VM (1.5.0_09-b01) for linux-x86, built on Sep 7 2006 13:17:49 by java_re with gcc 3.2.1-7a (J2SE release)

    There's no JNI component of RMI so this is only an RMI problem to the extent that RMI uses TCP. It's a Java TCP accept() problem.That's what I figured. Shame nobody else on the entire Internet appears to have experienced the same problem... :-( Nevertheless, there is no native code in our application so it's looking like a bug in the native socket accept implementation, yes? And that appears to be exacerbated by RMI and/or our use of RMI.
    I suspect we are (or the third party code is) doing something strange at VM shutdown since the crash always happens after a log output saying that the process has completed its work. So my current lines of attack are around JVM shutdown handlers, finalizers, etc.
    Our project also uses OpenAdaptor (open source ETL tool) and I discovered that this by default calls runFinalizersOnExit(true), so we're going to try re-configuring that today too in case there's something dodgy going on with the finalizers somewhere.
    That EDI register of 0x8 looks very suspicious. Have you tried the Bug Parade?Your expertise extends to understand the underlying hardware implemention? Is there no end to your talents ejp?! :-)
    I have tried the bug parade but there's nothing obvious there. Plus, it's just about the worst bug tracking system in existance (to go with the worst forum software I guess! LOL) and things just get closed with no comment, or ignored, or turn into a flame war, etc... Still, I tried and didn't have any luck.
    Thanks ejp!

  • Instantiating a Java class in native code.

    I'm trying to figure out how to instantiate a Java class in native code (C/C++) but no luck so far.
    Given a class called DataPacket written in Java, how can I create in the native side of the code?
    Any ideas?
    Thanks.

    chickenlips wrote:
    Hi NiceGuy,
    Thanks for responding. Yes MyClass.class is in the right place.
    A call to env->ExceptionDescribe(); reveals that it can't find org\apache\commons\logging\LogFactory
    Apparently, when I specified:
    options[0].optionString = "-Djava.class.path=c:\My Workspace\JNITest"
    vm_args.options = options;
    It does not append to my classpath environment variable, but instead overwrites it.
    My solution was to list out every jar files I was using and append them to the optionString. Is there a better way to do it?
    A new question: Is there a way to append to the CLASSPATH environment variable using the java.class.path? Or should/could I have use the classpath option instead of the -D option?The 'classpath' option won't be recognized by the Invocation API. To append to the CLASSPATH environment variable, you call call getenv("CLASSPATH") in your native code and use strncat() to concatenate it with your option string.

  • Signed Applet and native code

    Hi all,
    I have an application which I deploy with webstart and includes native code. This all works perfectly with webstart. I now want to deploy it as an applet. This works accept for the native code. I have done heaps of searching and cannot determine the most appropriate way to make the native code visible to the applet.
    Ultimately I am at the point where i recieve a UnsatisfiedLinkError when calling loadLibrary(...) for the native code. Currently i have the native code (dll's for windows, so's for Solaris etc) in independent jars which are also signed (as needed for webstart).
    Could anyone give me some advise or a reference to more info on this topic.
    I am using Java 1.5 and am happy to use 1.6 if neccessary.
    Thanks,
    Dave

    Andrew - of course you were correct about the signed cert - I misspoke when the CA signed applet didn't show a warning. (You were also right that I must have checked 'always accept' the certificate on the server I had the CA signed cert on).
    I think you guys are on to something about the privileged actions. It would explain where one popup has the icon and the other doesn't. We have Javascript making calls into the applet and we do use JNI (although I don't think there are any calls back). We do wrap these calls in privileged actions but maybe we missed something. What I've seen before is a security exception is thrown if we don't wrap them - but maybe there are areas where we don't and it doesn't throw an exception or it does and we eat it somehow (and for whatever reason doesn't cause anything noticeable).
    Now that I know it could likely be the applet code and not necessarily a build issue with signing the jars, I have another place to look...
    I'll check it out and let you know what I find.

  • Writing an application without any native code

    Good Evening every one,
    i would like to know whether it is possible to package and deploy on appStore an application is which only made of HTML/CSS/JavaScript, without any native code.
    I thank you for your answers.

    Hi Loloof, and welcome to the Dev Forum!
    loloof64 wrote:
    i would like to know whether it is possible to package and deploy on appStore an application is which only made of HTML/CSS/JavaScript, without any native code.
    No, it's not possible to build a native app without some native code. However the Cocoa code needed to bring up a web view object which runs your html etc. is minimal. I don't think you'll have a problem finding that code as a template, along with instructions on how to build your app from it. - Ray

  • EXCEPTION_ACCESS_VIOLATION exception has been detected in native code outs

    Here is my error :
    # An EXCEPTION_ACCESS_VIOLATION exception has been detected in native code outside the VM.
    # Program counter=0x502032cf
    Problem I have though is the app will run fine on 1 PC, but the same installation on another causes this. OS == NT ( i don't know too much about NT)
    Not really sure what to do about this one, really grateful for any advice.
    Thx

    It most windows JNI code an ACCESS_VIOLATION indicates a memory problem: buffer overwrite, underwrite, dereference a null pointer, etc.
    I would suggest going through the JNI code and put in more error checking: return values from methods, check for non-null input params, etc.

  • Java application crashes due to some problem in native  code

    Hi All
    I have a Java application that calls APIs in a 3rd party DLL(I don't have access to its source code or logs) through my VC++ DLL(Win32) that acts as the wrapper DLL.
    The Application has many functionalities and is based on multithreading (both on Java layer as well as C++ layer). Most of the functionalities are working , but when I try to close the application, it crashes.
    Moreover the crashing occurs inconstently, sometimes it does not crash. Instead of showing any debug information , it simply creates a error file with disassembly code that I am not able to understand.
    Though the error seems like an java error, but actually it seems to be due to native code. I have try catch blocks in my code and also implemented settranslator functionality to get hold of structured/C exceptions. But still I am not able to catch any exceptions.
    I am pasting the the contents of the file here:
    # An unexpected error has been detected by HotSpot Virtual Machine:
    # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x7c9111de, pid=488, tid=1848
    # Java VM: Java HotSpot(TM) Client VM (1.4.2_14-b05 mixed mode)
    # Problematic frame:
    # C [ntdll.dll+0x111de]
    --------------- T H R E A D ---------------
    Current thread (0x009d1790): JavaThread "CompilerThread0" daemon [_thread_in_native, id=1848]
    siginfo: ExceptionCode=0xc0000005, reading address 0x00000001
    Registers:
    EAX=0x00000001, EBX=0x00030000, ECX=0x02d17a18, EDX=0x00030278
    ESP=0x02c2f8e8, EBP=0x02c2fb08, ESI=0x02d17a10, EDI=0x00000001
    EIP=0x7c9111de, EFLAGS=0x00010202
    Top of Stack: (sp=0x02c2f8e8)
    0x02c2f8e8: 009fa9a0 000000c0 00000008 0811d3d8
    0x02c2f8f8: 0000000c 00a2c0e0 00000003 00000004
    0x02c2f908: 08018216 00000001 02c2fcc4 08018385
    0x02c2f918: 00000002 00000001 02c2f93c 02d06d0c
    0x02c2f928: 0802a50a 00000000 00000001 02c2f93c
    0x02c2f938: 04a3cb4c 02d01008 02c2f964 0802a850
    0x02c2f948: 02c2f96e 00000000 00000007 00000000
    0x02c2f958: 04a3cb38 00000004 08018216 00000001
    Instructions: (pc=0x7c9111de)
    0x7c9111ce: 39 89 bd 0c ff ff ff 8b 46 0c 89 85 68 ff ff ff
    0x7c9111de: 8b 10 3b 57 04 0f 85 8c 31 02 00 3b d1 0f 85 84
    Stack: [0x02bf0000,0x02c30000), sp=0x02c2f8e8, free space=254k
    Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
    C [ntdll.dll+0x111de]
    C [MSVCRT.dll+0x1c3c9]
    C [MSVCRT.dll+0x1c3e7]
    C [MSVCRT.dll+0x1c42e]
    V [jvm.dll+0xacda9]
    V [jvm.dll+0x17102]
    V [jvm.dll+0x16c8d]
    V [jvm.dll+0x16dca]
    V [jvm.dll+0x170a7]
    V [jvm.dll+0x172e8]
    V [jvm.dll+0x4dc65]
    V [jvm.dll+0x4d894]
    V [jvm.dll+0xd3a36]
    V [jvm.dll+0xd3a04]
    C [MSVCRT.dll+0x2a3b0]
    C [kernel32.dll+0xb683]
    Current CompileTask:
    HotSpot Client Compiler:423 b sun.awt.AWTAutoShutdown.isReadyToShutdown()Z (33 bytes)
    --------------- P R O C E S S ---------------
    Java Threads: ( => current thread )
    0x049d6328 JavaThread "Thread-19" [_thread_blocked, id=1440]
    0x049d24d0 JavaThread "Thread-18" [_thread_blocked, id=3620]
    0x049d40c8 JavaThread "Thread-17" [_thread_blocked, id=2476]
    0x02df0538 JavaThread "TimerQueue" daemon [_thread_blocked, id=3876]
    0x00036a78 JavaThread "DestroyJavaVM" [_thread_blocked, id=2448]
    0x02e43768 JavaThread "Thread-6" [_thread_blocked, id=3664]
    0x02e23130 JavaThread "Thread-4" [_thread_blocked, id=2816]
    0x02e21d08 JavaThread "Thread-2" [_thread_blocked, id=3344]
    0x02da3f78 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=2528]
    0x02da3268 JavaThread "AWT-EventQueue-0" [_thread_in_native, id=4008]
    0x02d91f90 JavaThread "AWT-Windows" daemon [_thread_blocked, id=648]
    0x02d3a478 JavaThread "AWT-Shutdown" [_thread_blocked, id=2988]
    =>0x009d1790 JavaThread "CompilerThread0" daemon [_thread_in_native, id=1848]
    0x009d0a90 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=3568]
    0x009ce128 JavaThread "Finalizer" daemon [_thread_blocked, id=1824]
    0x009ccda0 JavaThread "Reference Handler" daemon [_thread_blocked, id=3280]
    Other Threads:
    0x00a0b6e8 VMThread [id=608]
    0x00a0d620 WatcherThread [id=3012]
    VM state:not at safepoint (normal execution)
    VM Mutex/Monitor currently owned by a thread: None
    Heap
    def new generation total 640K, used 583K [0x10010000, 0x100c0000, 0x104f0000)
    eden space 576K, 90% used [0x10010000, 0x10091e40, 0x100a0000)
    from space 64K, 99% used [0x100b0000, 0x100bfff8, 0x100c0000)
    to space 64K, 0% used [0x100a0000, 0x100a0000, 0x100b0000)
    tenured generation total 7772K, used 5451K [0x104f0000, 0x10c87000, 0x14010000)
    the space 7772K, 70% used [0x104f0000, 0x10a42d80, 0x10a42e00, 0x10c87000)
    compacting perm gen total 8192K, used 8137K [0x14010000, 0x14810000, 0x18010000)
    the space 8192K, 99% used [0x14010000, 0x148024e8, 0x14802600, 0x14810000)
    Dynamic libraries:
    0x00400000 - 0x0040b000 c:\dcsthick\jre\bin\java.exe
    0x7c900000 - 0x7c9b0000 C:\WINDOWS\system32\ntdll.dll
    0x7c800000 - 0x7c8f5000 C:\WINDOWS\system32\kernel32.dll
    0x77dd0000 - 0x77e6b000 C:\WINDOWS\system32\ADVAPI32.dll
    0x77e70000 - 0x77f01000 C:\WINDOWS\system32\RPCRT4.dll
    0x77c10000 - 0x77c68000 C:\WINDOWS\system32\MSVCRT.dll
    0x08000000 - 0x08143000 c:\dcsthick\jre\bin\client\jvm.dll
    0x7e410000 - 0x7e4a1000 C:\WINDOWS\system32\USER32.dll
    0x77f10000 - 0x77f57000 C:\WINDOWS\system32\GDI32.dll
    0x76b40000 - 0x76b6d000 C:\WINDOWS\system32\WINMM.dll
    0x76390000 - 0x763ad000 C:\WINDOWS\system32\IMM32.DLL
    0x10000000 - 0x10007000 c:\dcsthick\jre\bin\hpi.dll
    0x76bf0000 - 0x76bfb000 C:\WINDOWS\system32\PSAPI.DLL
    0x00390000 - 0x0039e000 c:\dcsthick\jre\bin\verify.dll
    0x003b0000 - 0x003c9000 c:\dcsthick\jre\bin\java.dll
    0x003d0000 - 0x003de000 c:\dcsthick\jre\bin\zip.dll
    0x02e70000 - 0x02f84000 C:\dcsthick\jre\bin\awt.dll
    0x73000000 - 0x73026000 C:\WINDOWS\system32\WINSPOOL.DRV
    0x774e0000 - 0x7761d000 C:\WINDOWS\system32\ole32.dll
    0x5ad70000 - 0x5ada8000 C:\WINDOWS\SYSTEM32\uxtheme.dll
    0x02fe0000 - 0x03031000 C:\dcsthick\jre\bin\fontmanager.dll
    0x73760000 - 0x737a9000 C:\WINDOWS\system32\ddraw.dll
    0x73bc0000 - 0x73bc6000 C:\WINDOWS\system32\DCIMAN32.dll
    0x73940000 - 0x73a10000 C:\WINDOWS\system32\D3DIM700.DLL
    0x74720000 - 0x7476b000 C:\WINDOWS\system32\MSCTF.dll
    0x755c0000 - 0x755ee000 C:\WINDOWS\system32\msctfime.ime
    0x03320000 - 0x0333c000 C:\dcsthick\lib\CrewsDmApiJniNt.dll
    0x031b0000 - 0x031bb000 c:\dcsthick\lib\CRWNT_DM.dll
    0x03240000 - 0x03249000 c:\dcsthick\lib\BAT_API.dll
    0x03340000 - 0x03352000 c:\dcsthick\lib\DC_DSM32.dll
    0x03360000 - 0x03369000 c:\dcsthick\lib\CRWTOOLS.dll
    0x77c00000 - 0x77c08000 C:\WINDOWS\system32\VERSION.dll
    0x03370000 - 0x0337a000 c:\dcsthick\lib\PMAPI.dll
    0x5d090000 - 0x5d12a000 C:\WINDOWS\system32\COMCTL32.dll
    0x03790000 - 0x037b2000 c:\dcsthick\ResaDLL\DC_DSMNB.dll
    0x5b860000 - 0x5b8b4000 C:\WINDOWS\system32\NETAPI32.dll
    0x038d0000 - 0x038f2000 c:\dcsthick\ResaDLL\DC_DSMIP.dll
    0x71ad0000 - 0x71ad9000 C:\WINDOWS\system32\WSOCK32.dll
    0x71ab0000 - 0x71ac7000 C:\WINDOWS\system32\WS2_32.dll
    0x71aa0000 - 0x71aa8000 C:\WINDOWS\system32\WS2HELP.dll
    0x71a50000 - 0x71a8f000 C:\WINDOWS\system32\mswsock.dll
    0x662b0000 - 0x66308000 C:\WINDOWS\system32\hnetcfg.dll
    0x71a90000 - 0x71a98000 C:\WINDOWS\System32\wshtcpip.dll
    0x76f20000 - 0x76f47000 C:\WINDOWS\system32\DNSAPI.dll
    0x76fb0000 - 0x76fb8000 C:\WINDOWS\System32\winrnr.dll
    0x76f60000 - 0x76f8c000 C:\WINDOWS\system32\WLDAP32.dll
    0x66580000 - 0x6658f000 C:\WINDOWS\system32\pnrpnsp.dll
    0x76fc0000 - 0x76fc6000 C:\WINDOWS\system32\rasadhlp.dll
    0x032e0000 - 0x0330a000 C:\dcsthick\lib\ResaHostConnection.dll
    0x03250000 - 0x03257000 c:\dcsthick\lib\CRWNT_GWALC.dll
    0x03310000 - 0x03319000 c:\dcsthick\lib\ALCAPI.dll
    0x763b0000 - 0x763f9000 C:\WINDOWS\system32\comdlg32.dll
    0x77f60000 - 0x77fd6000 C:\WINDOWS\system32\SHLWAPI.dll
    0x7c9c0000 - 0x7d1d7000 C:\WINDOWS\system32\SHELL32.dll
    0x773d0000 - 0x774d3000 C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2982_x-ww_ac3f9c03\comctl32.dll
    VM Arguments:
    jvm_args: -Dcfdynaproppath=c:\dcsthick/config/ -Dcfdynapropxml=RESA_KCOdynamicproperties.xml -DConfigPath=c:\dcsthick/config/RESA_KCOConfig.xml -DResolution=High -DWorkstationID=GWGTE -DMode=GateBoarding -DlogPath=c:\temp\kcologs -DlogInformation=0 -DGateway=ALCSQ1 -DNetBiosPort=A
    java_command: com.singaporeair.dcs.standalone.application.model.ApplicationModel SQ/IGATEADXX
    Launcher Type: SUN_STANDARD
    Environment Variables:
    JAVA_HOME=c:\dcsthick\jre\bin
    PATH=c:\dcsthick\jre\bin;c:\dcsthick/lib;c:\dcsthick/ResaDLL
    USERNAME=USER
    OS=Windows_NT
    PROCESSOR_IDENTIFIER=x86 Family 6 Model 15 Stepping 13, GenuineIntel
    --------------- S Y S T E M ---------------
    OS: Windows XP Build 2600 Service Pack 2
    CPU:total 2 family 6, cmov, cx8, fxsr, mmx, sse, sse2
    Memory: 4k page, physical 1039600k(565656k free), swap 2501208k(2091128k free)
    vm_info: Java HotSpot(TM) Client VM (1.4.2_14-b05) for windows-x86, built on Mar 14 2007 16:46:11 by "java_re" with MS VC++ 6.0
    The JAVA Application during initialisation establishes a connection with the host server for various devices. For each of the device it establishes a separate connection and keeps listening on these connections using multithreading.
    During App close, we need to close each of these connections one by one for each device.
    The opening /closing of connection is done by 3rd party DLL and call to there APIs is done through a C++ Wrapper DLL that I have built between the Java layer and their DLL.
    When we close the Application, I am always able to close the connections on the first 2 devices. Then all of a sudden it crashes either for the 3rd device conn. close or for the 4th one. The code is the same for all the devices . That too sometimes it just goes fine without crashing. If its a null pointer exception, why is it that it crashes on some occassions and not in other times. More importantly, why is it that it does not fail for the first 2 devices , but fails for the 3rd or 4th device connection close?
    Can please anyone help me. Please suggest me as to how I can determine the cause of the error.
    And is this error really coming in ntdll.dll or is it getting caused of my dll?

    The opening /closing of connection is done by 3rd party DLL and call to there APIs is done through a C++ Wrapper DLL that I have built between the Java layer and their DLL.The specific error indicates a pointer/memory problem.
    The first place that is likely is in your code.
    The second most likely place for the cause is because you are using the third party library incorrectly. For example before exiting you are supposed to clean up resources and you are not doing so.
    As a remote possibility, much less likely that either of the above, there is a bug in jnative or in the 3rd party library.

  • How to run 64-bit native code with Java Web Start

    This question has probably been asked many times, but I couldn't find anything in my searches.
    How can I get Java Web Start on a Solaris client (Solaris 10 in this case, with JRE 1.5) to run a java application that includes a 64-bit native code library? The application downloads fine, including the jar file that has the native shared object, but when the native library is loaded by the java application, I get a "wrong ELF class: ELFCLASS64" error.
    I assume that is because Web Start is invoking the 32-bit java VM, which can't load a 64-bit library. I tried configuring Java Web Start to use the 64-bit VM (by setting the path to java to ".../jre/bin/sparcv9/java" in the javaws console) but then I get an error that says "Can't load library: .../jre/lib/sparcv9/libdeploy.so".
    Does Java Web Start support 64-bit native code, and if so, what do I need to do differently?
    Thanks.

    No it can't. On the Sun download page of the JRE it says that 64 Bit systems need to use the 32 Bit JRE to execute Plugins - this might be the same for Web Start apps.

  • Reading Applet variable to javascript but getting some [native code] error?

    Hello All,
    I am trying to get the value of an applet variable into a javascript variable.
    The variable in applet is: Public String list;
    I am accepting it in javascript as: var val = document.content.list; where content is the applet name or ID
    When I do: alert(val); , I get an alert box with "Hi" on it. Which is as expected.
    However when I try to do: alert(val.length); , i get an alert box with "function length { [native code] }" in it.
    I have seen such a thing for the first time in my life, I am quite new to the world of coding.
    Can anyone tell me how can I solve this problem, because further I need to pass this javascript variable val to a server side script using Xmlhttp method.
    Presently when I am passing the variable, it doesn't get saved on the server which I intend to do after passing the variable.
    Any Suggestions??

    mailsforabhinav wrote:
    However when I try to do: alert(val.length); , i get an alert box with "function length { [native code] }" in it.That's because the returned String is still a Java string so you have to use val.length() to get the length!
    If really want to convert the Java string to Javascript String then do
    var val = document.content.list + "";
    alert(val.length);Bye.

Maybe you are looking for

  • How to view source of email message without opening the message?

    In addition to Verizon Email, I use Windows Live Mail.  With Windows Live Mail I can view the source of a message without opening the message.  This way I can find out if the message is legitimate or spam before potentially getting hit with malware f

  • Update query with CL_SQL_STATEMENT class

    Hi all, I'm trying to execute an update query with ADBC classes in order to modify two parameters (n_doc and processed) from a row with the following instructions:       l_con_ref = cl_sql_connection=>get_connection( 'DB_7879' ).       l_stmt_ref = l

  • Maintenance Optimizer Configuration

    Hello, I have 2 issues with maintenance Optimizer. I am using Solution Manager Support Package 9. I applied the notes related to it including the 1024932 and 990534. 1. When i press the button Continue in step 1, I sometimes have a runtime error PXA_

  • MarshalException-Is Enumeration a valid arg type in Session Bean method ??

    Hi, I have a session bean method (EJB1.1) that takes Enumeration as one of the arguments. When I calls this remote method, I am getting MarshalException. Is Enumeration is valid argument type for remote methods in EJB 1.1 ?? The enumeration is return

  • CS2 not responding to certain keyboard keys

    I have CS2 with Windows.  It has been working perfectly but just recently some of the keys will not respond eg F7 for the layers. Also when trying to put Text on an image the text shows as a line ---------- but shows what is written in the layers com