Openfire 3.8.1 & Fastpath plugin

Hi

Have fresh installation of Openfire with Fastpath plugin on a development server running Ubuntu 12.10 (64). I installed the fastpath plugin fine. However if I try editing a Workgroup I get a null pointer exception. Also happens when trying to save a new Workgroup upon submit. Im not able to see the edit screen as it rhows said exception.

Exception:

java.lang.NullPointerException     at org.jivesoftware.openfire.plugin.fastpath.workgroup_002dqueues_jsp._jspService(workgroup_002dqueues_jsp.java:466)     at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)     at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)     at org.jivesoftware.openfire.container.PluginServlet.handleJSP(PluginServlet.java:247)     at org.jivesoftware.openfire.container.PluginServlet.service(PluginServlet.java:105)     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.java:1359)     at org.jivesoftware.admin.PluginFilter.doFilter(PluginFilter.java:78)     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1330)     at org.jivesoftware.admin.AuthCheckFilter.doFilter(AuthCheckFilter.java:164)     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1330)     at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)     at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1330)     at org.jivesoftware.util.LocaleFilter.doFilter(LocaleFilter.java:74)     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1330)     at org.jivesoftware.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:50)     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1330)     at org.jivesoftware.admin.PluginFilter.doFilter(PluginFilter.java:78)     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1330)     at org.jivesoftware.admin.AuthCheckFilter.doFilter(AuthCheckFilter.java:164)     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java: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:227)     at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:941)     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(ContextHandlerCollection.java:250)     at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java: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(HttpConnection.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.java: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:722)

Would really like to use the plugin as it does exactly what I would like to do.

Thanks!

Hi,

Curiously I did the same thing today and I’m also getting exceptions when I try to edit the workgroups.

My server is running:

Ubuntu 12.10

Openfire 3.8.1

Thanks for any guidelines as to what might be happening…

I followed the advice here: http://community.igniterealtime.org/message/225293#225293.

Which was basically: (1) Google the latest xstream.jar and copy that over what’s already in /plugins/fastpath/lib/xstream.jar; (2) Delete all the data out of the fp* tables in the openfire SQL directory (don’t drop the tables); (3) Restart the openfire service or server.

I did that on my server (Ubuntu 12.04, Openfire 3.8.1) and that got me around the exact same problem you reported.

You do not need to remove the fastpath data in your database.

Simply remove the fastpath from the plugin web console and re-install it. Your data will not be deleted by deleting the plugin.

Then stop the openfire services and replace the xstream.jar file located in /opt/openfire/plugins/fastpath/lib/ with the newest one and start openfire again.

Link to xstream.jar is http://repo1.maven.org/maven2/com/thoughtworks/xstream/xstream/1.4.2/xstream-1.4 .2.jar

And if i alrdeay emptied all fp* tables. Do i have a problem then?

If its just to update the xstream.jar why isn’t that done for the server pligin repo (e.g http://www.igniterealtime.org/projects/openfire/plugins.jsp )

Why is a non working jar distributed if there is an easy solution?

If you emptied your tables, you will have to reconfigure Fastpath. Not ideal if you have spent time configuring canned messages in multiple workgroups.

No idea on your second question.

I Dowloaded http://www.igniterealtime.org/projects/openfire/plugins/fastpath.jar

removed xstream.jar.pack from it

Downloaded http://repo1.maven.org/maven2/com/thoughtworks/xstream/xstream/1.4.2/xstream-1.4 .2.jar

Renamed it to xstream.jar

Packed it via C:\Programme\Java\jdk1.6.0_33\bin\pack200.exe --no-gzip xstream.jar.pack xstream.jar

…and the result is this.

https://docs.google.com/file/d/0B0qsybbC_kfKakFsU09GMG5OS3c/edit?usp=sharing

I will test the day after tommorrow, but can’t look forward for cummunity feedback. Does this solve the bug now?

jvortega wrote:

You do not need to remove the fastpath data in your database.

As the originator of this advice. Let me clarify further to avoid confusion. If you are creating a fresh install like I did, the failure leaves you with a corrupted database during the creation of the Fastpath bootstrap data and even after you replace the offending jar file, you would need to clean it otherwise Fastpath wont work properly.

If you are upgrading with an existing database, then fastpath does not create the demo user and the database should be ok. You should only need to replace the xstream.jar file.

Will i get new problesm now because i cleaned the tables? Or will its just be reinitalized correctly?

Fastpath Plugin seems to work now, however the Fastpath Webchat no more.

When i clikc on the Tools Join Workgporup Chat button in Plugins admin settings i get this exception:

java.lang.ClassCastException: org.jivesoftware.smack.PacketReader$4 incompatible with com.jivesoftware.smack.workgroup.settings.OfflineSettings at com.jivesoftware.smack.workgroup.user.Workgroup.getOfflineSettings(Unknown Source) at org.jivesoftware.webclient.jsp.email.leave_002da_002dmessage_jsp._jspService(le ave_002da_002dmessage_jsp.java:87) 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 org.jivesoftware.webchat.SetCharacterEncodingFilter.doFilter(SetCharacterEncodi ngFilter.java:45) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1330) at org.jivesoftware.webchat.SetupFilter.doFilter(SetupFilter.java:92) 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:736)

I enterd the Offline settings in admin config for the workgourp and set/saved them , but error persits.

For openfire 3.8.2 this Fatspath Plugins work!

FastPath Plugin

https://docs.google.com/file/d/0B0qsybbC_kfKakFsU09GMG5OS3c/edit?usp=sharing

@wroot PLEASE publish this new fixed artifact on the plugin sites, that this discusting troupbe shooting thread ends! There is a solution for all this problems with latest openfire and still the bugg old plugins are in plugins repository.!

The webchat however does not work, even with this fixed version

FastpathWebchat:

http://community.igniterealtime.org/servlet/JiveServlet/download/2032-44193-2107 94-10686/webchat.war

The problem is wrong namespace for smack classes

java.lang.ClassCastException: org.jivesoftware.smack.PacketReader$4 incompatible with com.jivesoftware.smack.workgroup.settings.OfflineSettings at com.jivesoftware.smack.workgroup.user.Workgroup.getOfflineSettings(Unknown Source) at org.jivesoftware.webclient.jsp.email.leave_002da_002dmessage_jsp._jspService(le ave_002da_002dmessage_jsp.java:87) 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 org.jivesoftware.webchat.SetCharacterEncodingFilter.doFilter(SetCharacterEncodi ngFilter.java:45) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1330) at org.jivesoftware.webchat.SetupFilter.doFilter(SetupFilter.java:92) 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:736)

Nachricht geändert durch Terence

1 Like