Unable to login after upgrading to 3.4.1

I just upgraded to 3.4.1 and now I am unable to connect. I can see the login page of the admin console but it will not accept my user name or password. Also tried to connect with Spark with same issue.

I have a connection to the database and all but not able to login. Restarted services but that did not good. Any ideas?

Me too.

Upgraded from Openfire 3.3.3 to 3.4.1 (skipped 3.4.0).

Now all users are unable to connect, and I cannot connect to admin console. However, when I use mysql command line to query the admin password, it does show the correct admin password. So either it’s not connecting to the expected database anymore, or something is very screwed.

This is happening on Centos5, 64 bit. 2.6.18-8.1.15.el5 #1 SMP Mon Oct 22 08:32:28 EDT 2007 x86_64 x86_64 x86_64 GNU/Linux

java -version output:

java version “1.6.0_02”

Java™ SE Runtime Environment (build 1.6.0_02-b05)

Java HotSpot™ 64-Bit Server VM (build 1.6.0_02-b05, mixed mode)

I also upgraded another Openfire 3.3.3 server running on CentOS5 straight to 3.4.1 today and it worked fine.

Both were using MySQL back-end.

Please have a look at this related thread.

If that doesn’t help, post your logs.

I am using the following plugins:

broadcast - 1.6.0

IM gateway - 1.2.0

registration - 1.4.0

search - 1.4.0

sparkmanager - 1.2

userservice - 1.3.0

I have tried shutting down and removing services but still no luck. The error log has the following:

2007.11.04 23:33:12 org.jivesoftware.database.SchemaManager.checkSchema(SchemaManager.java:251)

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table ‘jivepresence’ already exists

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

at java.lang.reflect.Constructor.newInstance(Unknown Source)

at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)

at com.mysql.jdbc.Util.getInstance(Util.java:381)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1031)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:957)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3376)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3308)

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

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

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2537)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2466)

at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:735)

at org.jivesoftware.database.SchemaManager.executeSQLScript(SchemaManager.java:348 )

at org.jivesoftware.database.SchemaManager.checkSchema(SchemaManager.java:248)

at org.jivesoftware.database.SchemaManager.checkOpenfireSchema(SchemaManager.java: 68)

at org.jivesoftware.database.DbConnectionManager.setConnectionProvider(DbConnectio nManager.java:467)

at org.jivesoftware.database.DbConnectionManager.getConnection(DbConnectionManager .java:77)

at org.jivesoftware.util.JiveProperties.loadProperties(JiveProperties.java:330)

at org.jivesoftware.util.JiveProperties.init(JiveProperties.java:72)

at org.jivesoftware.util.JiveProperties$JivePropertyHolder.<clinit>(JiveProp erties.java:39)

at org.jivesoftware.util.JiveProperties.getInstance(JiveProperties.java:51)

at org.jivesoftware.util.JiveGlobals.getProperty(JiveGlobals.java:524)

at org.jivesoftware.openfire.XMPPServer.initialize(XMPPServer.java:314)

at org.jivesoftware.openfire.XMPPServer.start(XMPPServer.java:421)

at org.jivesoftware.openfire.XMPPServer.<init>(XMPPServer.java:155)

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

at java.lang.reflect.Constructor.newInstance(Unknown Source)

at java.lang.Class.newInstance0(Unknown Source)

at java.lang.Class.newInstance(Unknown Source)

at org.jivesoftware.openfire.starter.ServerStarter.start(ServerStarter.java:105)

at org.jivesoftware.openfire.starter.ServerStarter.main(ServerStarter.java:50)

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

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at com.exe4j.runtime.LauncherEngine.launch(Unknown Source)

at com.exe4j.runtime.WinLauncher$1.run(Unknown Source)

2007.11.04 23:33:13 org.jivesoftware.openfire.muc.spi.MUCPersistenceManager.loadRoomsFromDB(MUCPersi stenceManager.java:570)

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column ‘roomPassword’ in ‘field list’

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

at java.lang.reflect.Constructor.newInstance(Unknown Source)

at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)

at com.mysql.jdbc.Util.getInstance(Util.java:381)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1031)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:957)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3376)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3308)

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

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

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2543)

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

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

at org.jivesoftware.openfire.muc.spi.MUCPersistenceManager.loadRoomsFromDB(MUCPers istenceManager.java:427)

at org.jivesoftware.openfire.muc.spi.MultiUserChatServerImpl.start(MultiUserChatSe rverImpl.java:894)

at org.jivesoftware.openfire.XMPPServer.startModules(XMPPServer.java:573)

at org.jivesoftware.openfire.XMPPServer.start(XMPPServer.java:440)

at org.jivesoftware.openfire.XMPPServer.<init>(XMPPServer.java:155)

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

at java.lang.reflect.Constructor.newInstance(Unknown Source)

at java.lang.Class.newInstance0(Unknown Source)

at java.lang.Class.newInstance(Unknown Source)

at org.jivesoftware.openfire.starter.ServerStarter.start(ServerStarter.java:105)

at org.jivesoftware.openfire.starter.ServerStarter.main(ServerStarter.java:50)

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

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at com.exe4j.runtime.LauncherEngine.launch(Unknown Source)

at com.exe4j.runtime.WinLauncher$1.run(Unknown Source)

I removed red5 by deleting from /opt/openfire/plugins (because I cant log into the admin UI), and now only have these plugins:

