Sparc Solaris Java 1.1.1 Green Threads RPC Bug
With the release of the Sparc Solaris JDK 1.1.1, any Java native methods which depend on RPC no longer work. These RPC calls did/do work with JDK 1.0.2. The Sparc Solaris JDK 1.1.3 release fixes this issue.
Background
The project which I was working on in 1997 was to provide Java access to an existing API which is implemented in C and is built on top of RPC. This product works fine against JDK 1.0.2 (on Solaris and other platforms) but does not work with JDK 1.1.1.
Example
To make this bug easily reproducible, I am providing this sample code which demonstrates the problem in a fairly minimal fashion.
This code should be more than enough to at least identify and fix the basic conflict. Also keep in mind that other common RPC calls (like create_clnt) are also broken.
Feedback
I submitted the bug to Javasoft, but have never
heard any official response. Thanks to the efforts of one JavaSoft engineer outside of normal channels this bug was fixed.
Resolution/Status
The fix was confirmed with the release of JDK 1.1.3 in June 1997. I never heard any official resolution from Sun/JavaSoft.
Log
- April 5, 1997-Email from Ron Bolin indicates that the sample program works on x86 Solaris. I am assuming that this is therefore a Sparc Solaris issue only.
- April 5, 1997-A helpful newsgroup post from Thomas M. Maslen suggested that it try to take advantage of an in progress Java based RPC port by Martin F. Gergeleit who also has a homepage.
Unfortunately, the project I am working on uses RPC as a low level transport and has thousands of lines of C code which runs on the client providing client side services which are not possible via RPC alone. Since native methods seemed the most direct route to Java support, we implemented and shipped a version with Java support under 1.0.2. Now we are painted into the corner as far as Sparc support is concerned.
- April 6, 1997-At the request of a Sun employee who works on the Java VM, I have updated the sample to also compile using the old Sun NMI Java native methods interface. This makes it easy to demonstrate that this does work under JDK 1.0.2.
- April 9, 1997-It looks like the anonymous Sun employee who works on the Java VM has come through. This person indicated that the bug will be fixed in the next minor & major Java releases. No word on a timeframe yet and no official word (like a bug number or when the next minor release will be).
- April 9, 1997-It looks like the anonymous Sun employee who works on the Java VM has come through. This person indicated that the bug will be fixed in the next minor & major Java releases. No word on a timeframe yet and no official word (like a bug number or when the next minor release will be).
- June, 1997-Fix is confirmed with JDK 1.1.3.