java.lang.NoSuchMethodError: setMediumPriorityServiceMaximumPoolSize(I)V
-
My metadata points stop updating at random times. Joel thinks it may be due to Medium priority pool not being large enough.
According to /system_settings.shtm [Thread pools] section:
Medium priority core pool size = 3When I try to increase the pool size, even to "4" I get an error. I deleted the work folder and refreshed the browser, but it did not help. The error is pasted below. How should I proceed?
2016-02-15 17:51:55,157 ERROR (com.serotonin.m2m2.web.dwr.util.ExceptionDetectionFilter.doFilter:38) - DWR invocation exception java.lang.NoSuchMethodError: com.serotonin.m2m2.rt.maint.BackgroundProcessing.setMediumPriorityServiceMaximumPoolSize(I)V at com.serotonin.m2m2.web.dwr.SystemSettingsDwr.saveThreadPoolSettings(SystemSettingsDwr.java:360) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.directwebremoting.impl.ExecuteAjaxFilter.doFilter(ExecuteAjaxFilter.java:34) at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.java:428) at com.serotonin.m2m2.web.dwr.util.TranslationsFilter.doFilter(TranslationsFilter.java:37) at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.java:428) at com.serotonin.m2m2.web.dwr.util.ExceptionDetectionFilter.doFilter(ExceptionDetectionFilter.java:26) at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.java:428) at com.serotonin.m2m2.web.dwr.util.DwrPermissionFilter.doFilter(DwrPermissionFilter.java:45) at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.java:428) at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:431) at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:283) at org.directwebremoting.servlet.PlainCallHandler.handle(PlainCallHandler.java:52) at org.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:101) at org.directwebremoting.servlet.DwrServlet.doPost(DwrServlet.java:146) at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:808) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669) at org.eclipse.jetty.servlets.UserAgentFilter.doFilter(UserAgentFilter.java:83) at org.eclipse.jetty.servlets.GzipFilter.doFilter(GzipFilter.java:300) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) at org.eclipse.jetty.server.Server.handle(Server.java:499) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257) at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) at java.lang.Thread.run(Thread.java:745)
-
Hi Pedro,
I have spoken to you on the phone about things including this issue, but I'll try to provide an answer here as well.
I do not know where you could have gotten that error. My theories are,
- duplicate ma-core-[version].jar in your mango/lib directory.
- overridden classes in your mango/overrides/classes/ directory.
If you have duplicate jars, you can remove the jar with the oldest version number. If you have overridden classes these are not supported in the upgrade process. They are simply ignored, and then continue to override the class regardless of if the attributes of the official class have changed.
Fixing either of these would require Mango to be restarted after the action was taken on the filesystem.
-
Thanks for your reply, Phil. I have only one ma-core*.jar in my /lib directory:
-rw-r--r-- 1 root root 1440105 Dec 23 00:35 /opt/mango/lib/ma-core-2.7.2.jar
The modules pager reports "core 2.7.2 build 465"
As far as I understand, it is a 2.7.3 build.I have only two overrides in classes:
$ find /opt/mango/overrides/classes/ -type f
/opt/mango/overrides/classes/com/serotonin/m2m2/web/dwr/beans/RecipientListEntryBean.class
/opt/mango/overrides/classes/log4j.xmlI'll just wait for the next release.
-
Is there a chance you have some class or jar files in your mango/overrides/lib directory?
Next release is still looking on track for early next week. Stay tuned.
-
No, I don't have a mango/overrides/lib directory. I'm looking forward to the next release.