From owner-freebsd-java@FreeBSD.ORG Tue Oct 23 06:26:28 2007 Return-Path: Delivered-To: freebsd-java@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 486A116A420 for ; Tue, 23 Oct 2007 06:26:28 +0000 (UTC) (envelope-from freebsd@spatula.net) Received: from turing.morons.org (turing.morons.org [208.96.51.42]) by mx1.freebsd.org (Postfix) with ESMTP id 378BC13C4C4 for ; Tue, 23 Oct 2007 06:26:27 +0000 (UTC) (envelope-from freebsd@spatula.net) Received: by turing.morons.org (Postfix, from userid 1001) id CF96E1713D; Mon, 22 Oct 2007 22:53:00 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by turing.morons.org (Postfix) with ESMTP id A43BD1713B for ; Mon, 22 Oct 2007 22:53:00 -0700 (PDT) Date: Mon, 22 Oct 2007 22:53:00 -0700 (PDT) From: Nick Johnson X-X-Sender: spatula@turing To: freebsd-java@freebsd.org Message-ID: <20071022222034.A25435@turing> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Subject: FreeBSD jdk15 does not read java.security? X-BeenThere: freebsd-java@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting Java to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Oct 2007 06:26:28 -0000 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); } }