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");
+     }

Reply via email to