• Recent
    • Tags
    • Popular
    • Register
    • Login

    Please Note This forum exists for community support for the Mango product family and the Radix IoT Platform. Although Radix IoT employees participate in this forum from time to time, there is no guarantee of a response to anything posted here, nor can Radix IoT, LLC guarantee the accuracy of any information expressed or conveyed. Specific project questions from customers with active support contracts are asked to send requests to support@radixiot.com.

    Radix IoT Website Mango 3 Documentation Website Mango 4 Documentation Website Mango 5 Documentation Website

    Charts not working after upgrade from core 2.7.10 to 2.7.12

    User help
    2
    9
    2.4k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • P
      Pedro
      last edited by

      It seems that after upgrading Mango from core 2.7.10 to 2.7.12 the pop-up charts stopped working on the Graphical Views and the Watch list points, and also in the Reports. Apparently this also occurred months ago when upgrading to 2.7.10.

      To fix this, I found "Re: Data Point Details No Graph - Unlicensed Module - How to Register License?" and saw that I should use the older version of jfreechart instead of the new version:

      sudo mv -v /opt/mango/lib/jfreechart-1.0.19.jar ~/MangoBackup/jfreechart-1.0.19.jar-from-2.7.12
      sudo cp -pv /opt/mango.2.7.10/lib/jfreechart-1.0.14.jar /opt/mango/lib/
      

      Is this occurring for everyone, or just Linux users? Will this be fixed before the Mango 2.8 release?

      Thanks.

      1 Reply Last reply Reply Quote 0
      • phildunlapP
        phildunlap
        last edited by phildunlap

        Hi Pedro,

        Can you share the error you got? Usually when people had this problem, it was because somehow an overridden Range.class file was in their Mango/classes or Mango/overrides/classes directory, nestled into org/jfree/.

        1 Reply Last reply Reply Quote 0
        • P
          Pedro
          last edited by

          I have fixed the problem, but I did save an error message that was generated when I moused over a SimplePoint chart icon in the Graphical View. It starts with:

          016-09-28 16:58:16,547 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)
          

          I can send the full message via other means so I don't have to edit it for security purposes. Below are the files under the overrides folder:

          $ find /opt/mango/overrides/ -type f
          /opt/mango/overrides/web/favicon.ico
          /opt/mango/overrides/web/MangoDailyScheduled.sh
          /opt/mango/overrides/web/images/favicon.ico
          /opt/mango/overrides/web/images/logo.png
          /opt/mango/overrides/web/images/Tides_icon.png
          /opt/mango/overrides/web/WEB-INF/tags/page.tag
          /opt/mango/overrides/web/WEB-INF/tags/html5/footer.tag
          /opt/mango/overrides/web/WEB-INF/tags/html5/footer.tag-orig
          /opt/mango/overrides/web/WEB-INF/tags/mobile-page.tag
          /opt/mango/overrides/properties/keystore.jks
          /opt/mango/overrides/properties/i18n.properties
          /opt/mango/overrides/properties/env.properties-derby~
          /opt/mango/overrides/properties/env.properties-mysql~
          /opt/mango/overrides/properties/env.properties
          /opt/mango/overrides/properties/env.properties.13Jan2015
          /opt/mango/overrides/classes/log4j.xml
          

          Thanks.

          1 Reply Last reply Reply Quote 0
          • phildunlapP
            phildunlap
            last edited by phildunlap

            It is probably in Mango/classes/org/jfree/data/

            find /path/to/Mango -name '*Range.class'
            
            P 1 Reply Last reply Reply Quote 0
            • P
              Pedro
              last edited by

              $ find /opt/mango -name '*Range.class' | xargs ls -l
              -rw-r--r-- 1 mango mango 4323 Jun 24  2014 /opt/mango/classes/org/jfree/data/Range.class
              
              1 Reply Last reply Reply Quote 0
              • P
                Pedro @phildunlap
                last edited by

                @phildunlap, are you implying there is something I should do with the Range.class file? Since I'm now using /opt/mango.2.7.10/lib/jfreechart-1.0.14.jar instead of jfreechart-1.0.19.jar, will I need to move around the jfreechart file again if I mess with Range.class?

                1 Reply Last reply Reply Quote 0
                • phildunlapP
                  phildunlap
                  last edited by

                  Correct. To make the 1.0.19 jar work you would want to delete that Range.class file, switch the jars back so that .19 is on the classpath and .14 isn't, and then start Mango again.

                  1 Reply Last reply Reply Quote 0
                  • P
                    Pedro
                    last edited by

                    Since it's a linux system, can I delete the Range.class file and swap the jfreechart files while Mango is running, and then restart Mango later when a restart will be less disruptive, or must I do the file manipulation while Mango is shut down?

                    1 Reply Last reply Reply Quote 0
                    • phildunlapP
                      phildunlap
                      last edited by

                      You may get truncated class or class not found exceptions after you've manipulated the files without restarting. Neither is fatal. But, you don't really save yourself a lot of effort by running three bash commands sooner than whenever you're going to restart.

                      1 Reply Last reply Reply Quote 0
                      • First post
                        Last post