Post-3.6.4 upgrade, can't start daemon, can't uninstall

Upgraded from 3.6.3 to 3.6.4 last weekend; seemed to be working fine until a reboot. Now the daemon won’t start-I get this msg:

Starting openfire

nohup: appending output to ‘nohup.out’

Openfire never starts and the file nohup.out is empty.

When I try to repair or remove Openfire, I get this: .

Removing openfire …
Shutting down openfire
The daemon is not running.
invoke-rc.d: initscript openfire, action “stop” failed.
dpkg: error processing openfire (–remove):
subprocess pre-removal script returned error exit status 1
Starting openfire
nohup: appending output to `nohup.out’
Errors were encountered while processing:
openfire
E: Sub-process /usr/bin/dpkg returned an error code (1)

error.log is full of nested exceptions.

I’m running Ubuntu 8.04 server

Can anyone help?

thanks

do you have openfire installed at this point? if so, which version?

dpkg -l openfire

dpkg -l reports version 3.6.3 is installed

openfire was running fine up until a few days ago.

Take a look at the files list of openfire package (dpkg -L openfire). Check the ownership permissions on those files, esp the logs, and make sure it is owned by daemon, not root. If that is not an issue, what is the output of the error.log and nohup.out file after running ‘sudo /etc/init.d/openfire start’? You can also modify the openfire init script, and add ‘-x’ to the end of the shbang, e.g. ‘#!/bin/sh -x’, for additional debug output.

HTH

Changing ownership allowed the daemon to start-thank you.

However, it doesn’t appear to be listening on port 9090, even though openfire.xml is configured to use that port. All the ports required by openfire are open on the firewall. I can’t connect with a client, either.

Check if Openfire is already running, and had crashed. First attempt to stop Openfire ‘sudo /etc/init.d/openfire stop’, next check to see if another process is taking port 9090 ‘sudo netstat -lnp | grep 9090’, if so, kill that pid.

Indeed, openfire is crashing after a few seconds. No process is using port 9090.

what is the output of the error.log and nohup.out?

nohup.out is empty. error.log is full of these. Could it be a java problem?

** END NESTED EXCEPTION **

Last packet sent to the server was 1 ms ago.
at org.jivesoftware.openfire.XMPPServer.verifyDataSource(XMPPServer.java:710)
at org.jivesoftware.openfire.XMPPServer.start(XMPPServer.java:427)
at org.jivesoftware.openfire.XMPPServer.(XMPPServer.java:161)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessor Impl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructor AccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at org.jivesoftware.openfire.starter.ServerStarter.start(ServerStarter.java:106)
at org.jivesoftware.openfire.starter.ServerStarter.main(ServerStarter.java:51)
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:597)
at com.exe4j.runtime.LauncherEngine.launch(Unknown Source)
at com.install4j.runtime.Launcher.main(Unknown Source)
Caused by: java.sql.SQLException: ConnectionManager.getConnection() failed to obtain a connection after 11 retries. The exception from the last attempt is as follows: com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:

** BEGIN NESTED EXCEPTION **

java.net.ConnectException
MESSAGE: Connection refused

STACKTRACE:

java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:519)
at java.net.Socket.connect(Socket.java:469)
at java.net.Socket.(Socket.java:366)
at java.net.Socket.(Socket.java:209)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:256)
at com.mysql.jdbc.MysqlIO.(MysqlIO.java:271)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2771)
at com.mysql.jdbc.Connection.(Connection.java:1555)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:154)
at org.logicalcobwebs.proxool.DefaultConnectionBuilder.buildConnection(DefaultConn ectionBuilder.java:39)
at org.logicalcobwebs.proxool.Prototyper.buildConnection(Prototyper.java:159)
at org.logicalcobwebs.proxool.ConnectionPool.getConnection(ConnectionPool.java:211 )
at org.logicalcobwebs.proxool.ProxoolDriver.connect(ProxoolDriver.java:89)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:154)
at org.jivesoftware.database.DefaultConnectionProvider.getConnection(DefaultConnec tionProvider.java:75)
at org.jivesoftware.database.DbConnectionManager.getConnection(DbConnectionManager .java:104)
at org.jivesoftware.openfire.XMPPServer.verifyDataSource(XMPPServer.java:698)
at org.jivesoftware.openfire.XMPPServer.start(XMPPServer.java:427)
at org.jivesoftware.openfire.XMPPServer.(XMPPServer.java:161)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessor Impl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructor AccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at org.jivesoftware.openfire.starter.ServerStarter.start(ServerStarter.java:106)
at org.jivesoftware.openfire.starter.ServerStarter.main(ServerStarter.java:51)
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:597)
at com.exe4j.runtime.LauncherEngine.launch(Unknown Source)
at com.install4j.runtime.Launcher.main(Unknown Source)

** END NESTED EXCEPTION **

Openfire is not able to communicate with your database. Is MySQL running?

Yes-I have opsview running on this box as well and it can access the database OK.

Maybe a permissions issue on the database itself? I didn’t actually notice this problem until I ran a backup using MySQL Admin a couple of days ago.

Openfire connects to MySQL based on the connect settings in $OPENFIRE_HOME/conf/openfire.xml. Can you connect to the openfire database, and are the tables intact as far as the settings listed there? Did you have a backup? I wonder if the dpkg install dropped the Openfire database at some point.

Yes, I can connect with the credentials from openfire.xml. All of the tables appear to be there.

Could you post an edited version of your openfire.xml file?

Thanks

I just got it working again by editing openfire.xml:

jdbc:mysql://localhost:3306/openfire

to

jdbc:mysql://10.0.1.48:3306/openfire

Thanks for all your help.