• O
    ordosays

    sorry to have left out some details. The mango instances have always been updated to current (in light of the chrome browser update screwing up parts of the data source interface, this is pretty much compulsory to use Mango).

    for the majority of my sensors, a good deal of filtering is done at the sensor itself or at the PAC so logging on change isn't as crazy at it sounds. I'm probably only logging once every few minutes and then if process is stable for a long period of time, the log on interval serves to clean that up so when I zoom in on my charts, it's not all wonky. Exactly when the process starts moving is important because it may (and does) correlate to input changes in the control programs or feeds.

    Yeah, there must be something up with the way this is being run on the Pi. On the i5 system (hackintosh running mac os 10.12 - same java version as the pi) I'm seeing the memory top out around 350MB and the processor sitting around 1-3%.

    The Pi is running headless but with the desktop and all the trimmings installed. Honestly, the memory allocated to the GUI, which I can just kill off, is minimal. I mean, as soon as I run another program like a web browser, that goes out the window, but I'm not.

    I stopped using the Pi for now but will post an error log from status.shtm when it dies again (if I can, it gets kinda unresponsive). If you have any configuration pointers, I'd love to know them.

    posted in Hardware read more
  • O
    ordosays

    @jared-wiltshire I tried everything from 300 to 2000 (with my big ass swap disk) for -Xmx and -Xms.

    As for the error:

    Java HotSpot(TM) Server VM warning: Exception java.lang.OutOfMemoryError occurred dispatching signal SIGTERM to handler- the VM may need to be forcibly terminated
    

    posted in Hardware read more
  • O
    ordosays

    some details I left out:

    the data points were "rolled up" using their average.

    No more than 5 hour of points was viewed at a time and always with a "roll up"

    polling was of a single modbus TCP/IP source

    polling occurred over ethernet

    data was set to be recorded for every change AND at an interval

    data source was polled 1 times per second

    there is only one other modbus device on that subnet. No bandwidth constraints

    The i5 system is totally fine with the above, even when I hobble it.

    PS, markup sucks. I've been trying to turn this into a semantic list for about 3 minutes.

    posted in Hardware read more
  • O
    ordosays

    TL;DR - is a RPI 3B (64bit processor at 1.2 ghz, ~950mb of ram) capable of running Mango successfully with the data rate that I need?

    Hey all, I just wanted to give my perspective on the use of a Raspberry Pi 3B and my attempts to use it as a light weight, low power, all ways on SCADA. I tried out Mango about 4 years ago and was hoping to use it to form the base of a new supervisory system for a couple of distilleries.

    First of all let my preface this by saying that this SCADA platform would be very very minimal in terms of C. All controls are handled by embedded PLC's and PACs and this was to be almost exclusively for Data acquisition and visualization. One of the distilleries is running experiments and being able to view 15-20 temperature sensors at a given time and have them graphing every 1-5 seconds is imperative.

    I originally had some issues with installing Mango that was largely unrelated to the RPI so I'll not go into them other than TL; DR - it's possible to have an imported user profile get messed up. Delete it an make a new user.

    Installation went fine. About 40 points were loaded (about 300 eventually) and at most 21 are viewed at a given time. For my tests I didn't bother making custom pages, just stuck with the watch lists. After running from anywhere from 10 minutes to 10 hours, the memory usage of Mango would rise to a terminal level and I'd have to kill process because commands would no longer work.

    The next fix was to move the Mango install off of the memory card and onto an external USB drive. This went fine and re-importing all the points went just fine, but the same memory error persisted (not all that surprisingly). I enabled memory_small.sh and set the java memory a couple of ways. I even moved all of the RPI's physical memory that was devoted to the GPU over.

    The result was the same, the memory usage start spiking, CPU hits 100% and then I have to kill the process. Next attempt at a fix was to make a nice big, juicy swap disk but that didn't do anything either.

    I'm not a java expert but I'm really surprised to see how much this spikes considering that visualization should be happening client side. All administration of this board is being done remotely via SSH and VNC with Mango being viewed on intranet and externally via VPN. Network connections aren't factors here.

    So here's my question - is a RPI 3B (64bit processor at 1.2 ghz, ~950mb of ram) capable of running Mango successfully with the data rate that I need. Right now my answerer seems to be no, but maybe someone else see's a glaring hole in my process or has been successful with this board.

    Also, running the exact same points on a core i5 with 8gb of ram and an SSD (yes I know, a gun to a knife fight) does not even remotely replicate the issues above. The idea of having to run a relatively high powered box 24/7 kinda defeats the purpose.

    posted in Hardware read more
  • O
    ordosays

    Here for the same problem.

    EDIT - the update seems to have fixed it. Now to the next issue. Memory leak/cpu usage.

    posted in User help read more
  • O
    ordosays

    This issue has been "fixed". Quotes because I don't know why it exists. I noticed that the error was not duplicated in my root/admin account and experimented with deleting the offending user account and creating it fresh. This worked fine. I haven't tried this yet, but I'm worried that if I exported the users and imported them again, the error will re-emerge. So, the work around is to just manually re-input your users BUT if was to have dozens of users this would be impractical.

    posted in User help read more
  • O
    ordosays

    I am not using the no Sql Database, I didn't see the need.

    This is the free version of mango. I've used it in the past years back when it was m2m and was re-assessing it for the possibility of a brewery/distillery SCADA system for a couple of breweries. I remember it being pretty stable as long as you had enough memory on the board.

    The only thing I changed in the env.properties was the access port (8080 to 80) but that seems unrelated since the error occurs on either port. The changes were done in an override, not to the original file.

    posted in User help read more
  • O
    ordosays

    I did an experiment today. I dumped the full install of mango and rebuilt it from scratch. No imported settings, nothing. Made a new data source, it charted like a pro in the watch list. Post restart, same issue, same errors. The machine is a raspi running raspian that I'm administering over ssh. I'm honestly not sure what I'm doing wrong.

    posted in User help read more
  • O
    ordosays

    I made sure to update all modules as soon as this started happening. no effect. Looking at the log, the only non-modbus error I'm seeing is this.

    WARN  2018-05-17T06:38:35,788 (com.serotonin.m2m2.web.mvc.spring.security.MangoAccessDeniedHandler.handle:54) - Denying access to Mango resource / to IP 192.144.157.149 
    org.springframework.security.web.csrf.MissingCsrfTokenException: Could not verify the provided CSRF token because your session was not found.
    	at org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:114) [spring-security-web-4.2.5.RELEASE.jar:4.2.5.RELEASE]
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.16.RELEASE.jar:4.3.16.RELEASE]
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) [spring-security-web-4.2.5.RELEASE.jar:4.2.5.RELEASE]
    	at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:66) [spring-security-web-4.2.5.RELEASE.jar:4.2.5.RELEASE]
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.16.RELEASE.jar:4.3.16.RELEASE]
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) [spring-security-web-4.2.5.RELEASE.jar:4.2.5.RELEASE]
    	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105) [spring-security-web-4.2.5.RELEASE.jar:4.2.5.RELEASE]
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) [spring-security-web-4.2.5.RELEASE.jar:4.2.5.RELEASE]
    	at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56) [spring-security-web-4.2.5.RELEASE.jar:4.2.5.RELEASE]
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.16.RELEASE.jar:4.3.16.RELEASE]
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) [spring-security-web-4.2.5.RELEASE.jar:4.2.5.RELEASE]
    	at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:214) [spring-security-web-4.2.5.RELEASE.jar:4.2.5.RELEASE]
    	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:177) [spring-security-web-4.2.5.RELEASE.jar:4.2.5.RELEASE]
    	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:347) [spring-web-4.3.16.RELEASE.jar:4.3.16.RELEASE]
    	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:263) [spring-web-4.3.16.RELEASE.jar:4.3.16.RELEASE]
    	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1751) [jetty-servlet-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:582) [jetty-servlet-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) [jetty-server-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) [jetty-security-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226) [jetty-server-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180) [jetty-server-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512) [jetty-servlet-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) [jetty-server-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112) [jetty-server-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) [jetty-server-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213) [jetty-server-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:426) [jetty-server-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134) [jetty-server-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at org.eclipse.jetty.server.Server.handle(Server.java:539) [jetty-server-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333) [jetty-server-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251) [jetty-server-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283) [jetty-io-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108) [jetty-io-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93) [jetty-io-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303) [jetty-util-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148) [jetty-util-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136) [jetty-util-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671) [jetty-util-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589) [jetty-util-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at java.lang.Thread.run(Thread.java:745) [?:1.8.0_65]
    WARN  2018-05-17T06:38:37,841 (com.serotonin.m2m2.web.mvc.spring.security.MangoAccessDeniedHandler.handle:54) - Denying access to Mango resource /wls-wsat/CoordinatorPortType to IP 192.144.157.149 
    org.springframework.security.web.csrf.MissingCsrfTokenException: Could not verify the provided CSRF token because your session was not found.
    	at org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:114) [spring-security-web-4.2.5.RELEASE.jar:4.2.5.RELEASE]
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.16.RELEASE.jar:4.3.16.RELEASE]
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) [spring-security-web-4.2.5.RELEASE.jar:4.2.5.RELEASE]
    	at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:66) [spring-security-web-4.2.5.RELEASE.jar:4.2.5.RELEASE]
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.16.RELEASE.jar:4.3.16.RELEASE]
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) [spring-security-web-4.2.5.RELEASE.jar:4.2.5.RELEASE]
    	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105) [spring-security-web-4.2.5.RELEASE.jar:4.2.5.RELEASE]
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) [spring-security-web-4.2.5.RELEASE.jar:4.2.5.RELEASE]
    	at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56) [spring-security-web-4.2.5.RELEASE.jar:4.2.5.RELEASE]
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.16.RELEASE.jar:4.3.16.RELEASE]
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) [spring-security-web-4.2.5.RELEASE.jar:4.2.5.RELEASE]
    	at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:214) [spring-security-web-4.2.5.RELEASE.jar:4.2.5.RELEASE]
    	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:177) [spring-security-web-4.2.5.RELEASE.jar:4.2.5.RELEASE]
    	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:347) [spring-web-4.3.16.RELEASE.jar:4.3.16.RELEASE]
    	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:263) [spring-web-4.3.16.RELEASE.jar:4.3.16.RELEASE]
    	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1751) [jetty-servlet-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:582) [jetty-servlet-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) [jetty-server-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) [jetty-security-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226) [jetty-server-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180) [jetty-server-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512) [jetty-servlet-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) [jetty-server-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112) [jetty-server-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) [jetty-server-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213) [jetty-server-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:493) [jetty-server-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134) [jetty-server-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at org.eclipse.jetty.server.Server.handle(Server.java:539) [jetty-server-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333) [jetty-server-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251) [jetty-server-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283) [jetty-io-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108) [jetty-io-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93) [jetty-io-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303) [jetty-util-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148) [jetty-util-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136) [jetty-util-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671) [jetty-util-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589) [jetty-util-9.3.23.v20180228.jar:9.3.23.v20180228]
    	at java.lang.Thread.run(Thread.java:745) [?:1.8.0_65]
    

    posted in User help read more
  • O
    ordosays

    I deleted the data sources and re-entered the data sources and a few test points and the error persists.

    posted in User help read more