Date: Wed, 20 Mar 2002 03:20:47 GMT From: Richard Tobin <richard@cogsci.ed.ac.uk> To: java@FreeBSD.ORG Subject: Re: Mozilla core dump with plugin Message-ID: <200203200320.DAA24218@sorley.cogsci.ed.ac.uk> References: <200203190031.AAA11327@sorley.cogsci.ed.ac.uk>
next in thread | previous in thread | raw e-mail | index | archive | help
I found the cause of the core dump. There are three errors in
j2sdk1.3.1/ext/plugin/oji-plugin/src/motif/jvm_natives/native.c. In
each case, CallStaticObjectMethod is used instead of
CallStatic<something-else>Method. Here is a diff (against the
FreeBSD-patched version).
*** work/j2sdk1.3.1/ext/plugin/oji-plugin/src/motif/jvm_natives/native.c.~1~ Wed Mar 20 01:35:04 2002
--- work/j2sdk1.3.1/ext/plugin/oji-plugin/src/motif/jvm_natives/native.c Wed Mar 20 02:55:31 2002
***************
*** 590,596 ****
jclass clz = (*env)->FindClass(env, "sun/plugin/navig/motif/Worker");
jmethodID meth = (*env)->GetStaticMethodID(env, clz, "readHttpsURL",
"(Ljava/lang/Object;[BII)I");
! return (jint)(*env)->CallStaticObjectMethod(env, clz, meth, this, buf, offset, len);
}
/*
--- 590,596 ----
jclass clz = (*env)->FindClass(env, "sun/plugin/navig/motif/Worker");
jmethodID meth = (*env)->GetStaticMethodID(env, clz, "readHttpsURL",
"(Ljava/lang/Object;[BII)I");
! return (jint)(*env)->CallStaticIntMethod(env, clz, meth, this, buf, offset, len);
}
/*
***************
*** 605,611 ****
jclass clz = (*env)->FindClass(env, "sun/plugin/navig/motif/Worker");
jmethodID meth = (*env)->GetStaticMethodID(env, clz, "bytesAvailable",
"(Ljava/lang/Object;)I");
! return (jint)(*env)->CallStaticObjectMethod(env, clz, meth, this);
}
/*
--- 605,611 ----
jclass clz = (*env)->FindClass(env, "sun/plugin/navig/motif/Worker");
jmethodID meth = (*env)->GetStaticMethodID(env, clz, "bytesAvailable",
"(Ljava/lang/Object;)I");
! return (jint)(*env)->CallStaticIntMethod(env, clz, meth, this);
}
/*
***************
*** 623,629 ****
"(Ljava/lang/Object;)V");
jfieldID nativeConnID = (*env)->GetFieldID(env, isClass, "nativeConnection", "J");
! (*env)->CallStaticObjectMethod(env, clz, meth, is);
/*
It is extremely important to unset the nativeConnection field in
--- 623,629 ----
"(Ljava/lang/Object;)V");
jfieldID nativeConnID = (*env)->GetFieldID(env, isClass, "nativeConnection", "J");
! (*env)->CallStaticVoidMethod(env, clz, meth, is);
/*
It is extremely important to unset the nativeConnection field in
-- Richard
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-java" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200203200320.DAA24218>
