Skip site navigation (1)Skip section navigation (2)
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>