FATAL ERROR in native method: Non-array passed to JNI array operations

After stepping up to JDK 1.4.2 we started getting a hotspot error, I added -Xcheck:jni and it yielded the above error which was not existent in JDK 1.4.1 and for the life of me I cannot find out whats wrong:
Native method dec:
private native byte[] cost(final byte[] byte_array,
final double minCostPerMeter,
final int costFuncSelection,
final double maxCostThreshold);
Method call:
ByteArrayInputStream
inputByteStream = new ByteArrayInputStream(
cost(output_byte_stream.toByteArray(),
minCostPerMeter,
costFunctionSelection.length,
maxCostThreshold));
An array is being passed I have no idea why it is complaing about the method call.
Any help would be appreciated.
-R

What happens if you remove all the code from the JNI method - so it just calls and then returns?
If it still occurs then I would expect that you have a memory problem in a piece of code before this one. Such problems can have no impact when run in one environment but cause failures in another becomes some other legitimate piece of data moved.
If it doesn't then I would expect that the problem is in the method itself and not the call.
It could be some odd VM problem so trying a different version of 1.4.2 might help (but in of itself would not eliminate the possibility that you have a memory problem.)

Similar Messages

  • Error: Non-array passed to JNI array operations

    Can anyone see what I am doing wrong? I am trying to go through the array of objects example in the online JNI text book "The Java Native Interface Programmer's Guide and Specification" by Sheng Liang. The book and pertinent chapter can be found here:
    http://java.sun.com/docs/books/jni/html/objtypes.html#27791
    The error I received on running the program with the -Xcheck:jni switch is this:
    FATAL ERROR in native method: Non-array passed to JNI array operations
         at petes.JNI.ObjectArrayTest.initInt2DArray(Native Method)
         at petes.JNI.ObjectArrayTest.main(ObjectArrayTest.java:14)Without the xcheck switch, I get a huge error log file that I can reproduce here if needed.
    My c code with #ifdef _Debug statements removed for readability is listed below.  The location of the error (I believe) is marked:
    #include <jni.h>
    #include <stdio.h>
    #include "petes_JNI_ObjectArrayTest.h"
    //#define _Debug
    // error found running the program with the -Xcheck:jni switch
    //page 38 and 39 of The Java Native Interface Guide by Sheng Liang
    JNIEXPORT jobjectArray JNICALL Java_petes_JNI_ObjectArrayTest_initInt2DArray
      (JNIEnv *env, jclass class, jint size)
         jobjectArray result;
         jint i;
         jclass intArrCls = (*env)->FindClass(env, "[I");
         if (intArrCls == NULL)
              return NULL;
         result = (*env)->NewObjectArray(env, size, intArrCls, NULL);
         if (result = NULL)
              return NULL; 
         for (i = 0; i < size; i++)
              jint tmp[256]; // make sure it is large enough
              jint j;
              jintArray iarr = (*env)->NewIntArray(env, size);
              if (iarr == NULL)
                   return NULL; 
              for (j = 0; j < size; j++)
                   tmp[j] = i + j;
              (*env)->SetIntArrayRegion(env, iarr, 0, size, tmp);
              (*env)->SetObjectArrayElement(env, result, i, iarr); // ***** ERROR:  Non-array passed to JNI array operations
              (*env)->DeleteLocalRef(env, iarr);
         return result;
    }Here is my java code
    package petes.JNI;
    public class ObjectArrayTest
        private static native int[][] initInt2DArray(int size);
        static
            System.loadLibrary("petes_JNI_ObjectArrayTest");
        public static void main(String[] args)
            int[][] i2arr = initInt2DArray(3);
            if (i2arr != null)
                for (int i = 0; i < i2arr.length; i++)
                    for (int j = 0; j < i2arr[0].length; j++)
                        System.out.println(" " + i2arr[i][j]);
                    System.out.println();
            else
                System.out.println("i2arr is null");
    }Thanks in advance!
    Pete

    Niceguy1: Thanks for the quick reply!
    So far, I mainly see the usual differences between C and C++ JNI calls. Also, in the example you gave, they use a lot of casts, but that doesn't seem to make much difference to my output. Also, in the example, they create a 0-initilized int array, and use this class to initialze the class type of the Object array. I get the class type by a call to FindClass for a class type of "[I".  I'll try this their way and see what happens...
    Edit:  Changing the way I find the array element Object type did not help.  I still get the same error as previous.  Any other ideas would be greatly appreciated.
    Message was edited by:
            petes1234                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • FATAL ERROR in native method: Wrong Method ID

    I have a piece of C code from which I am trying to launch a piece of Java, but I am having severe problems just trying to get a simple integer value returned from any Java function. I keep getting the error message "FATAL ERROR in native method: Wrong method ID used to invode a Java method"
    My C code looks like :
    JNIEnv *env;
    long result;
    jmethodID mid;
    jclass cls;
    jobjectArray args;
    jstring jstr;
    jint res;
    jobject myObj;
    options[0].optionString = "-Djava.class.path=.";
    options[1].optionString = "-Djava.compiler=NONE";
    options[2].optionString = "-verbose:jni";
    vm_args.version = JNI_VERSION_1_2;
    vm_args.options = options;
    vm_args.nOptions = 2;
    vm_args.ignoreUnrecognized = JNI_FALSE;
    // Create the Java VM
    result = JNI_CreateJavaVM(&jvm,(void **)&env, &vm_args);
    if (result == JNI_ERR )
    printf("Can't create Java VM\n");
    exit(1);
    else
    printf("Java VM created successfully\n");
    cls = (*env)->FindClass(env, "Example1");
    if (cls == 0){
    printf("Can't find Class\n");
    exit(1);
    else
    printf("Class Found\n");
    mid = (*env)->GetMethodID(env, cls, "GetIntValue", "()I" );
    if (mid == 0) {
    printf("Can't find function\n");
    exit(1);
    else
    printf("Function Found\n");
    res = (*env)->CallIntMethod(env, cls, mid);
    if (res != 0)
    char pszTempString[256] = {'\0'};
    sprintf (pszJavaString, "Returned from Java the value of %d", res);
    printf("Returned from Java with ");
    printf(pszJavaString);
    My GetMethodID call works correctly and I have checked the signature (using javap -s) and that works fine. I've seen many references on these forums about using NewObject prior to calling CallIntMethod, but if I try to use that I then get the error message "FATAL ERROR in native method: a non-constructor passed to NewObject".
    Any body got any ideas please.
    Thanks

    What I couldn't figure out from your code is where you create the java object that is supposed to return the integer to your C code.
    Alternatives:
    o This is just code snippets, and you really are creating the object.
    o Error - the object should have been created.
    o Error - it is a static method, and you should be finding a static method and calling it on a class object.
    (Other than that, I didn't see anything obviously wrong.

  • FATAL ERROR in native method

    Dear all,
    I am working on a MacOSX. I am having trouble in using a Dynamic Library generated from C files and accessed from a java project using JNI.
    The loading of the library work well bur when i try to access a method I have the following error:
    FATAL ERROR in native method: JNI received a class argument that is not a class
         at cytosolve.sbmlSolver.SBMLSolver.initSolver(Native Method)
         at cytosolve.sbmlSolver.SBMLSolver.<init>(SBMLSolver.java:87)
         at cytosolve.sbmlSolver.cytosolve.main(cytosolve.java:29)where the Native method inside the C file is the following:
    JNIEXPORT jint JNICALL
    Java_cytosolve_sbmlSolver_SBMLSolver_initSolver(JNIEnv *env, jobject obj, jstring model_filename, jdouble totalTime, jint numSteps)and it is called from the Java file as:
    int successCode = initSolver(model_filename, totalTime, numSteps);Do you have any idea on where is the problem and how to fix it?
    Thank you,
    Eva.

    Everything seems to be right. Maybe you use JNI functions inproperly?

  • FATAL ERROR in native method: Wrong method ID used to invoke a Java method

    When calling the same method second time , I get message ::
    <FATAL ERROR in native method: Wrong method ID used to invoke a Java method>
    void myFunction(int myVal)
    JNIEnv *env = NULL;
    jclass odbcconnls;
    jint res;
    printf("\nInitilaizing class ");
    res = (jvm)->AttachCurrentThread((void **)&env,NULL);
    if (res < 0) {
    fprintf(stderr, "Can't get Env \n");
    (jvm)->DestroyJavaVM();
    return SQL_ERROR;          
    if(res == JNI_OK)
    printf("\nThe env is initialized ");
    if(*(&env) == NULL)
    printf(" the env is NULL ");
    printf("\nenv :::::: %s ", env);     
    // the jobject (dbc->actualConn) is a global reference
    odbcconnls = (env)->GetObjectClass(dbc->actualConn);
    if (odbcconnls == NULL) {
    goto destroy;
    switch(myVal){
    case 1:
    jmethodID methodId ;
    jboolean jbool;
    SQLINTEGER Val = (SQLINTEGER )Value;
    SQLINTEGER val1 = *Val;
    methodId = (env)->GetMethodID( odbcconnls,"myFun1","(Z)V");
    if(methodId == NULL){
    goto destroy;
    if(val1 == SQL_FALSE )
    jbool = 0;
    else
    jbool =1;
    env->CallVoidMethod(dbc->actualConn,methodId,jbool);
    env->DeleteLocalRef((jobject)res);
    env->DeleteLocalRef((jobject)odbcconnls);
    env->DeleteLocalRef((jobject)methodId);
    jvm->DetachCurrentThread();
    return ;
    case 2 :
    jmethodID methodId1 ;
    SQLUINTEGER* Level;
    methodId1 = (env)->GetMethodID( odbcconnls,"myFun2","(I)V");
    if(methodId1 == NULL){
    goto destroy;
    Level = (SQLUINTEGER *)Value;
    env->CallVoidMethod(dbc->actualConn,methodId1,(int)*Level);
    dbc->txn_isolation = (SQLUINTEGER)Value;
    env->DeleteLocalRef((jobject)res);
    env->DeleteLocalRef((jobject)odbcconnls);
    env->DeleteLocalRef((jobject)methodId1);
    jvm->DetachCurrentThread();
    return ;
    case 3 :
    SQLCHAR* Cate;
    jmethodID methodId2 ;
    jstring jStrCat;
    methodId2 = (env)->GetMethodID(odbcconnls,"myFun3","(Ljava/lang/String;)V");
    if(methodId2 == NULL){
    goto destroy;
    Cate = new SQLCHAR[20];
    strcpy((char *)CCatalog,(char *)Value);
    jStrCat = env->NewStringUTF((char *) Cate);
    printf("\n got jSTring ");
    env->CallVoidMethod(dbc->actualConn,methodId2,jStrCat);
    printf("\n after called method ");
    int len = strlen((char *)Cate);
    dbc->Cate = new SQLCHAR[len+1];
    strcpy((char *)dbc->Cate,(char *)Cate);
    printf("\n copied result ");
    env->DeleteLocalRef((jobject)res);
    env->DeleteLocalRef((jobject)odbcconnls);
    env->DeleteLocalRef((jobject)methodId2);
    jvm->DetachCurrentThread();
    return ;
    destroy:
    if ((env)->ExceptionOccurred()) {
    (env)->ExceptionDescribe();
    jvm->DetachCurrentThread();
    (jvm)->DestroyJavaVM();
    return SQL_ERROR;
    When case 1 is called second time this error is thrown..
    plz help me..
    Thanx
    MittalSunita.

    When calling the same method second time , I get
    message ::
    <FATAL ERROR in native method: Wrong method ID used
    d to invoke a Java method>
    void myFunction(int myVal)
    JNIEnv *env = NULL;
    jclass odbcconnls;
    jint res;
    printf("\nInitilaizing class ");
    res = (jvm)->AttachCurrentThread((void **)&env,NULL);
    if (res < 0) {
    fprintf(stderr, "Can't get Env \n");
    (jvm)->DestroyJavaVM();
    return SQL_ERROR;          
    if(res == JNI_OK)
    printf("\nThe env is initialized ");
    if(*(&env) == NULL)
    printf(" the env is NULL ");
    printf("\nenv :::::: %s ", env);     
    // the jobject (dbc->actualConn) is a global
    reference
    odbcconnls = (env)->GetObjectClass(dbc->actualConn);
    if (odbcconnls == NULL) {
    goto destroy;
    switch(myVal){
    case 1:
    jmethodID methodId ;
    jboolean jbool;
    SQLINTEGER Val = (SQLINTEGER )Value;
    SQLINTEGER val1 = *Val;
    methodId = (env)->GetMethodID(
    ( odbcconnls,"myFun1","(Z)V");
    if(methodId == NULL){
    goto destroy;
    if(val1 == SQL_FALSE )
    jbool = 0;
    else
    jbool =1;
    env->CallVoidMethod(dbc->actualConn,methodId,jbool);
    env->DeleteLocalRef((jobject)res);
    env->DeleteLocalRef((jobject)odbcconnls);
    env->DeleteLocalRef((jobject)methodId);
    jvm->DetachCurrentThread();
    return ;Why do you delete a local reference???
    Did you ever call the get local reference?
    case 2 :
    jmethodID methodId1 ;
    SQLUINTEGER* Level;
    methodId1 = (env)->GetMethodID(
    ( odbcconnls,"myFun2","(I)V");
    if(methodId1 == NULL){
    goto destroy;
    Level = (SQLUINTEGER *)Value;
    env->CallVoidMethod(dbc->actualConn,methodId1,(int)*Le
    el);
    dbc->txn_isolation = (SQLUINTEGER)Value;
    env->DeleteLocalRef((jobject)res);
    env->DeleteLocalRef((jobject)odbcconnls);
    env->DeleteLocalRef((jobject)methodId1);
    jvm->DetachCurrentThread();
    return ;
    case 3 :
    SQLCHAR* Cate;
    jmethodID methodId2 ;
    jstring jStrCat;
    methodId2 =
    (env)->GetMethodID(odbcconnls,"myFun3","(Ljava/lang/St
    ing;)V");
    if(methodId2 == NULL){
    goto destroy;
    Cate = new SQLCHAR[20];
    strcpy((char *)CCatalog,(char *)Value);
    jStrCat = env->NewStringUTF((char *) Cate);
    printf("\n got jSTring ");
    env->CallVoidMethod(dbc->actualConn,methodId2,jStrCat)
    printf("\n after called method ");
    int len = strlen((char *)Cate);
    dbc->Cate = new SQLCHAR[len+1];
    strcpy((char *)dbc->Cate,(char *)Cate);
    printf("\n copied result ");
    env->DeleteLocalRef((jobject)res);
    env->DeleteLocalRef((jobject)odbcconnls);
    env->DeleteLocalRef((jobject)methodId2);
    jvm->DetachCurrentThread();
    return ;
    destroy:
    if ((env)->ExceptionOccurred()) {
    (env)->ExceptionDescribe();
    jvm->DetachCurrentThread();
    (jvm)->DestroyJavaVM();
    return SQL_ERROR;
    When case 1 is called second time this error is
    thrown..
    plz help me..
    Thanx
    MittalSunita.

  • Forte debugger exits (FATAL ERROR in native method: JDWP "util.c")

    When debugging my GUI app in Forte on Solaris 8, my debug session exits with the following error:
    FATAL ERROR in native method: JDWP "util.c" (Feb 20 2002), line 1029: Unexpected error, error code = 113 (JVMDI_ERROR_INTERNAL)
    It seems to do so while in the middle of a comm api routine where I'm accessing the serial port. Has anyone else ever seen this error is Solaris? I have all of the patches required by Sun for JDK1.3.1_02 installed with the same version of the JDK.
    The application runs fine when I run it standalone...
    Any suggestions?
    Thanks.

    I've had the same problem. It appears that it occures when an error is thrown that stop a JSP page load.
    Everything will run find up to that point, but after that, the util.c error will not go away except by deinstall and reinstall of Forte. We can't even use Forte at this point since it will start throwing the error within 1 hour of reinstall. Crap.
    I'm on Windows XP also, and this happens with JVM 1.3 or 1.4.

  • FATAL ERROR in native method: JNI call made with exception pending

    Hi everyone,
    I am trying to resolve this error exhaustively for the last 3 days.
    I have a 3rd Party DLL library which i am supposed to use from my Java Application. I compiled my own DLL that links(calls methods) the Java code and the the 3rd party DLLs.
    It works fine in my machine and 2 of my other colleagues but does work for the QA tester. The JVM crashes when it comes to the point of loading the DLL with the exception mentioned above.
    For the QA tester, a version of the DLL made in VC7.1 works fine, but the one we are trying to load was made in VC80.
    It also has the dependency dll like msvcr80.dll and msvcp80.dll
    We both have Windows XP and same the JVM (1.4)
    Please Help !!!!!!!
    Thanks,
    Zuber

    I would suggest further investigation of dependencies. If the QA machine doesn't have VC 8 check what the diffs are there.
    Jim

  • ERROR_WAIT_NO_CHILDREN error while native method calling

    I have some self-made DLL and call it from Java over JNI.
    Under 100% repeatable conditions, the calling of the native method conduce to
    java.exe(JVM) termination with errorlevel 128L. Without any trace or reports.
    If to assume, that java.exe uses OS error codes, then 128L is
    'ERROR_WAIT_NO_CHILDREN - There are no child processes to wait for.'
    What that? JVM crashed by the Dll?
    Some additional information:
    I found the position(approximately) in C code where the execution is stopping.
    It far from JNI/C function declaration.
    Dll is compiled by Watcom C/C++32 Compiler and Linker, Version 11.0.
    I tried to compile Dll by Borland C++ 5.5.1 free command-line compiler, and error
    disappears. But I don't think it right way to refer the error to compiler.
    And something else. Native code work fine, if it was called not from Java but
    from native application.
    Any ideas?
    Thanks.

    Hmm, could You send the header of the method from Your
    DLL which you are calling from Java?Sure.
    JNIEXPORT jint JNICALL Java_mypackage_NativeBuilder_build
    (JNIEnv *env, jobject obj, jstring project)

  • Error calling native methods

    HI
    I declared a static native method in a class and using the System.loadLibrary() method i load the dll.
    Now if i want to call the method from another class using instance of that class where i declare the native method, it shows an error
    java.lang.SpecifiedPathLink error. I have put the dll outside the package in the same directory.
    can anyone help me regarding this problem

    it shows this exception
    Exception in thread "main" java.lang.UnsatisfiedLinkError: no PerfMonitor in jav
    a.library.path
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1491)
    at java.lang.Runtime.loadLibrary0(Runtime.java:788)
    at java.lang.System.loadLibrary(System.java:834)
    at C3.CPUMemoryUsage.<clinit>(CPUMemoryUsage.java:6)
    at C3.Node.main(Node.java:18)

  • JDWP fatal error from thread.stop()

    I get this message
    FATAL ERROR in native method: JDWP "util.c" (Jan 20 2004), line 1209: Unexpected error, error code = 113 (JVMDI_ERROR_INTERNAL)
    from the target VM when I do thread.stop() on the debugger side. The debugger isn't bothered by the fatal error, but the target dies.
    Can anyone offer a clue to what I did wrong?
    Peter

    FATAL ERROR in native method: JDWP "util.c" (Jan 20
    2004), line 1209: Unexpected error, error code = 113
    (JVMDI_ERROR_INTERNAL)
    from the target VM when I do thread.stop() on the
    debugger side. The debugger isn't bothered by the
    fatal error, but the target dies.
    Can anyone offer a clue to what I did wrong?Lets see... "Jan 20 2004" implies that you are using the Tiger (1.5)
    beta release for this experiment.
    According to the JDWP spec:
    http://java.sun.com/j2se/1.5.0/docs/guide/jpda/jdwp/jdwp-protocol.html
    Error 113 is "An unexpected internal error has occurred"
    More information, please...
    - What platform are you running on, and what version(s) of the VM
    are you using?
    - Which thread in the debugee did you send the stop() to?
    - Can you update this article with sample code and a narrative
    describing what happened when?
    - What throwable did you pass to com.sun.jdi.ThreadReference.stop(ObjectReference throwable)

  • JDeveloper & Debug : FATAL ERROR

    Hello,
    when i try to debug any project in JDeveloper, i got the following error:
    FATAL ERROR in native method: No transports initialized
    Transport dt_socket failed to initialize, rc = 509.
    Process exited with exit code 1.
    Debugger unable to connect to local process.
    I allready reinstall JDeveloper in JDK, but no luck. Please, help. Thank you.

    hello,
    i am also getting the erro while executing project on jdeveloper using ejb and jpa entities the error is as follows :
    [EclipseLink/JPA Client] Adding Java options: -javaagent:C:\middleware\jdeveloper\..\modules\org.eclipse.persistence_1.0.0.0_2-1.jar
    c:\middleware\jdk160_21\bin\javaw.exe -client -classpath C:\Users\eaurgta\Documents\JDeveloper\mywork\cab_ejb_jpa_app\.adf;C:\Users\eaurgta\Documents\JDeveloper\mywork\cab_ejb_jpa_app\cabejbmodel\classes;C:\middleware\modules\com.oracle.toplink_1.0.0.0_11-1-1-4-0.jar;C:\middleware\modules\org.eclipse.persistence_1.0.0.0_2-1.jar;C:\middleware\modules\com.bea.core.antlr.runtime_2.7.7.jar;C:\middleware\oracle_common\modules\oracle.toplink_11.1.1\javax.persistence_2.0_preview.jar;C:\middleware\oracle_common\modules\oracle.xdk_11.1.0\xmlparserv2.jar;C:\middleware\oracle_common\modules\oracle.xdk_11.1.0\xml.jar;C:\middleware\modules\javax.jsf_1.1.0.0_1-2.jar;C:\middleware\modules\javax.ejb_3.0.1.jar;C:\middleware\modules\javax.enterprise.deploy_1.2.jar;C:\middleware\modules\javax.interceptor_1.0.jar;C:\middleware\modules\javax.jms_1.1.1.jar;C:\middleware\modules\javax.jsp_1.2.0.0_2-1.jar;C:\middleware\modules\javax.jws_2.0.jar;C:\middleware\modules\javax.activation_1.1.0.0_1-1.jar;C:\middleware\modules\javax.mail_1.1.0.0_1-4-1.jar;C:\middleware\modules\javax.xml.soap_1.3.1.0.jar;C:\middleware\modules\javax.xml.rpc_1.2.1.jar;C:\middleware\modules\javax.xml.ws_2.1.1.jar;C:\middleware\modules\javax.management.j2ee_1.0.jar;C:\middleware\modules\javax.resource_1.5.1.jar;C:\middleware\modules\javax.servlet_1.0.0.0_2-5.jar;C:\middleware\modules\javax.transaction_1.0.0.0_1-1.jar;C:\middleware\modules\javax.xml.stream_1.1.1.0.jar;C:\middleware\modules\javax.security.jacc_1.0.0.0_1-1.jar;C:\middleware\modules\javax.xml.registry_1.0.0.0_1-0.jar;C:\middleware\modules\javax.persistence_1.0.0.0_1-0-2.jar;C:\middleware\wlserver_10.3\server\lib\weblogic.jar -Djavax.net.ssl.trustStore=C:\middleware\wlserver_10.3\server\lib\DemoTrust.jks -javaagent:C:\middleware\jdeveloper\..\modules\org.eclipse.persistence_1.0.0.0_2-1.jar oracle.cab_facadeClient
    java.lang.reflect.InvocationTargetException
         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:597)
         at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:323)
         at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:338)
    Caused by: java.lang.reflect.InvocationTargetException
         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:597)
         at org.eclipse.persistence.internal.jpa.deployment.JavaSECMPInitializerAgent.initializeFromAgent(JavaSECMPInitializerAgent.java:45)
         at org.eclipse.persistence.internal.jpa.deployment.JavaSECMPInitializerAgent.premain(JavaSECMPInitializerAgent.java:38)
         ... 6 more
    Caused by: javax.persistence.PersistenceException: Exception [EclipseLink-28018] (Eclipse Persistence Services - 2.1.2.v20101206-r8635): org.eclipse.persistence.exceptions.EntityManagerSetupException
    Exception Description: Predeployment of PersistenceUnit [cabejbmodel] failed.
    Internal Exception: Exception [EclipseLink-7161] (Eclipse Persistence Services - 2.1.2.v20101206-r8635): org.eclipse.persistence.exceptions.ValidationException
    Exception Description: Entity class [class oracle.T76] has no primary key specified. It should define either an @Id, @EmbeddedId or an @IdClass. If you have defined PK using any of these annotations then make sure that you do not have mixed access-type (both fields and properties annotated) in your entity class hierarchy.
         at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.predeploy(EntityManagerSetupImpl.java:1014)
         at org.eclipse.persistence.internal.jpa.deployment.JPAInitializer.callPredeploy(JPAInitializer.java:88)
         at org.eclipse.persistence.internal.jpa.deployment.JavaSECMPInitializer.initPersistenceUnits(JavaSECMPInitializer.java:256)
         at org.eclipse.persistence.internal.jpa.deployment.JavaSECMPInitializer.initialize(JavaSECMPInitializer.java:216)
         at org.eclipse.persistence.internal.jpa.deployment.JavaSECMPInitializer.initializeFromAgent(JavaSECMPInitializer.java:159)
         ... 12 more
    Caused by: Exception [EclipseLink-28018] (Eclipse Persistence Services - 2.1.2.v20101206-r8635): org.eclipse.persistence.exceptions.EntityManagerSetupException
    Exception Description: Predeployment of PersistenceUnit [cabejbmodel] failed.
    Internal Exception: Exception [EclipseLink-7161] (Eclipse Persistence Services - 2.1.2.v20101206-r8635): org.eclipse.persistence.exceptions.ValidationException
    Exception Description: Entity class [class oracle.T76] has no primary key specified. It should define either an @Id, @EmbeddedId or an @IdClass. If you have defined PK using any of these annotations then make sure that you do not have mixed access-type (both fields and properties annotated) in your entity class hierarchy.
         at org.eclipse.persistence.exceptions.EntityManagerSetupException.predeployFailed(EntityManagerSetupException.java:210)
         ... 17 more
    Caused by: Exception [EclipseLink-7161] (Eclipse Persistence Services - 2.1.2.v20101206-r8635): org.eclipse.persistence.exceptions.ValidationException
    Exception Description: Entity class [class oracle.T76] has no primary key specified. It should define either an @Id, @EmbeddedId or an @IdClass. If you have defined PK using any of these annotations then make sure that you do not have mixed access-type (both fields and properties annotated) in your entity class hierarchy.
         at org.eclipse.persistence.exceptions.ValidationException.noPrimaryKeyAnnotationsFound(ValidationException.java:1374)
         at org.eclipse.persistence.internal.jpa.metadata.accessors.classes.EntityAccessor.validatePrimaryKey(EntityAccessor.java:1366)
         at org.eclipse.persistence.internal.jpa.metadata.accessors.classes.EntityAccessor.processAccessors(EntityAccessor.java:885)
         at org.eclipse.persistence.internal.jpa.metadata.accessors.classes.EntityAccessor.process(EntityAccessor.java:691)
         at org.eclipse.persistence.internal.jpa.metadata.MetadataProject.processStage2(MetadataProject.java:1531)
         at org.eclipse.persistence.internal.jpa.metadata.MetadataProcessor.processORMMetadata(MetadataProcessor.java:474)
         at org.eclipse.persistence.internal.jpa.deployment.PersistenceUnitProcessor.processORMetadata(PersistenceUnitProcessor.java:441)
         at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.predeploy(EntityManagerSetupImpl.java:968)
         ... 16 more
    FATAL ERROR in native method: processing of -javaagent failed
    Exception in thread "main" Process exited with exit code 1.
    thanks and regards
    ankur

  • JNI Unsatisfied Link Error at Runtime on Native method

    I wnat USe C functionality In My Java Program so that I Use JNI.In My Java Program i use dll file of c program using System.load("");.when iam compiling my Java Program it works Fine But When Iam Run My Java Program It Displays Unsatisfied Lik Error on Native method oh C Program.

    RAGHUKUMAR_KOLIKINENI wrote:
    I wnat USe C functionality In My Java Program so that I Use JNI.In My Java Program i use dll file of c program using System.load("");.when iam compiling my Java Program it works Fine But When Iam Run My Java Program It Displays Unsatisfied Lik Error on Native method oh C Program.As noted that requires a resolvable path - either it must be absolute or relative to the current working directory.
    However if you failed to load the library then you cannot get the error that you posted unless you are ignoring the exception from the load() call. And doing that is a bad idea.
    At least if the library is not loading.
    If it is loading then the method that you use to load it has nothing to do with your problem.

  • How call native method without code modification

    "How to access third party's C API from Java Using JNI without modifying the C code"

    Unfortunately, the only way I know of doing this is to use a pass-through DLL that you write. Logically it
    looks like this:
    Java App (written by you)
    |
    v
    Java native methods (written by you)
    |
    v
    JNI DLL (written by you)
    |
    v
    3rd party DLL
    It adds a little bit of overhead, but it's not too big of a deal. Check out the JNI tutorial on how to write this.
    Bryan

  • Testing ActionScript classes with native methods?

    Hi,
    I have an ActionScript class that I'm writing and would like to test using FlexUnit.
    The only issue is that the ActionScript class has a member in it that is a class with native methods.
    So, I get the following error when trying to run a test of that ActionScript class:
    VerifyError: Error #1079: Native methods are not allowed in loaded code.
    Does anyone know of a way to get around this?  FlexUnit seems not to like native methods being present.
    Thanks,
    Matt

    Hi casdvm,
    by definition, you only own objects that you created using one of the alloc* methods, copy: or new:. All other objects (IIRC with a few noted exceptions) are autoreleased.
    If you create convenience methods in your own class, you should follow the same rule. For example, if you have a class Pet and want to implement the method +petWithName, your code might look something like that:
    + petWithName: (NSString *)name
    return [[[Pet alloc] initWithName: name] autorelease];
    Alex

  • CCMS_OnAlert_Mail Fatal Error

    Hi,
    I try to execute CCMS_OnAlert_Mail as autoreaction method when new alert occurs in CCMS node...
    I assigned autoreaction method on the node, but unfortunatelly I get fatal error when the method is executed...
    Can anybody help please?
    Thanks in advance

    Hi Dmitry,
    I have explained earlier and they have suceeded in configuring CCMS and triggering Emails when alert comes.
    For configuring CCMS for XI,
    Naveen's blog helped me
    /people/sap.user72/blog/2005/11/24/xi-configuring-ccms-monitoring-for-xi-part-i
    For triggering Emails when alert occurs, pls go through this blog,
    /people/aravindh.prasanna/blog/2006/02/20/configuring-scenario-specific-e-mail-alerts-in-xi-ccms-part-3
    this would clearly help u configuring the set up.
    Regards,
    abhy

Maybe you are looking for

  • XML Publisher report ends up with Warning: not enough storage is available

    Hi, We have customized the AR Invoice print program (Invoice Print Selected Invoices) and have made converted the Oracle 6i report to XML Publisher. We have around 13000 AR invoicesin the system and when i try running the report for around 300 invoic

  • Mpeg-2 file not reading the captioning

    I have an Mpeg-2 file that has captioning embedded in it and when I play it with VLC player I can see the captioning but when I bring it into Premiere it doesn't recognize that there is any captioning on the file. I'm using Telestream's Vantage softw

  • Ipod suddenly does not show up in iTunes

    Would anyone know why my iPod Nano suddenly does not show up in iTunes, when it is plugged in?

  • DBMS_XSLPROCESSOR

    I have the following XML which I want to extract each value for the following: *<TN>VALUE1</TN>* *<TN2>VALUE2</TN2>* *<TN>ANOTHER VALUE 1</TN>* *<TN2>SECOND VALUE 2</TN2>* and the following values: *<DetailLine1>Detail line 1 value</DetailLine1>* *<D

  • ORDER BY from itab fields

    Hi, is there a possibility to order data of a select statement by contents of an itab? The order criteria of the itab are dynamic thus I cannot hard code them. Example: (lt_order_criteria is actually an imported table) I basically want to order by io