Skip to Main Content

Java HotSpot Virtual Machine

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

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

3049609Oct 13 2015 — edited Oct 13 2015

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

Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Nov 10 2015
Added on Oct 13 2015
0 comments
933 views