Simple, reliable test case for name resolution problem

Nick Johnson freebsd at spatula.net
Wed Oct 31 13:26:17 PDT 2007


I have verified that this testcase works on a recent 6-STABLE, so it was 
apparently a libc or kernel bug that was getting tickled around doing a 
socket operation with a large-numbered file descriptor, which has since 
been fixed.

   Nick

On Mon, 29 Oct 2007, Nick Johnson wrote:

> The problem is in the number of open file descriptors.  Once it crosses 
> 1024, name resolution breaks.  This is showing up in Tomcat 6, because 
> Tomcat 6 is leaking descriptors like a sieve.
> 
> Here's a simple test case that demonstrates the problem.  On my FreeBSD 
> 6.2 host it bombs every time.  On a Linux host, it throws an IOException 
> opening files (too many open files).  On a Windows box it completes 
> normally.
> 
> My uname and java -version, just for completeness:
> FreeBSD turing.morons.org 6.2-STABLE FreeBSD 6.2-STABLE #0: Sun Jan 21 16:53:54 PST 2007     
> java version "1.5.0_13-p7"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_13-p7-root_26_oct_2007_14_03)
> 
> The same thing happens with the Diablo JDK.
> 
> Here's the code.  Save it as Test.java; javac Test.java; java Test
> 
> import java.net.*;
> import java.util.*;
> import java.io.*;
> 
> public class Test {
>         public static void main(String[] args) throws Exception {
> 
>                 ArrayList files = new ArrayList(1024);
> 
>                 System.out.println("Opening lots of files");
>                 for(int i=0; i < 1024; i++) {
>                         files.add(new FileInputStream("/dev/null"));
>                 }
> 
>                 System.out.println("Trying to resolve freebsd.org");
>                 InetAddress.getByName("freebsd.org");   // throws exception!
> 
>         }
> }
> 
> 
> 

-- 
"Courage isn't just a matter of not being frightened, you know. It's being
 afraid and doing what you have to do anyway."
   Doctor Who - Planet of the Daleks
This message has been brought to you by Nick Johnson 2.3b1 and the number 6.
http://healerNick.com/       http://morons.org/        http://spatula.net/


More information about the freebsd-java mailing list