Data Point Details No Graph - Unlicensed Module - How to Register License?
-
That is great news Phil,
I am sure we all fully understand how that could happen.
Thanks for your efforts finding the solution.
Cheers
Brian
-
There are new versions of the dashboards module and dataPointDetailsView modules. Be sure to check out the custom dashboards page (bar chart icon) to see the new possibilities to use Angular with Mango.
-
The issue has been resolved. Thanks Phil.
-
Ever since I upgraded to core 2.7.10 none of the charts work on any of the pages I've tested:
- data_point_details.shtm
- point_details.shtm
- watch_list.shtm
- graphical views.shtm
I cleared the cache on both Firefox 45 and Chromium 48. The module versions in ma.log match the modules page, namely:
Loading module 'graphicalViews', v1.6.5 Loading module 'dataPointDetailsView', v1.0.5 Loading module 'watchlists', v1.7.4 Loading module 'dashboards', v1.1.3 Loading module 'mangoApi', v1.1.5
Typical ma.log entry:
ERROR (org.apache.taglibs.log.LoggerTag.doStartTag:97) - java.lang.NoSuchMethodError: org.jfree.data.Range.combineIgnoringNaN(Lorg/jfree/data/Range;Lorg/jfree/data/Range;)Lorg/jfree/data/Range; at org.jfree.data.time.TimeSeriesCollection.getRangeBounds(TimeSeriesCollection.java:742) at org.jfree.data.general.DatasetUtilities.findRangeBounds(DatasetUtilities.java:898) at org.jfree.chart.renderer.xy.AbstractXYItemRenderer.findRangeBounds(AbstractXYItemRenderer.java:785) at org.jfree.chart.renderer.xy.AbstractXYItemRenderer.findRangeBounds(AbstractXYItemRenderer.java:739) at org.jfree.chart.plot.XYPlot.getDataRange(XYPlot.java:4471) at org.jfree.chart.axis.NumberAxis.autoAdjustRange(NumberAxis.java:433) at org.jfree.chart.axis.NumberAxis.configure(NumberAxis.java:415) at org.jfree.chart.plot.XYPlot.configureRangeAxes(XYPlot.java:1257) at org.jfree.chart.plot.XYPlot.datasetChanged(XYPlot.java:4540) at org.jfree.chart.plot.XYPlot.setDataset(XYPlot.java:1396) at com.serotonin.m2m2.util.chart.ImageChartUtils.writeChart(ImageChartUtils.java:110) at com.serotonin.m2m2.util.chart.ImageChartUtils.getChartData(ImageChartUtils.java:63) at com.serotonin.m2m2.util.chart.ImageChartUtils.getChartData(ImageChartUtils.java:55) at com.serotonin.m2m2.web.servlet.ImageChartServlet.getImageData(ImageChartServlet.java:229) at com.serotonin.m2m2.web.servlet.ImageChartServlet.doGet(ImageChartServlet.java:69) at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) 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 com.serotonin.m2m2.web.filter.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:63) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.eclipse.jetty.servlets.UserAgentFilter.doFilter(UserAgentFilter.java:83) at org.eclipse.jetty.servlets.GzipFilter.doFilter(GzipFilter.java:364) 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,
Someone else had a similar issue. They resolved it by moving back to the 1.0.14 jar for jfree chart. Does this resolve your issue?
-
How exactly do I move back to jfree chart?
And are you implying that some people don't have this issue? -
I don't have this issue, for instance. I haven't cornered this bug to investigate it, only vicariously.
That client reported they had definitely not overridden classes and that swapping the old JAR in fixed their issue. I will email you a copy, Pedro.
You would remove the 1.0.19 JAR from Mango/lib and place the 1.0.14 JAR in its place.
-
Thanks. I saved mango/lib/jfreechart-1.0.14.jar and moved jfreechart-1.0.19.jar to another directory, then restarted Mango. Now the charts are working again. Let me know if you need more information from my ma.log file.
In case it's relevant, I only tested this on Linux browsers, and the Mango server is Ubuntu.
-
Thanks for the update Pedro, glad that resolved it!
If you can check your ma.log and you feel there is something relevant, I would certainly appreciate seeing it. I think that stack trace is the same as the other I saw, and it is bizarre because that method really appears to exist in the class signature. I wonder what version of Java you're using. Perhaps it could also be useful if you wanted to respond to the email I sent you my .14 jar with your .19 (renamed so as to avoid getting bounced by email filters).
-
Phillip, thanks for addressing this problem. I sent an email with a more detailed error log. I just remembered that I had not deleted the mango/work directory after updating. Is this done by the built-in upgrade process, or do I still have to delete it manually? It makes sense to add it to the update function. I wonder if that would cause this problem. If so, that may explain why not everyone received that error.
-
It is done by the built-in process, done in the upgrade shell script. Also, that doesn't feel to me like an error that would be caused by a stale JSP. Jfree charts renders everything on the server and returns only an image, and look how nestled the call stack is into the JFree code. I don't rule it out, though.