Unable to add rule

When trying to add a rule, nothing happens. In the server log I see these errors:

2014.01.20 10:35:39 org.jivesoftware.openfire.plugin.rules.DbRuleManager - Attempt to insert null into a non-nullable column: column: ID table: OFPFRULES in statement [INSERT INTO ofPfRules(ruleorder,type,tojid,fromjid,rulef,disabled,log,description,sourcetype,desttype) VALUES(?,?,?,?,?,?,?,?,?,?)] java.sql.SQLException: Attempt to insert null into a non-nullable column: column: ID table: OFPFRULES in statement [INSERT INTO ofPfRules(ruleorder,type,tojid,fromjid,rulef,disabled,log,description,sourcetype,desttype) VALUES(?,?,?,?,?,?,?,?,?,?)] at org.hsqldb.jdbc.Util.throwError(Unknown Source) at org.hsqldb.jdbc.jdbcPreparedStatement.execute(Unknown Source) at sun.reflect.GeneratedMethodAccessor23.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.logicalcobwebs.proxool.ProxyStatement.invoke(ProxyStatement.java:100) at org.logicalcobwebs.proxool.ProxyStatement.intercept(ProxyStatement.java:57) at $java.sql.PreparedStatement$$EnhancerByProxool$$798c5b02.execute(<generated>) at org.jivesoftware.openfire.plugin.rules.DbRuleManager.addRule(DbRuleManager.java:247) at org.jivesoftware.openfire.plugin.rules.DbRuleManager.addRule(DbRuleManager.java:210) at org.jivesoftware.openfire.plugin.rules.RuleManagerProxy.addRule(RuleManagerProxy.java:27) at org.jivesoftware.openfire.plugin.packetFilter.rule_002dform_jsp._jspService(rule_002dform_jsp.java:192) 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(Unknown Source)

Apparently nobody else is experiencing this issue?

I upgraded to the latest OpenFire today, hoping it would work now, but still the same error.

What OS and what database? Works fine for me on Windows with the embedded database.

  • CentOS release 6.5 (2.6.32-358.18.1.el6.x86_64)

  • HSQL Database Engine 1.8.0

  • 1.7.0_51 Oracle Corporation – Java HotSpot™ Server VM

Also, today I updated the plugin to the latest version too, hoping it would have something to do with the post here

However now the plugin won’t load at all:

2014.02.11 09:03:57 org.jivesoftware.openfire.container.PluginManager - Error loading plugin: /opt/openfire/plugins/search

java.lang.ClassNotFoundException: org.jivesoftware.openfire.plugin.SearchPlugin

at java.net.URLClassLoader$1.run(Unknown Source)

at java.net.URLClassLoader$1.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at org.jivesoftware.openfire.container.PluginManager.loadPlugin(PluginManager.java :420)

at org.jivesoftware.openfire.container.PluginManager.access$300(PluginManager.java :80)

at org.jivesoftware.openfire.container.PluginManager$PluginMonitor.run(PluginManag er.java:1073)

at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

at java.util.concurrent.FutureTask.runAndReset(Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301 (Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknow n Source)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

e.

The error is related to the search plugin though. What if you try deleting it? Stop the server and delete search jar and folder from /openfire/plugins. I’m guessing. Maybe it is related to the recent issue with plugins build and pack200. Though it looks it affect only CentOS users… I have updated Openfire to 3.9.1 and some plugins on Arch linux today and have no such issues.

Thank you for your suggestion. I have removed the plugin files and re-installed them through the interface, that didn’t work.

I also disabled all other plugins. I receive this error now:

2014.02.11 21:54:48 org.jivesoftware.openfire.container.PluginManager - Error loading plugin: /opt/openfire/plugins/packetfilter java.lang.ClassNotFoundException: org.jivesoftware.openfire.plugin.PacketFilterPlugin at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at org.jivesoftware.openfire.container.PluginManager.loadPlugin(PluginManager.java:420) at org.jivesoftware.openfire.container.PluginManager.access$300(PluginManager.java:80) at org.jivesoftware.openfire.container.PluginManager$PluginMonitor.run(PluginManager.java:1073) at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.util.concurrent.FutureTask.runAndReset(Unknown Source) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(Unknown Source) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) 2014.02.11 21:55:08 org.jivesoftware.openfire.container.PluginManager - Error loading plugin: /opt/openfire/plugins/packetfilter java.lang.ClassNotFoundException: org.jivesoftware.openfire.plugin.PacketFilterPlugin at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at org.jivesoftware.openfire.container.PluginManager.loadPlugin(PluginManager.java:420) at org.jivesoftware.openfire.container.PluginManager.access$300(PluginManager.java:80) at org.jivesoftware.openfire.container.PluginManager$PluginMonitor.run(PluginManager.java:1073) at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.util.concurrent.FutureTask.runAndReset(Unknown Source) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(Unknown Source) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)

What if you try plugin file from here? http://bamboo.igniterealtime.org/browse/OPENFIRE-NIGHTLYPLUGINS-1109/artifact/sh ared/Project-Plugins/ Just remove old one and the folder and then drop new one into plugins folder. Though this version should already be available via Admin Console.

Nope: downloaded the jar file using wget to the plugins folder, chmodded it to 777 to make sure, still ClassNotFoundException.

Did you ever find out why this is happening?

I was running an older version of openfire (3.7 i think) - recently upgraded to 3.9…and was just informed that a group that had been blocked from sending messages is able to send messages again. Checking out the packet filter rules, I noticed the old ones were missing. So I went to create a new one and it isn’t saving.

I’m running Ubuntu 12.04 and openfire 3.9, with packet filter version 3.2 - and here is what is happening:

2014.05.19 13:33:09 org.jivesoftware.openfire.plugin.rules.DbRuleManager - Attempt to insert null into a non-nullable column: column: ID table: OFPFRULES in statement [INSERT INTO ofPfRules(ruleorder,type,tojid,fromjid,rulef,disabled,log,description,sourcetyp e,desttype) VALUES(?,?,?,?,?,?,?,?,?,?)]

java.sql.SQLException: Attempt to insert null into a non-nullable column: column: ID table: OFPFRULES in statement [INSERT INTO ofPfRules(ruleorder,type,tojid,fromjid,rulef,disabled,log,description,sourcetyp e,desttype) VALUES(?,?,?,?,?,?,?,?,?,?)]

Nope, never found out… I gave up on it