Help with what appears to be MySQL connector issue...please

HI:

I’'ve just installed the WildFire server. Installed fromthe Mac OS/X package installer on a PPC (G4) mac running OS/X 10.4.8 and using MySQL 5.0.33 as the database server.

Initally I could not get the database connection, which was a result of WildFire using a localhost network connection (closed for security reasons) rather than a UNIX socket connection. I then opened the network connection for MySQL and everything installed just fine.

I created test users, and signed them in from another location, and left them signed in (occaisionally signing out and back in) for several days.

Today, a series of things happened.

  1. I logged on the web admin tool, and could not validate. I verified the database was working properly. Then I tried again and it failed. Then I logged a test user out of a chat client and back in (to see…and that worked). Then I tried the admin again, and login succeeded. No other actions were taken between those events.

I repeated this several times. It turns out that when the MySQL database is restarted (I restarted the server for unrelated reasons) that you cannot log into the WildFire web admin until a user has logged out and back in.

Then after about an hour of everything working well, the database connector seems troubled.

I can log in as an admin just fine. I cannot log in from a chat client as a user at all. I cannot reach the “users/groups” tab in the admin interface at all (when I click, it just waits and waits). Same symptoms with the “database” item on the left navbar of the “server” tab - it won’'t load.

I tried the “users/groups” tab and at the same time tried to connect from a chat client. Here is the log from that time:

at org.jivesoftware.phone.PhonePlugin.init(PhonePlugin.java:82)

at org.jivesoftware.phone.PhonePlugin.initializePlugin(PhonePlugin.java:64)

at org.jivesoftware.wildfire.container.PluginManager.loadPlugin(PluginManager.java :404)

at org.jivesoftware.wildfire.container.PluginManager.access$200(PluginManager.java :46)

at org.jivesoftware.wildfire.container.PluginManager$PluginMonitor.run(PluginManag er.java:920)

at org.jivesoftware.wildfire.container.PluginManager.installPlugin(PluginManager.j ava:142)

at org.jivesoftware.wildfire.update.UpdateManager.downloadPlugin(UpdateManager.jav a:243)

at org.jivesoftware.wildfire.update.PluginDownloadManager.installPlugin(PluginDown loadManager.java:56)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.ja va:25)

at java.lang.reflect.Method.invoke(Method.java:585)

at uk.ltd.getahead.dwr.impl.ExecuteQuery.execute(ExecuteQuery.java:239)

at uk.ltd.getahead.dwr.impl.DefaultExecProcessor.handle(DefaultExecProcessor.java: 48)

at uk.ltd.getahead.dwr.impl.DefaultProcessor.handle(DefaultProcessor.java:81)

at uk.ltd.getahead.dwr.AbstractDWRServlet.doPost(AbstractDWRServlet.java:162)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)

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.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.content(HttpConnection.java:765 )

at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:627)

at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:203)

at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357)

at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:217)

at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)

2007.02.25 10:37:58 org.jivesoftware.wildfire.spi.PresenceManagerImpl.userUnavailable(PresenceManage rImpl.java:264) Error storing offline presence of user: jeff

java.sql.SQLException: No operations allowed after connection closed.Connection was implicitly closed due to underlying exception/error:

  • BEGIN NESTED EXCEPTION **

com.mysql.jdbc.CommunicationsException

MESSAGE: Communications link failure due to underlying exception:

  • BEGIN NESTED EXCEPTION **

java.net.SocketException

MESSAGE: Broken pipe

STACKTRACE:

java.net.SocketException: Broken pipe

at java.net.SocketOutputStream.socketWrite0(Native Method)

at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)

at java.net.SocketOutputStream.write(SocketOutputStream.java:136)

at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)

at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)

at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2739)

at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2650)

at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1581)

at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1695)

at com.mysql.jdbc.Connection.execSQL(Connection.java:3004)

at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1128)

at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1222)

at org.jivesoftware.database.ProfiledConnection$TimedPreparedStatement.executeQuer y(ProfiledConnection.java:780)

at org.jivesoftware.wildfire.auth.DefaultAuthProvider.getPassword(DefaultAuthProvi der.java:97)

at org.jivesoftware.wildfire.auth.DefaultAuthProvider.authenticate(DefaultAuthProv ider.java:50)

at org.jivesoftware.wildfire.auth.AuthFactory.authenticate(AuthFactory.java:149)

at org.jivesoftware.wildfire.admin.login_jsp._jspService(login_jsp.java:135)

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.doFilter(PageFilter.java:39)

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.content(HttpConnection.java:765 )

at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:627)

at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:203)

at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357)

at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:217)

at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)

  • END NESTED EXCEPTION **

Last packet sent to the server was 2 ms ago.

STACKTRACE:

com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:

  • BEGIN NESTED EXCEPTION **

java.net.SocketException

MESSAGE: Broken pipe

STACKTRACE:

java.net.SocketException: Broken pipe

at java.net.SocketOutputStream.socketWrite0(Native Method)

at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)

