While I was working on updating tomcat7 to its latest version, I got the same bug described here:
http://www.freebsd.org/cgi/query-pr.cgi?pr=183389 It seems the patch below should help, but cannot test it atm... Index: Makefile =================================================================== RCS file: /cvs/ports/devel/jdk/1.7/Makefile,v retrieving revision 1.65 diff -u -p -u -p -r1.65 Makefile --- Makefile 16 Oct 2013 14:12:21 -0000 1.65 +++ Makefile 30 Oct 2013 13:03:48 -0000 @@ -11,7 +11,7 @@ B= b11 PKGNAME= jdk-${V} PKGNAME-main= jdk-${V} PKGNAME-jre= jre-${V} -REVISION= 1 +REVISION= 2 EPOCH= 0 JDK_SRC= openjdk-7u6-fcs-src-b24-28_aug_2012.zip Index: patches/patch-jdk_src_solaris_classes_sun_nio_ch_DefaultAsynchronousChanneldProvider_java =================================================================== RCS file: patches/patch-jdk_src_solaris_classes_sun_nio_ch_DefaultAsynchronousChanneldProvider_java diff -N patches/patch-jdk_src_solaris_classes_sun_nio_ch_DefaultAsynchronousChanneldProvider_java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-jdk_src_solaris_classes_sun_nio_ch_DefaultAsynchronousChanneldProvider_java 30 Oct 2013 13:03:48 -0000 @@ -0,0 +1,12 @@ +$OpenBSD$ +--- jdk/src/solaris/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java.orig 2013-10-28 01:26:45.766774262 +0100 ++++ jdk/src/solaris/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java 2013-10-28 01:27:24.043766301 +0100 +@@ -50,7 +50,7 @@ + return new SolarisAsynchronousChannelProvider(); + if (osname.equals("Linux")) + return new LinuxAsynchronousChannelProvider(); +- if (osname.contains("OS X")) ++ if (osname.contains("OS X") || osname.equals("OpenBSD")) + return new BsdAsynchronousChannelProvider(); + throw new InternalError("platform not recognized"); + }