atlassian-confluence-5.8.10 java error ProtocolHandler ["http-nio-8090"] Function not implemented
Asked by priyadarshan:

I have a new installation of confluence on freebsd 10.1 with jdk-8u60-linux-i586.tar.gz java installed. I have not a problem to run JIRA software, but confluence has a java problem. Tomcat is started, but I can not to connect my web browser to confluence. Log file is below. How can I fix it? Thank you for help.

catalina.2015-09-02.log

02-Sep-2015 11:09:20.362 WARNING \[main\] org.apache.tomcat.util.digester.SetPropertiesRule.begin \[SetPropertiesRule\]{Server} Setting property 'debug' to '0' did not find a matching property.  
02-Sep-2015 11:09:20.394 WARNING \[main\] org.apache.catalina.startup.SetAllPropertiesRule.begin \[SetAllPropertiesRule\]{Server/Service/Connector} Setting property 'debug' to '0' did not find a matching property.  
02-Sep-2015 11:09:20.400 WARNING \[main\] org.apache.tomcat.util.digester.SetPropertiesRule.begin \[SetPropertiesRule\]{Server/Service/Engine} Setting property 'debug' to '0' did not find a matching property.  
02-Sep-2015 11:09:20.403 WARNING \[main\] org.apache.tomcat.util.digester.SetPropertiesRule.begin \[SetPropertiesRule\]{Server/Service/Engine/Host} Setting property 'debug' to '0' did not find a matching property.  
02-Sep-2015 11:09:20.425 WARNING \[main\] org.apache.tomcat.util.digester.SetPropertiesRule.begin \[SetPropertiesRule\]{Server/Service/Engine/Host/Context} Setting property 'debug' to '0' did not find a matching property.  
02-Sep-2015 11:09:20.574 INFO \[main\] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler \["http-nio-8090"\]  
02-Sep-2015 11:09:20.584 SEVERE \[main\] org.apache.coyote.AbstractProtocol.init Failed to initialize end point associated with ProtocolHandler \["http-nio-8090"\]  
[java.io](http://java.io).IOException: Function not implemented  
at [sun.nio.ch](http://sun.nio.ch).EPollArrayWrapper.epollCreate(Native Method)  
at [sun.nio.ch](http://sun.nio.ch).EPollArrayWrapper.\<init\>(EPollArrayWrapper.java:130)  
at [sun.nio.ch](http://sun.nio.ch).EPollSelectorImpl.\<init\>(EPollSelectorImpl.java:68)  
at [sun.nio.ch](http://sun.nio.ch).EPollSelectorProvider.openSelector(EPollSelectorProvider.java:36)  
at java.nio.channels.Selector.open(Selector.java:227)  
at [org.apache.tomcat.util.net](http://org.apache.tomcat.util.net).NioSelectorPool.getSharedSelector(NioSelectorPool.java:70)  
at [org.apache.tomcat.util.net](http://org.apache.tomcat.util.net).NioSelectorPool.open(NioSelectorPool.java:146)  
at [org.apache.tomcat.util.net](http://org.apache.tomcat.util.net).NioEndpoint.bind(NioEndpoint.java:372)  
at [org.apache.tomcat.util.net](http://org.apache.tomcat.util.net).AbstractEndpoint.init(AbstractEndpoint.java:737)  
at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:457)  
at org.apache.coyote.http11.AbstractHttp11JsseProtocol.init(AbstractHttp11JsseProtocol.java:120)  
at org.apache.catalina.connector.Connector.initInternal(Connector.java:960)  
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)  
at org.apache.catalina.core.StandardService.initInternal(StandardService.java:567)  
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)  
at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:851)  
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)  
at org.apache.catalina.startup.Catalina.load(Catalina.java:576)  
at org.apache.catalina.startup.Catalina.load(Catalina.java:599)  
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)  
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)  
at java.lang.reflect.Method.invoke(Method.java:497)  
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:310)  
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:484)  

