Forum Stats

  • 3,826,778 Users
  • 2,260,707 Discussions
  • 7,897,072 Comments

Discussions

GetmethodID comes 0 with the error "No such Method" in a function when runs several times in loop us

3049609
3049609 Member Posts: 2
edited Oct 13, 2015 10:08AM in Java Native Interface (JNI)

Hi i am facing this problem , that GetMethodID comes as 0.

I am using a code in which i am running my program for 500 times and on every 257th iteration it stops with the error "NO such Method".

This program is working fin with java 1.7 not with java 1.8

I am using java wrapper built on c language with the help of JNI.

In JNI method when i tried to get the method id for a particular function it gives 0 for 257th iteration.

I can't provide you the code but i can give you an idea with a sample code as below...

int "some callbackfunction"(string, error function )

{

    jclass javaclass;

    jmethodID javamethod;

    javaclass = (*env)->GetObjectClass(env, obj);

    javamethod = (*env)->GetMethodID(env, javaclass, "methodname", "(Ljava/lang/String;)I");

    if (javamethod == 0)

    {

        error - bad program

        return 0;

    }

    (*env)->CallIntMethod(env, obj, javamethod, (env)->NewStringUTF(env, string));

    (*env)->DeleteGlobalRef(env,javaclass);

    return TRUE;

}

note:- to check the signature of the method

method has a type of int and it takes argument of string

Questions:

1.Please let me know am i doing something wrong with this code.

2.why i am facing problem only in Java 1.8.

3.How can i get method id and why this error on 257th iteration.

4.Is there any problem with java class , i am getting the value every time for jclass.

Please help me i am stuck in this, needed an urgent help

This discussion has been closed.