at java.net.SocketOutputStream.write(SocketOutputStream.java:136)

at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)

at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)

at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2739)

at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2650)

at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1581)

at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1695)

at com.mysql.jdbc.Connection.execSQL(Connection.java:3004)

at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1128)

at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1222)

at org.jivesoftware.database.ProfiledConnection$TimedPreparedStatement.executeQuer y(ProfiledConnection.java:780)

at org.jivesoftware.wildfire.auth.DefaultAuthProvider.getPassword(DefaultAuthProvi der.java:97)

at org.jivesoftware.wildfire.auth.DefaultAuthProvider.authenticate(DefaultAuthProv ider.java:50)

at org.jivesoftware.wildfire.auth.AuthFactory.authenticate(AuthFactory.java:149)

at org.jivesoftware.wildfire.admin.login_jsp._jspService(login_jsp.java:135)

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.doFilter(PageFilter.java:39)

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.content(HttpConnection.java:765 )

at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:627)

at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:203)

at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357)

at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:217)

at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)

  • END NESTED EXCEPTION **

Last packet sent to the server was 2 ms ago.

at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2757)

at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2650)

at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1581)

at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1695)

at com.mysql.jdbc.Connection.execSQL(Connection.java:3004)

at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1128)

at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1222)

at org.jivesoftware.database.ProfiledConnection$TimedPreparedStatement.executeQuer y(ProfiledConnection.java:780)

at org.jivesoftware.wildfire.auth.DefaultAuthProvider.getPassword(DefaultAuthProvi der.java:97)

at org.jivesoftware.wildfire.auth.DefaultAuthProvider.authenticate(DefaultAuthProv ider.java:50)

at org.jivesoftware.wildfire.auth.AuthFactory.authenticate(AuthFactory.java:149)

at org.jivesoftware.wildfire.admin.login_jsp._jspService(login_jsp.java:135)

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.doFilter(PageFilter.java:39)

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.content(HttpConnection.java:765 )

at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:627)

at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:203)

at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357)

at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:217)

at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)

  • END NESTED EXCEPTION **

at com.mysql.jdbc.Connection.checkClosed(Connection.java:1844)

at com.mysql.jdbc.Connection.prepareStatement(Connection.java:4306)

at com.mysql.jdbc.Connection.prepareStatement(Connection.java:4272)

at org.jivesoftware.database.AbstractConnection.prepareStatement(AbstractConnectio n.java:36)

at org.jivesoftware.database.ProfiledConnection.prepareStatement(ProfiledConnectio n.java:608)

at org.jivesoftware.wildfire.spi.PresenceManagerImpl.userUnavailable(PresenceManag erImpl.java:252)

at org.jivesoftware.wildfire.handler.PresenceUpdateHandler.process(PresenceUpdateH andler.java:121)

at org.jivesoftware.wildfire.SessionManager$ClientSessionListener.onConnectionClos e(SessionManager.java:1493)

at org.jivesoftware.wildfire.nio.NIOConnection.notifyCloseListeners(NIOConnection. java:161)

at org.jivesoftware.wildfire.nio.NIOConnection.close(NIOConnection.java:140)

at org.jivesoftware.wildfire.net.StanzaHandler.process(StanzaHandler.java:109)

at org.jivesoftware.wildfire.nio.ConnectionHandler.messageReceived(ConnectionHandl er.java:131)

at org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived (AbstractIoFilterChain.java:703)

at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(Ab stractIoFilterChain.java:362)

at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilt erChain.java:54)

at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceive d(AbstractIoFilterChain.java:800)

at org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(SimplePr otocolDecoderOutput.java:62)

at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecF ilter.java:192)

at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(Ab stractIoFilterChain.java:362)

at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilt erChain.java:54)

at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceive d(AbstractIoFilterChain.java:800)

at org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java :250)

at org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(Execut orFilter.java:305)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java: 650)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)

at java.lang.Thread.run(Thread.java:613)

I am not at all experienced in Java or at all knowledgeable (yet) about WildFire, so I have no idea where to look.

I can verify (from doing so directly) that I can read and update the user and other tables in the WildFire database. And do so from a localhost network connection.

I suspect configuration corruption, but I don’‘t know where to look for that either (sorry…I know I’'m a newbie here).

Any help of suggestions would be most appreciated!!!

Thank you!!

Hi,

restarting Wildfire should solve your problem. Wildfire relies on a stable connection to the backend database - it’'s connection pool causes a lot of trouble if the backend database was restarted. JM-343 is a well known issue, you may want to create a JIRA account and vote for it.

LG

Thank you! It’‘s nice to know that it’'s not me or my server

Only one question…I don’‘t know (and can’'t find any documentation…yet) how to start (or stop) the WildFire server.

Can you help? or point me to what I’'m missing that will help?

Thanks!

Never mind…a bit of diligent searching found the answer.

My suggestion (and if I find some time, my conribution) would be any docs at all for the Mac. It seems there are lots of mac users here, and the docs don’'t address anything about the Mac at all… ;(

Thank you for your help!