ll …/plugins/

total 52

drwxr-xr-x 3 daemon daemon 4096 Nov 5 13:37 admin

drwxr-xr-x 5 daemon daemon 4096 Nov 5 13:37 search

-rw-rr 1 daemon daemon 30041 Nov 2 04:26 search.jar

Some recent log output:

  1. cat nohup.out

Found old database version 11 for openfire. Upgrading to version 13…

Openfire 3.4.1 [Nov 5, 2007 1:37:42 PM

error.log has some db related entries for example

2007.11.05 13:37:37 org.jivesoftware.database.SchemaManager.checkSchema(SchemaManager.java:251)

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: ALTER command denied to user ‘openfire’@‘localhost’ for table 'mucCo

nversationLog’

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

at java.lang.reflect.Constructor.newInstance(Unknown Source)

at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)

at com.mysql.jdbc.Util.getInstance(Util.java:381)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1031)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:957)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3376)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3308)

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

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

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2537)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2466)

at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:735)

2007.11.05 13:37:42 org.jivesoftware.openfire.muc.spi.MUCPersistenceManager.loadRoomsFromDB(MUCPersi stenceManager.java:570)

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column ‘roomPassword’ in ‘field list’

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

at java.lang.reflect.Constructor.newInstance(Unknown Source)

at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)

at com.mysql.jdbc.Util.getInstance(Util.java:381)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1031)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:957)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3376)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3308)

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

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

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2543)

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

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

at org.jivesoftware.openfire.muc.spi.MUCPersistenceManager.loadRoomsFromDB(MUCPers istenceManager.java:427)

at org.jivesoftware.openfire.muc.spi.MultiUserChatServerImpl.start(MultiUserChatSe rverImpl.java:894)

at org.jivesoftware.openfire.XMPPServer.startModules(XMPPServer.java:573)

at org.jivesoftware.openfire.XMPPServer.start(XMPPServer.java:440)

at org.jivesoftware.openfire.XMPPServer.(XMPPServer.java:155)

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

at java.lang.reflect.Constructor.newInstance(Unknown Source)

at java.lang.Class.newInstance0(Unknown Source)

at java.lang.Class.newInstance(Unknown Source)

at org.jivesoftware.openfire.starter.ServerStarter.start(ServerStarter.java:105)

at org.jivesoftware.openfire.starter.ServerStarter.main(ServerStarter.java:50)

Has the db driver been changed in 3.4x vs. 3.3.3 ?

I am using

  1. mysql -V

mysql Ver 14.12 Distrib 5.0.22, for redhat-linux-gnu (x86_64) using readline 5.0

> org.jivesoftware.database.SchemaManager.checkSchema(SchemaManager.java:251)
> com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: ALTER command denied to user 'openfire'@'localhost' for table 'mucConversationLog'

It seems the MySQL user ‘openfire’ does not have ALTER TABLE permissions for the openfire db. Therefore the automatic db upgrade fails.

Make sure to either grant the openfire user full access rights the the MySQL db or manually apply the upgrade script in resources/database/upgrade.

Ok but I never touched the database permissions. Curious why the db user would lack permissions to that table on one server but not the other. Both servers originally were 3.3.1, then update to 3.3.2 then update to 3.3.3, then 3.4.1. Same upgrade path both servers, same installation history, same MySQL rev, same OS and patch level.

I will log into the db as root and grant all priveleges to the openfire user and re-run the 3.4.1 upgrade to see if it helps.

srt,

I did this as MySQL root user:

grant all privileges on openfire.* to openfire@localhost;

And then I did

service openfire stop

rpm -Uvh openfire-3.4.1-1.i386.rpm --force

and

service openfire start

It came back up without any issues and everything seems to be working OK. Thanks for interpreting my log output and nailing the issue!

I had to go back to 3.3.3 since I was unable to upgrade. Here is my last error:

2007.11.05 08:56:25 [org.jivesoftware.openfire.muc.spi.MUCPersistenceManager.loadRoomsFromDB(MUCPer sistenceManager.java:570)

]

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column ‘roomPassword’ in ‘field list’

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

at java.lang.reflect.Constructor.newInstance(Unknown Source)

at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)

at com.mysql.jdbc.Util.getInstance(Util.java:381)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1031)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:957)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3376)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3308)

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

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

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2543)

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

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

at org.jivesoftware.openfire.muc.spi.MUCPersistenceManager.loadRoomsFromDB(MUCPers istenceManager.java:427)

at org.jivesoftware.openfire.muc.spi.MultiUserChatServerImpl.start(MultiUserChatSe rverImpl.java:894)

at org.jivesoftware.openfire.XMPPServer.startModules(XMPPServer.java:573)

at org.jivesoftware.openfire.XMPPServer.start(XMPPServer.java:440)

at org.jivesoftware.openfire.XMPPServer.<init>(XMPPServer.java:155)

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

at java.lang.reflect.Constructor.newInstance(Unknown Source)

at java.lang.Class.newInstance0(Unknown Source)

at java.lang.Class.newInstance(Unknown Source)

at org.jivesoftware.openfire.starter.ServerStarter.start(ServerStarter.java:105)

at org.jivesoftware.openfire.starter.ServerStarter.main(ServerStarter.java:50)

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

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at com.exe4j.runtime.LauncherEngine.launch(Unknown Source)

at com.exe4j.runtime.WinLauncher$1.run(Unknown Source)