From owner-freebsd-java Tue Mar 19 19:20:53 2002 Delivered-To: freebsd-java@freebsd.org Received: from rhymer.cogsci.ed.ac.uk (rhymer.cogsci.ed.ac.uk [129.215.144.8]) by hub.freebsd.org (Postfix) with ESMTP id 2754F37B400 for ; Tue, 19 Mar 2002 19:20:49 -0800 (PST) Received: from sorley.cogsci.ed.ac.uk (sorley [129.215.144.53]) by rhymer.cogsci.ed.ac.uk (8.9.3/8.9.3) with ESMTP id DAA03689 for ; Wed, 20 Mar 2002 03:20:47 GMT Received: (from richard@localhost) by sorley.cogsci.ed.ac.uk (8.9.3+Sun/8.9.3) id DAA24218 for java@FreeBSD.ORG; Wed, 20 Mar 2002 03:20:47 GMT Date: Wed, 20 Mar 2002 03:20:47 GMT Message-Id: <200203200320.DAA24218@sorley.cogsci.ed.ac.uk> From: Richard Tobin Subject: Re: Mozilla core dump with plugin To: java@FreeBSD.ORG References: <200203190031.AAA11327@sorley.cogsci.ed.ac.uk> Organization: just say no Sender: owner-freebsd-java@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org 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 CallStaticMethod. 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