FreeBSD jdk15 does not read java.security?

Zsolt Kúti la.tinca at gmail.com
Tue Oct 23 03:52:38 PDT 2007


Hi Nick,

Here is what I see on my system:

$ truss -o truss.out java Test    
freebsd.org/69.147.83.40Memory fault (core dumped)

The ending lines of truss.out:
..
open("/usr/local/diablo-jdk1.5.0/jre/lib/i386/libzip.so",O_RDONLY,00) =
4 (0x4) open("/usr/local/diablo-jdk1.5.0/jre/lib/rt.jar",O_RDONLY,00) =
4 (0x4) open("/usr/local/diablo-jdk1.5.0/jre/lib/jsse.jar",O_RDONLY,00)
= 4 (0x4)
open("/usr/local/diablo-jdk1.5.0/jre/lib/jce.jar",O_RDONLY,00) = 4
(0x4)
open("/usr/local/diablo-jdk1.5.0/jre/lib/charsets.jar",O_RDONLY,00) = 4
(0x4)
open("/usr/local/diablo-jdk1.5.0/jre/lib/i386/client/classes.jsa",O_RDONLY,00)
= 4 (0x4) open(".hotspot_compiler",O_RDONLY,0666)          ERR#2 'No
such file or directory'
open("",O_APPEND|O_SHLOCK|O_CREAT|O_EXCL|O_NOCTTY|O_DIRECT|0xbf7e1000,05002553414)
= 5 (0x5)

I do not know why that error after opening classes.jas as:
$ l /usr/local/diablo-jdk1.5.0/jre/lib/i386/client/classes.jsa
-r--r--r--  1 root  wheel  12689408 Feb 10
2007 /usr/local/diablo-jdk1.5.0/jre/lib/i386/client/classes.jsa

- FreeBSD 6.2-RELEASE-p8 #5: Wed Oct 10 21:16:16 CEST 2007
- java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition (build
diablo-1.5.0-b01) Java HotSpot(TM) Client VM (build
diablo-1.5.0_07-b01, mixed mode, sharing)

Zsolt


On Mon, 22 Oct 2007 22:53:00 -0700 (PDT)
Nick Johnson <freebsd at spatula.net> wrote:

> While still trying to investigate this InetAddress negative caching 
> problem I have, I found something a bit puzzling... If I could get
> someone else to verify, that would be great.
> 
> It looks like the 1.5.0_12-p6 JDK never reads java.security when it
> starts up.  Consequently the netaddress.cache.ttl and 
> netaddress.cache.negative.ttl properties are never read and
> initialized, so the cache reverts to its defaults of caching
> forever... or at least that's my hypothesis.
> 
> I wrote a tiny Java program that does nothing other than resolve a 
> hostname and ran it using truss.  Though the JVM does open a number
> of other configuration files, java.security is not one of them.  My
> old copy of 1.4.2 also does not open java.security.
> 
> It's conceivable that truss is somehow missing the system call to
> read java.security, but it does seem to be catching lots of other
> open and stat calls.
> 
> On Linux, strace shows the java.security open call happens just
> before the name resolution would happen.  On Windows, filemon shows
> it happens just after classes.jsa is read.
> 
> Can someone verify that the following program when run with the
> FreeBSD 1.5 JDK results in no open calls for java.security?
> 
> Tiny test program follows.  Save it as Test.java, compile with javac 
> Test.java and run it with "truss -o truss.out java -f Test", then you
> can grep truss.out for open system calls.
> 
> import java.net.*;
> 
> public class Test {
>         public static void main(String[] args) throws Exception {
>                 InetAddress address =
> InetAddress.getByName("freebsd.org"); System.out.println(address);
>         }
> }
> _______________________________________________
> freebsd-java at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-java
> To unsubscribe, send any mail to
> "freebsd-java-unsubscribe at freebsd.org"


More information about the freebsd-java mailing list