02-Sep-2015 11:09:20.585 SEVERE \[main\] org.apache.catalina.core.StandardService.initInternal Failed to initialize connector \[Connector\[HTTP/1.1-8090\]\]  
org.apache.catalina.LifecycleException: Failed to initialize component \[Connector\[HTTP/1.1-8090\]\]  
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:106)  
at org.apache.catalina.core.StandardService.initInternal(StandardService.java:567)  
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)  
at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:851)  
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)  
at org.apache.catalina.startup.Catalina.load(Catalina.java:576)  
at org.apache.catalina.startup.Catalina.load(Catalina.java:599)  
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)  
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)  
at java.lang.reflect.Method.invoke(Method.java:497)  
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:310)  
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:484)  
Caused by: org.apache.catalina.LifecycleException: Protocol handler initialization failed  
at org.apache.catalina.connector.Connector.initInternal(Connector.java:962)  
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)  
... 12 more  
Caused by: [java.io](http://java.io).IOException: Function not implemented  
at [sun.nio.ch](http://sun.nio.ch).EPollArrayWrapper.epollCreate(Native Method)  
at [sun.nio.ch](http://sun.nio.ch).EPollArrayWrapper.\<init\>(EPollArrayWrapper.java:130)  
at [sun.nio.ch](http://sun.nio.ch).EPollSelectorImpl.\<init\>(EPollSelectorImpl.java:68)  
at [sun.nio.ch](http://sun.nio.ch).EPollSelectorProvider.openSelector(EPollSelectorProvider.java:36)  
at java.nio.channels.Selector.open(Selector.java:227)  
at [org.apache.tomcat.util.net](http://org.apache.tomcat.util.net).NioSelectorPool.getSharedSelector(NioSelectorPool.java:70)  
at [org.apache.tomcat.util.net](http://org.apache.tomcat.util.net).NioSelectorPool.open(NioSelectorPool.java:146)  
at [org.apache.tomcat.util.net](http://org.apache.tomcat.util.net).NioEndpoint.bind(NioEndpoint.java:372)  
at [org.apache.tomcat.util.net](http://org.apache.tomcat.util.net).AbstractEndpoint.init(AbstractEndpoint.java:737)  
at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:457)  
at org.apache.coyote.http11.AbstractHttp11JsseProtocol.init(AbstractHttp11JsseProtocol.java:120)  
at org.apache.catalina.connector.Connector.initInternal(Connector.java:960)  
... 13 more  

02-Sep-2015 11:09:20.585 INFO \[main\] org.apache.catalina.startup.Catalina.load Initialization processed in 268 ms  
02-Sep-2015 11:09:20.589 INFO \[main\] org.apache.catalina.core.StandardService.startInternal Starting service Tomcat-Standalone  
02-Sep-2015 11:09:20.589 INFO \[main\] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.0.23  
02-Sep-2015 11:09:29.585 INFO \[main\] org.apache.catalina.startup.Catalina.start Server startup in 8999 ms  
02-Sep-2015 11:11:58.590 INFO \[main\] org.apache.catalina.core.StandardServer.await A valid shutdown command was received via the shutdown port. Stopping the Server instance.  
02-Sep-2015 11:11:58.591 INFO \[main\] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler \["http-nio-8090"\]  
02-Sep-2015 11:11:58.591 INFO \[main\] org.apache.catalina.core.StandardService.stopInternal Stopping service Tomcat-Standalone  
02-Sep-2015 11:11:58.636 WARNING \[localhost-startStop-2\] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc The web application \[ROOT\] registered the JDBC driver \[org.hsqldb.jdbc.JDBCDriver\] but failed to unregister it  
when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.  
02-Sep-2015 11:11:58.637 WARNING \[localhost-startStop-2\] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc The web application \[ROOT\] registered the JDBC driver \[org.h2.Driver\] but failed to unregister it when the web  
application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.  
02-Sep-2015 11:11:58.637 WARNING \[localhost-startStop-2\] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc The web application \[ROOT\] registered the JDBC driver \[org.postgresql.Driver\] but failed to unregister it when  
the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.  
02-Sep-2015 11:11:58.637 WARNING \[localhost-startStop-2\] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc The web application \[ROOT\] registered the JDBC driver \[com.mysql.jdbc.Driver\] but failed to unregister it when  
the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.  
02-Sep-2015 11:11:58.637 WARNING \[localhost-startStop-2\] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc The web application \[ROOT\] registered the JDBC driver \[com.mysql.fabric.jdbc.FabricMySQLDriver\] but failed to u  
nregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.  
02-Sep-2015 11:11:58.637 WARNING \[localhost-startStop-2\] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application \[ROOT\] appears to have started a thread named \[Abandoned connection cleanup thread\] but  
has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:  
java.lang.Object.wait(Native Method)  
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)  
com.mysql.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:43)  
02-Sep-2015 11:11:58.640 INFO \[main\] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler \["http-nio-8090"\]  
02-Sep-2015 11:11:58.640 INFO \[main\] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler \["http-nio-8090"\]


Answers:
author: Radu Dumitriu
body: Ha. The error means that epoll_create is not implemented in the OS. That's very strange. Either you have a very old OS (which seems not the case) or the freebsd team got it completely wrong ![sad](/html/@C495B4504065515364EB1894F812B34C/images/emoticons/sad.png "sad")

You actually made me to look into some workarounds on the internet. Some users reported that running java with: -Djava.nio.channels.spi.SelectorProvider=[sun.nio.ch](http://sun.nio.ch) .PollSelectorProvider will avoid the call

However, when I looked on freebsd wiki: <https://wiki.freebsd.org/linux-kernel#Missing_stuff> there's a patch: [http://lev.vlakno.cz/\~rdivacky/patches/linux_epoll.patch](http://lev.vlakno.cz/~rdivacky/patches/linux_epoll.patch) . Try it to see if this fixes something or not.

See workarounds on that page, they recommend the same thing: -Djava.nio.channels.spi.SelectorProvider=[sun.nio.ch](http://sun.nio.ch).PollSelectorProvider


author: priyadarshan
body: Hello, thank you for answer. I added two lines (look below) to file setenv.sh in confluence install bin folder and I have now web access to confluence without errors in log files. So I hope it will work all ok. Thank you again.

**Two lines at setenv.sh file**

JAVA_OPTS="-Djava.nio.channels.spi.SelectorProvider=[sun.nio.ch](http://sun.nio.ch).PollSelectorProvider"

export JAVA_OPTS


Tags: confluence-administration