tracker issue : CF-3130323

select a category, or use search below
(searches all categories and all time range)
Title:

Error thrown in Administrator when trying to select websocket from navigation menu

| View in Tracker

Status/Resolution/Reason: Closed/Fixed/

Reporter/Name(from Bugbase): Andrew Scott / Andrew Scott (Andrew Scott)

Created: 03/05/2012

Components: Administrator, Administrator Console

Versions: 10.0

Failure Type:

Found In Build/Fixed In Build: Public Beta /

Priority/Frequency: Major / All users will encounter

Locale/System: English / Win 2008 Server x64

Vote Count: 0

Problem Description: As the subject says please see attached image.

Steps to Reproduce:

Actual Result:

Expected Result:

Any Workarounds:

----------------------------- Additional Watson Details -----------------------------

Watson Bug ID:	3130323

External Customer Info:
External Company:  
External Customer Name: ascott67
External Customer Email:  
External Test Config: My Hardware and Environment details:

Attachments:

  1. March 05, 2012 00:00:00: 1_Websocketerror.PNG

Comments:

And the CF logs has "Error","pool-2-thread-1","03/05/12","23:40:49",,"Unable to initialise WebSocket service: org.jboss.netty.channel.ChannelException: Failed to bind to: 0.0.0.0/0.0.0.0:8585" org.jboss.netty.channel.ChannelException: Failed to bind to: 0.0.0.0/0.0.0.0:8585 at org.jboss.netty.bootstrap.ServerBootstrap.bind(ServerBootstrap.java:303) at coldfusion.tagext.net.websocket.server.WebSocketEngine.start(WebSocketEngine.java:52) at coldfusion.tagext.net.websocket.WebSocketServiceImpl.start(WebSocketServiceImpl.java:77) at coldfusion.server.CFService.setupWebSocketService(CFService.java:484) at coldfusion.server.CFService.start(CFService.java:676) at coldfusion.server.j2ee.CFStartUpServlet.startCFService(CFStartUpServlet.java:110) at coldfusion.server.j2ee.CFStartUpServlet.init(CFStartUpServlet.java:86) at javax.servlet.GenericServlet.init(GenericServlet.java:160) at coldfusion.bootstrap.ClassloaderHelper.initServletClass(ClassloaderHelper.java:121) at coldfusion.bootstrap.BootstrapServlet.init(BootstrapServlet.java:59) at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1266) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1185) at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1080) at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5001) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5278) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1525) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1515) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) Caused by: java.net.BindException: Address already in use: bind at sun.nio.ch.Net.bind(Native Method) at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:126) at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59) at org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink.bind(NioServerSocketPipelineSink.java:148) at org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink.handleServerSocket(NioServerSocketPipelineSink.java:100) at org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink.eventSunk(NioServerSocketPipelineSink.java:74) at org.jboss.netty.channel.Channels.bind(Channels.java:468) at org.jboss.netty.channel.AbstractChannel.bind(AbstractChannel.java:192) at org.jboss.netty.bootstrap.ServerBootstrap$Binder.channelOpen(ServerBootstrap.java:348) at org.jboss.netty.channel.Channels.fireChannelOpen(Channels.java:176) at org.jboss.netty.channel.socket.nio.NioServerSocketChannel.<init>(NioServerSocketChannel.java:85) at org.jboss.netty.channel.socket.nio.NioServerSocketChannelFactory.newChannel(NioServerSocketChannelFactory.java:142) at org.jboss.netty.channel.socket.nio.NioServerSocketChannelFactory.newChannel(NioServerSocketChannelFactory.java:90) at org.jboss.netty.bootstrap.ServerBootstrap.bind(ServerBootstrap.java:282) ... 22 more
Comment by External U.
20363 | March 05, 2012 07:48:44 AM GMT
"Error","ajp-bio-8012-exec-1","03/06/12","00:14:07","cfadmin","Element WEBSOCKET is undefined in a Java object of type class [Ljava.lang.String;. The specific sequence of files included or processed is: C:\ColdFusion10\cfusion\wwwroot\CFIDE\administrator\settings\websocket.cfm, line: 45 " coldfusion.runtime.UndefinedElementException: Element WEBSOCKET is undefined in a Java object of type class [Ljava.lang.String;. at coldfusion.runtime.CfJspPage.resolveCanonicalName(CfJspPage.java:1743) at coldfusion.runtime.CfJspPage._resolve(CfJspPage.java:1696) at coldfusion.runtime.CfJspPage._resolve(CfJspPage.java:1684) at cfwebsocket2ecfm195295187._factor5(E:\zeus_rc\cfusion\wwwroot\CFIDE\administrator\settings\websocket.cfm:45) at cfwebsocket2ecfm195295187.runPage(E:\zeus_rc\cfusion\wwwroot\CFIDE\administrator\settings\websocket.cfm:1) at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:235) at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:429) at coldfusion.filter.CfincludeFilter.invoke(CfincludeFilter.java:65) at coldfusion.filter.IpFilter.invoke(IpFilter.java:62) at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:431) at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:48) at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40) at coldfusion.filter.PathFilter.invoke(PathFilter.java:112) at coldfusion.filter.LicenseFilter.invoke(LicenseFilter.java:30) at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:75) at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28) at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38) at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:46) at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38) at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22) at coldfusion.filter.CachingFilter.invoke(CachingFilter.java:62) at coldfusion.CfmServlet.service(CfmServlet.java:204) at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42) at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:414) at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:203) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:298) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662)
Comment by External U.
20364 | March 05, 2012 07:49:01 AM GMT
"Error","ajp-bio-8012-exec-1","03/06/12","00:14:14","cfadmin","Element WEBSOCKET is undefined in a Java object of type class [Ljava.lang.String;. The specific sequence of files included or processed is: C:\ColdFusion10\cfusion\wwwroot\CFIDE\administrator\settings\websocket.cfm, line: 45 " coldfusion.runtime.UndefinedElementException: Element WEBSOCKET is undefined in a Java object of type class [Ljava.lang.String;. at coldfusion.runtime.CfJspPage.resolveCanonicalName(CfJspPage.java:1743) at coldfusion.runtime.CfJspPage._resolve(CfJspPage.java:1696) at coldfusion.runtime.CfJspPage._resolve(CfJspPage.java:1684) at cfwebsocket2ecfm195295187._factor5(E:\zeus_rc\cfusion\wwwroot\CFIDE\administrator\settings\websocket.cfm:45) at cfwebsocket2ecfm195295187.runPage(E:\zeus_rc\cfusion\wwwroot\CFIDE\administrator\settings\websocket.cfm:1) at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:235) at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:429) at coldfusion.filter.CfincludeFilter.invoke(CfincludeFilter.java:65) at coldfusion.filter.IpFilter.invoke(IpFilter.java:62) at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:431) at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:48) at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40) at coldfusion.filter.PathFilter.invoke(PathFilter.java:112) at coldfusion.filter.LicenseFilter.invoke(LicenseFilter.java:30) at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:75) at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28) at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38) at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:46) at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38) at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22) at coldfusion.filter.CachingFilter.invoke(CachingFilter.java:62) at coldfusion.CfmServlet.service(CfmServlet.java:204) at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42) at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:414) at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:203) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:298) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662)
Comment by External U.
20365 | March 05, 2012 07:49:13 AM GMT
Hi ascott67, This exception comes when websocket port (8585) is busy. As a workaround you can change port at neo-websocket.xml. However we have fixed this issue.
Comment by Kunal S.
20366 | March 06, 2012 02:07:09 AM GMT
But why is that port busy? This port is I take it the default for web sockets, which was working 3 days ago. Now you are telling me its because it is busy, but why is it busy what has happened to make it busy? Restarting the server has not fixed this issue either, so I need more gaurantees that there is not something else that has happened. Please explain how installing / uninstalling can suddenly create this error?
Comment by External U.
20367 | March 06, 2012 02:43:43 AM GMT
Ok I found out how to fix it, and I know what is causing it. If you want my opinion, this is a bug and needs to be fixed. When installing ColdFusion 10, it just assumes that this port is free, if it is not free then there will be no way for this feature to work. My suggestion is that the installer needs to figure this out, and adjust this accordingly. To reproduce this, here is what I did. Uninstall ColdFusion 10, make sure there are no running instances before doing this. Install ColdFusion 10 and browse to the websockets area, it works fine. Now Install Tomcat, and deploy ColdFusion 10 on there and try to browse to the same page, it will throw this error. Now stop ColdFusion standalone, and restart tomcat and restart ColdFusion standalone. Then go to the websockets on the stand alone and it will error again. Now as someone who installs multi instances for deploying to new versions, if this is not fixed I can see this problem existing on CF11/12/13 and many more to come. Especially when people like me do these type of installations, so that we can run our code on two different versions of ColdFusion while trying to migrate to newer version of CF. This is a critical blocker, and should be fixed.
Comment by External U.
20368 | March 06, 2012 03:01:51 AM GMT