I thought that it was working, but, in fact, it really isn’'t properly. Firstly, when I got it set up first of all (running it from the command line), I was able to get into the web setup, and that seemed to work fine, and I could log onto it from the local machine using Gaim (2.0-RC6) specifying the hostname as “localhost”, but could not log onto it from anywhere else, nor even from the local machine using the IP address in the hostname field (I would get a “read error”).
I restarted the machine on which the Openfire server was running, and now the server won’'t start at all: when I check the logs, I get the following:
STDERR.log
java.lang.ClassNotFoundException: org.jivesoftware.openfire.XMPPServer
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at org.jivesoftware.openfire.starter.ServerStarter.start(ServerStarter.java:91)
at org.jivesoftware.openfire.starter.ServerStarter.main(ServerStarter.java:49)
error.log
2007.04.28 13:06:09 org.jivesoftware.util.log.util.CommonsLogFactory$1.fatal(CommonsLogFactory.java: 95) The scratchDir you specified: /tmp/Jetty_0_0_0_0_9090_webapp____-dnguxu/jsp is unusable.
2007.04.28 13:06:09 org.jivesoftware.openfire.container.PluginManager.loadPlugin(PluginManager.java: 462) Error loading plugin: /usr/bin/openfire/plugins/search
java.lang.NullPointerException: No ComponentManager implementation available.
at org.xmpp.component.ComponentManagerFactory.getComponentManager(ComponentManager Factory.java:52)
at org.jivesoftware.openfire.plugin.SearchPlugin.initializePlugin(SearchPlugin.jav a:102)
at org.jivesoftware.openfire.container.PluginManager.loadPlugin(PluginManager.java :404)
at org.jivesoftware.openfire.container.PluginManager.access$200(PluginManager.java :46)
at org.jivesoftware.openfire.container.PluginManager$PluginMonitor.run(PluginManag er.java:916)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101 (ScheduledThreadPoolExecutor.java:98)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodi c(ScheduledThreadPoolExecutor.java:181)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Schedu ledThreadPoolExecutor.java:205)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java: 885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
2007.04.28 13:06:13 org.jivesoftware.openfire.spi.ConnectionManagerImpl.startServerListener(Connecti onManagerImpl.java:128) Could not setup a server socket
java.net.BindException: Address already in use
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
at java.net.ServerSocket.bind(ServerSocket.java:319)
at java.net.ServerSocket.(SocketAcceptThread.java:56)
at org.jivesoftware.openfire.spi.ConnectionManagerImpl.startServerListener(Connect ionManagerImpl.java:114)
at org.jivesoftware.openfire.spi.ConnectionManagerImpl.createSocket(ConnectionMana gerImpl.java:96)
at org.jivesoftware.openfire.spi.ConnectionManagerImpl.start(ConnectionManagerImpl .java:705)
at org.jivesoftware.openfire.XMPPServer.startModules(XMPPServer.java:528)
at org.jivesoftware.openfire.XMPPServer.access$500(XMPPServer.java:90)
at org.jivesoftware.openfire.XMPPServer$1.run(XMPPServer.java:364)
2007.04.28 13:06:13 org.jivesoftware.openfire.spi.ConnectionManagerImpl.startClientListeners(Connect ionManagerImpl.java:270) Could not setup a server socket
java.net.BindException: Address already in use
at sun.nio.ch.Net.bind(Native Method)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:119)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59)
at org.apache.mina.transport.socket.nio.SocketAcceptor.registerNew(SocketAcceptor. java:397)
at org.apache.mina.transport.socket.nio.SocketAcceptor.access$900(SocketAcceptor.j ava:55)
at org.apache.mina.transport.socket.nio.SocketAcceptor$Worker.run(SocketAcceptor.j ava:232)
at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:43)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java: 885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
2007.04.28 13:14:14 org.jivesoftware.util.log.util.CommonsLogFactory$1.error(CommonsLogFactory.java: 87) Line=19 The content of element type “dwr” must match “(init?,allow?,signatures?)”.
2007.04.28 14:29:55 org.jivesoftware.openfire.container.PluginManager.shutdown(PluginManager.java:10 6)
java.lang.NullPointerException
at org.jivesoftware.openfire.plugin.SearchPlugin.destroyPlugin(SearchPlugin.java:1 26)
at org.jivesoftware.openfire.container.PluginManager.shutdown(PluginManager.java:1 03)
at org.jivesoftware.openfire.XMPPServer.shutdownServer(XMPPServer.java:865)
at org.jivesoftware.openfire.XMPPServer.access$600(XMPPServer.java:90)
at org.jivesoftware.openfire.XMPPServer$ShutdownHookThread.run(XMPPServer.java:811 )
warn.log
2007.04.28 13:04:48 Error when trying to update to new name
java.sql.SQLException: Table not found in statement
at org.hsqldb.jdbc.Util.throwError(Unknown Source)
at org.hsqldb.jdbc.jdbcPreparedStatement.(Unknown Source)
at org.hsqldb.jdbc.jdbcConnection.prepareStatement(Unknown Source)
at org.jivesoftware.database.AbstractConnection.prepareStatement(AbstractConnectio n.java:36)
at org.jivesoftware.database.SchemaManager.updateToOpenfire(SchemaManager.java:298 )
at org.jivesoftware.database.SchemaManager.checkOpenfireSchema(SchemaManager.java: 66)
at org.jivesoftware.database.DbConnectionManager.setConnectionProvider(DbConnectio nManager.java:467)
at org.jivesoftware.openfire.admin.setup.setup_002ddatasource_002dsettings_jsp._js pService(setup_002ddatasource_002dsettings_jsp.java:155)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:491)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1074)
at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:11 8)
at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1065)
at org.jivesoftware.util.LocaleFilter.doFilter(LocaleFilter.java:65)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1065)
at org.jivesoftware.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingF ilter.java:41)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1065)
at org.jivesoftware.admin.PluginFilter.doFilter(PluginFilter.java:69)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1065)
at org.jivesoftware.admin.AuthCheckFilter.doFilter(AuthCheckFilter.java:98)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1065)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:185)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:689)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:391)
at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollect ion.java:146)
at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
at org.mortbay.jetty.Server.handle(Server.java:285)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:457)
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.j ava:751)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:500)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:209)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:329)
at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)
2007.04.28 13:06:49 Going to buffer response body of large or unknown size. Using getResponseBodyAsStream instead is recommended.
2007.04.28 13:06:49 Going to buffer response body of large or unknown size. Using getResponseBodyAsStream instead is recommended.
I find this behaviour unpredictable and bizarre, and the errors cryptic. Do you (or does anyone else) have any idea at all about what is causing this or how to deal with it?