Exception accessing server-properties.jsp v3.9.1

Hi,

Running version 3.9.1 (downgraded from 3.9.3)

I noticed today that from the web ui when I try to access server-properties.jsp I get an exception as shown below. It doesn’t help to restart the application. Could this be an issue from when I downgraded from 3.9.3 to 3.9.1? Or could this be something else?

I haven’t seen this error around, so I would appreciate any help.

The logs doesn’t log anything, this is exception I get on the web ui.

Exception:

java.lang.NoSuchMethodError: org.jivesoftware.util.JiveGlobals.isPropertyEncrypted(Ljava/lang/String;)Z

at org.jivesoftware.openfire.admin.server_002dproperties_jsp._jspService(server_00 2dproperties_jsp.java:262)

at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)

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

at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:547)

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1359)

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.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1330)

at org.jivesoftware.util.LocaleFilter.doFilter(LocaleFilter.java:74)

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1330)

at org.jivesoftware.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingF ilter.java:50)

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1330)

at org.jivesoftware.admin.PluginFilter.doFilter(PluginFilter.java:78)

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1330)

at org.jivesoftware.admin.AuthCheckFilter.doFilter(AuthCheckFilter.java:164)

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1330)

at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:478)

at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)

at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:520)

at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:22 7)

at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:94 1)

at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:409)

at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:186 )

at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:875 )

at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)

at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandler Collection.java:250)

at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.jav a:149)

at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110)

at org.eclipse.jetty.server.Server.handle(Server.java:349)

at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:441)

at org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConne ction.java:919)

at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:582)

at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:218)

at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:51 )

at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.jav a:586)

at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java :44)

at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:598 )

at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:533)

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

Additional info:

I traced the error to the file /openfire/plugins/admin/webapp/WEB-INF/lib/admin-jsp.jar.

The first time I copied it from my backup, it works fine. But the second time I copy it, it doesn’t work.

If I take a fresh copy of OpenFire 3.9.1, and use the file from that package, then it works fine, no matter how many time I copy that file.

I’m thinking it might have been an issue with downgrade from 3.9.3, and that I copied the whole plugin folder from there, and received that file, but it seems strange then that it would work the first time it got copied, but not the second time.

java.lang.NoSuchMethodError: org.jivesoftware.util.JiveGlobals.isPropertyEncrypted(Ljava/lang/String;)Z
Not sure, but maybe you have added or edited some system property after upgrading to 3.9.2/3.9.3? I think property encrypting was introduced in 3.9.2 and 3.9.1 probably can’t understand such entry and throws an exception. As there is a bug which always encrypt new properties even if you chose not, i don’t see another option other than upgrade to 3.9.3, remove the encrypted system property, downgrade to 3.9.1, add the property back. Probably can also be done by directly editing the database, but i’m not good at that.

As you already pointed out, you are using an 3.9.3 admin plugin with the 3.9.1 core.

The plugin tries to access a method, which is not available in 3.9.1.

I don’t why it works the first time, obviously it doesn’t call the method.

Just use the 3.9.1 admin plugin.