On Wed, 30 Oct 2013, David Coppa wrote: > > 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...
The relevant log from tomcat: INFO: Starting Servlet Engine: Apache Tomcat/7.0.47 Oct 30, 2013 1:36:06 PM org.apache.catalina.startup.HostConfig deployDescriptor INFO: Deploying configuration descriptor /etc/tomcat/Catalina/localhost/host-manager.xml Oct 30, 2013 1:36:07 PM org.apache.catalina.startup.HostConfig deployDescriptors SEVERE: Error waiting for multi-thread deployment of context descriptors to complete java.util.concurrent.ExecutionException: java.lang.InternalError: platform not recognized at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:252) at java.util.concurrent.FutureTask.get(FutureTask.java:111) at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:585) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:481) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1408) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:402) at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:347) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1140) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:722) Caused by: java.lang.InternalError: platform not recognized at sun.nio.ch.DefaultAsynchronousChannelProvider.create(DefaultAsynchronousChannelProvider.java:55) at java.nio.channels.spi.AsynchronousChannelProvider$ProviderHolder$1.run(AsynchronousChannelProvider.java:88) at java.nio.channels.spi.AsynchronousChannelProvider$ProviderHolder$1.run(AsynchronousChannelProvider.java:79) at java.security.AccessController.doPrivileged(Native Method) at java.nio.channels.spi.AsynchronousChannelProvider$ProviderHolder.load(AsynchronousChannelProvider.java:78) at java.nio.channels.spi.AsynchronousChannelProvider$ProviderHolder.<clinit>(AsynchronousChannelProvider.java:75) at java.nio.channels.spi.AsynchronousChannelProvider.provider(AsynchronousChannelProvider.java:166) at java.nio.channels.AsynchronousChannelGroup.withCachedThreadPool(AsynchronousChannelGroup.java:233) at org.apache.tomcat.websocket.WsWebSocketContainer.<clinit>(WsWebSocketContainer.java:118) at org.apache.tomcat.websocket.server.WsSci.init(WsSci.java:154) at org.apache.tomcat.websocket.server.WsSci.onStartup(WsSci.java:68) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5423) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:663) at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1642) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) ... 5 more And the diff (the right one this time ;)) 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:35:15 -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_DefaultAsynchronousChannelProvider_java =================================================================== RCS file: patches/patch-jdk_src_solaris_classes_sun_nio_ch_DefaultAsynchronousChannelProvider_java diff -N patches/patch-jdk_src_solaris_classes_sun_nio_ch_DefaultAsynchronousChannelProvider_java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-jdk_src_solaris_classes_sun_nio_ch_DefaultAsynchronousChannelProvider_java 30 Oct 2013 13:35:15 -0000 @@ -0,0 +1,12 @@ +$OpenBSD$ +--- jdk/src/solaris/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java.orig Wed Aug 29 01:15:24 2012 ++++ jdk/src/solaris/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java Wed Oct 30 14:26:01 2013 +@@ -50,7 +50,7 @@ public class DefaultAsynchronousChannelProvider { + 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"); + } I'm currently building jdk-1.7, I will report success/failure later when it's done... Ciao, David
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:37:59 -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_DefaultAsynchronousChannelProvider_java =================================================================== RCS file: patches/patch-jdk_src_solaris_classes_sun_nio_ch_DefaultAsynchronousChannelProvider_java diff -N patches/patch-jdk_src_solaris_classes_sun_nio_ch_DefaultAsynchronousChannelProvider_java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-jdk_src_solaris_classes_sun_nio_ch_DefaultAsynchronousChannelProvider_java 30 Oct 2013 13:37:59 -0000 @@ -0,0 +1,12 @@ +$OpenBSD$ +--- jdk/src/solaris/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java.orig Wed Aug 29 01:15:24 2012 ++++ jdk/src/solaris/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java Wed Oct 30 14:26:01 2013 +@@ -50,7 +50,7 @@ public class DefaultAsynchronousChannelProvider { + 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"); + }